Пользователей: 0
Гостей: 271
Всего: 271

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное






Форумы > Специализированные > Hard & Soft > Программирование на C# (C Sharp)

Страница 9 из 9Первая«6789
Быстрый переход:


 

Автор Сообщение
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
03-05-2010 15:36 GMT3 часа #1240069   Split
Futura
Ты о чем?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

03-05-2010 15:44 GMT3 часа #1240078   Split
erlik
Я имею ввиду, в VCE изменить сочетание клавиш Ctrl+K+C на более привычное Ctrl+Q. Возможно?


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
03-05-2010 16:05 GMT3 часа #1240086   Split
Futura
тогда у меня вопрос- а что делает это сочетание Ctrl+K+C ? Ни разу не пользовался.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

03-05-2010 16:16 GMT3 часа #1240088   Split
erlik
Я и говорю - закомментаривание А раскомментаривать через Ctrl+K+U, но согласись, удобнее было бы как в Scite, через Ctrl+Q оба действия выполнять
А всё, нашёл.

Сообщение было успешно отредактировано Futura (03-05-2010 16:16 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
05-05-2010 02:28 GMT3 часа #1240090   Split
вообще там что то есть для введения своих сочетаний клавиш в меню сервис - параметры

добавлено спустя 4 минут

а так я вручную делаю. И вообще можно ничего не закомментаривать - имею ввиду если нужен вызов конкретной функции. У меня в тестовом файле около 10 тыщ строк с сотней функций. Но каждую функцию я могу запустить в нужный момент вызвав ее через экземпляр класса в методе Main() .


Ковырылся в Регулярных выражениях (неплохая тема для тренировки) - и сделал такой вот поисковик слов в тексте.
Может кому интересно будет.

Код:
using System.Text.RegularExpressions;
using System.Collections.Generic;

public struct FindWords
{
      private static string[] _lines;
      private static List<FindWords> words;
      public int position;
      public int number;
      public static Regex _pattern;
      public static Match math;

    public static List<FindWords> Find(string pattern, string[] lines, out int numstring, bool flag)
    {
        // если флаг выставлен в true ищем точное соответствие шаблону - но без учета регистра
        if (flag == true)
        {
            _pattern = new Regex("(?<!\\w)" + pattern + "[\\s|\\p{P}]", RegexOptions.IgnoreCase);
        }
        // иначе  -с учетом регистра
        else
        {
            _pattern = new Regex("(?<!\\w)" + pattern + "[\\s|\\p{P}]");
        }
       
        _lines = lines;
        numstring = 0;
        words = new List<FindWords> { };
       
        for (int i = 0; i < lines.Length; i++)
        {
            if (lines[i] != String.Empty) // исключаем из проверки пустые строки
            {
                // выведем все строки для наглядности
                Console.WriteLine("[{0}] {1}", i, lines[i]);
                // сохраняем совпадения
                math = _pattern.Match(lines[i]);
                // крутим цикл пока есть совпадения
                while(math.Success)
                {
                  // записываем номер строки и позицию находки в массив
                 words.Add(new FindWords {number = i, position = math.Index });
                 math = math.NextMatch(); // обновляем позицию поиска в строке
                }
               numstring++; // считаем строки в файле
            }
           
        }
        return words; // возвращаем массив данных\ если совпадений не было - то пустой.
    }
}
   

   class Program
{
    public static void Main()       
   { 
         
     // поиск вхождений заданного слова в текст из считанного файла
            string []text = File.ReadAllLines(@"D:\text.txt", Encoding.Default); // считываем содержимое  файла  в  массив строк
            // вводим слово для поиска
            Console.WriteLine("Введите слово для поиска:");
           // считываем слово из консоли
            string slovo = Console.ReadLine();


          int num;  // сюда  запишется возращенная из метода out переменная - со значением числа строк
         // вызываем метод  и пишем результат в наш массив с нетипизированными данными
           List<FindWords> words = FindWords.Find(slovo, text, out num, true);
       
// итерируем результаты
        foreach (var de in words)
           {
            Console.WriteLine("Слово найдено в строке номер [{0}]    индекс вхождения в строку [{1}]", de.number, de.position);
           }
           Console.WriteLine("Число строк: {0}", num);
    }
}

Сообщение было успешно отредактировано erlik (05-05-2010 02:28 GMT3 часа, назад)

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
05-05-2010 12:38 GMT3 часа #1241203   Split
Futura К сведению. Не обязательно использовать именно сочетания клавиш. Имеется более удобный способ. А точнее пара кнопок на панели инструментов (закомментировать/раскомментировать текущее выделение). Почитай всплывающие подсказки.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Максим Р.
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1026
Откуда:
Занятие:
Возраст:

18-11-2010 02:57 GMT3 часа #1383677   Split
В чём разница в преобразовании из int в string в данном коде:

Код:
int i = 1;

//так
label1.Text = i.ToString();

//или так
label2.Text = Convert.ToString(i);


И какой вариант для какого случая лучше использовать?



Cos, понятно, спасибо.

Сообщение было успешно отредактировано Максим Р. (18-11-2010 02:57 GMT3 часа, назад)

Cos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 2692
Откуда:
Занятие:
Возраст:

16-11-2010 02:28 GMT3 часа #1383783   Split
Максим Р.

Вся правда как всегда в help'е:

ValueType
Convert

Не буду утверждать на 100%, но мне думается (следуя здравой логике и документации) для данной задачи оба метода - эквиваленты. Первый более читабелен и лучше отвечает парадигме ООП, второй выглядит скорее как эквивалент функциональному подходу к программированию.

Сообщение было успешно отредактировано Cos (16-11-2010 02:28 GMT3 часа, назад)

Максим Р.
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1026
Откуда:
Занятие:
Возраст:

21-04-2011 23:50 GMT3 часа #1471201   Split
Здравствуйте. Не подскажите, есть ли в бесплатной версии Microsoft Visual C# 2010, экспресс-выпуск ограничение на количество элементов управления на панели (компонент Panel) или вообще на форме в целом? Просто динамически создаю массив TextBox'ов и Label'ов, заполняю их TextBox'ами и Label'ами соответственно. И при большом количестве программа просто виснет (Винда завершает сама, как не отвечающее приложение) или если переписать код с использованием конструкции try-catch, то просто добавляются не все TextBox'ы и Label'ы. Примерно вычислил, что TextBox'ов добавляется чуть больше 4000, а Label'ов в районе 1000.

При этом ОЗУ используется где-то на 20%, а загрузка ЦП не превышает 13%.

Проблема, скорее всего, именно с добавлением - Controls.Add().


Cos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 2692
Откуда:
Занятие:
Возраст:

22-04-2011 00:31 GMT3 часа #1471216   Split
Максим Р.
Если подобное ограничение и существует, оно явно не официальное. По-своему же опыту не скажу, ибо ни разу не сталкивался с необходимостью 4000 TextBox'ов... (Секретная разработка GUI для гигантских экранов?)

Цитата
если переписать код с использованием конструкции try-catch, то просто добавляются не все TextBox'ы и Label'ы.

Ну так поймай в catch'е выкинутое системой исключение и посмотри что за ошибка.


Максим Р.
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1026
Откуда:
Занятие:
Возраст:

22-04-2011 02:14 GMT3 часа #1471226   Split
Цитата
# Cos :
Секретная разработка GUI для гигантских экранов?


Да не
Делал программку для выполнения действий над матрицами любой размерности. Вместо DataGrid, решил сделать через массив TextBox'ов. Каждый TextBox - отдельный элемент матрицы. Так вот матрицу 100х100 он уже не может вывести.

А с try-catch вообще какие-то странности творятся... Он исключения обрабатывает, но при этом сообщение об ошибке не выводит, хотя сделал вывод через MessageBox.Show():
try
{
...//код
}
catch (Exception ex)
{
MessageBox.Show("Произошла ошибка!\nСообщение: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}

В общем, сейчас через отладку обнаружил, что он создаёт добавляет на панель 7944-ый TextBox и после этого валится при создании добавлении 1986-го Label'а. Пишет: "Ошибка при создании дескриптора окна".



Сейчас написал небольшое приложение для теста. Создал в нём массив из 10000 TextBox'ов. И стал добавлять их на панель. 9975 добавляет нормально, а при добавлении 9976-го валится с ошибкой выше.



Похоже всё таки есть какое-то ограничение на общее количество элементов управления. Добавил на форму один Label, и теперь добавляются только 9974 TextBox'а.

Сообщение было успешно отредактировано Максим Р. (22-04-2011 02:14 GMT3 часа, назад)

LOG2N
[10] Житель
Онлайн статус=0  Профиль    



Knee-deep in da dead

Посты: 3894
Откуда: Київ
Занятие: погромист на ява
Возраст: 26

23-03-2017 01:51 GMT3 часа #1708222   Split
Java лучше патамушто она кросплатформенная!





Форумы > Специализированные > Hard & Soft > Программирование на C# (C Sharp)

Страница 9 из 9Первая«6789





???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»