C#, .NET, начинающим и не только's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 13 most recent journal entries recorded in C#, .NET, начинающим и не только's LiveJournal:

    Sunday, November 23rd, 2025
    9:21 pm
    [hex_laden]
    Меню сообщества
    Лого
    ПравилаКак сделатьFAQБиблиотекаФлуд
    7:13 pm
    [hex_laden]
    Правила сообщества
    0.Сообщество предназначено
    0. Обмена различной информацией по данному языку программирования и смежным областям. Это может быть – литература, исходные коды программ и учебных примеров, лекции, статьи, описания процесса разработки программ и прочее.
    1. Для помощи новичкам в изучении языка программирования C# и технологии .NET Framework
    1.В сообществе разрешается.
    0. Размещать исходные коды программ, ссылки на литературу, другие тематические материалы. Пожалуйста, не забывайте указывать источник и / или автора материала, если материал не Ваш лично.
    1. Задавать и отвечать на вопросы касающиеся темы сообщества. Для вопросов предусмотрен специальный пост «Как сделать». Задать интересующий вопрос можно в комментариях. Перед тем, как задать вопрос, пожалуйста, обратитесь к FAQ.
    2. Конструктивно критиковать опубликованные материалы, указывать на ошибки в программном коде, предлагать оптимальные решения задач.
    3. Предлагать свои идеи для улучшения сообщества, и всячески способствовать его улучшению.
    4. Распространять материалы сообщества с сохранением информации об авторе материала и, желательно, со ссылкой на соответствующий пост в сообществе.
    5. Флудить и оффтопить, но только в соответствующем месте – в комментариях под постом для флуда.
    2.В сообществе запрещается:
    0. Пустая, неконструктивная критика.
    1. Личные оскорбления в адрес участников сообщества, смотрителя, администрации lj.rossia.org
    2. Флуд в неустановленном для этого месте.
    3. Спам и размещение рекламных материалов.
    4. Оффтоп
    5. Запрещены темы наподобие C# vs FoxPro, если целью создания такой темы является разжигание бессмысленного спора.
    6. Спорить с администрацией сообщества.
    3. Диклэймер об отсутствии демократии в сообществе
    0. Администрация сообщества всегда права.
    1. Если Вы считаете, что администрация не права, см. пункт 0
    4. Копирастическим борцунам от издательского дела.
    В связи с тем, что литература расположена на внешних ресурсах, к администрации сообщества у вас вопросов быть не должно. Если они все-таки возникнут, то прошу следовать по данной ссылке.
    5.Как желательно оформлять посты с описанием литературы.
    0. В заголовке поста должно быть указано название книги и ее автор(ы), например «C# для «чайников», Иванов И.И., Петров П.П.»
    1. Сам пост должен содержать краткую аннотацию к книге
    2. Далее, под катом, желательно разместить содержание (оглавление) книги.
    3. Закрыть кат.
    4. Указать ссылку на книгу в электронном виде (или же указать, что электронный вариант отсутствует). Не забывайте указывать формат файла и его размер.
    5. Опционально: указать ссылку на интернет-магазин, где можно приобрести книгу.
    6. Оставить ссылку на пост с описанием книги в комментариях к посту «Библиотека», после чего смотритель сообщества внесет книгу в этот список.
    Комментирование правил закрыто. В комментариях будет бан-лист, но, надеюсь, он нам не потребуется.
    С уважением, Толик Хекс.
    3:57 pm
    [hex_laden]
    Как сделать .... ?
    Сюда задаем вопросы по C#, кидаем задачки.
    Например: Как написать на C# программу, распечатывающую саму себя?
    Tuesday, March 28th, 2017
    2:34 am
    [hex_laden]
    C#. Генерация строки из случайных символов.
    Задача


    Сгенерировать строку, состоящую из случайных символов. Немного дополним задачу, строка будет состоять из случайных символов, а сами символы будут взяты из заранее заданного определенного набора. Например, строчные и заглавные латинские буквы, цифры, знаки препинания или любые другие заданные символы в любой комбинации.
    Такая штуковина вполне может пригодиться для генерации, например, пароля из заданного набора символов

    Решение


    Делается это довольно просто. Поручим формирование строки отдельной функции.
    Во входных параметрах передадим ей строку, содержащую набор символов, из которых будет сформирована выходная случайная строка (параметр Alphabet) и длину генерируемой строки (параметр Length)

    string GenRandomString(string Alphabet, int Length)
    {
    	...
    }


    Внутри функции.

    //создаем объект Random, генерирующий случайные числа
    Random rnd = new Random();
    //объект StringBuilder с заранее заданным размером буфера под результирующую строку
    StringBuilder sb = new StringBuilder(Length-1);
    //переменную для хранения случайной позиции символа из строки Alphabet
    int Position = 0;


    Далее в цикле генерируем случайную строку:

    for (int i = 0; i < Length; i++)
                {
                    //получаем случайное число от 0 до последнего
                    //символа в строке Alphabet
                    Position = rnd.Next(0, Alphabet.Length-1);
                    //добавляем выбранный символ в объект
                    //StringBuilder
                    sb.Append(Alphabet[Position]);                
                }


    Возвращаем сгенерированную строку:

    return sb.ToString();

    Код функции на PasteBin

    Пример использования функции


    txtReturn.Text = GenRandomString("QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm", 10);

    возвращает строку случайных символов длиной 10 знаков, состоящую из заглавных и строчных букв английского алфавита.

    Немного об оптимизации )

    Это репост заметки из моего блога на сайте http://tolik-punkoff.com
    Оригинал заметки находится здесь: http://tolik-punkoff.com/2017/03/27/csharp-generatsiya-stroki-iz-sluchajnyh-simvolov/
    Wednesday, April 6th, 2016
    12:21 am
    [hex_laden]
    Ввод только чисел в текстовое поле
    private void txtNumberField_KeyPress(object sender, KeyPressEventArgs e)
            {
                //ввод только цифр
                if (!(Char.IsDigit(e.KeyChar)))
                {
                    if (e.KeyChar != (char)Keys.Back)
                    {
                        e.Handled = true;
                    }
                }            
            }
    
    Friday, April 11th, 2014
    5:35 am
    [hex_laden]
    Класс для работы с диапазонами чисел.
    Точнее, написать надо было класс, который сможет проанализировать строку, где через запятую перечислены числовые значения, как одиночные, так и заданные отрезками: НачальноеЧисло-КонечноеЧисло.
    НачальноеЧисло должно быть меньше КонечноеЧисло.
    Например: 1, 114, 21-30. И в дальнейшем показать, входит ли заданное значение в ранее установленный диапазон. Но заодно уж добавил и остальные функции. Строки такие, например, встречаются в окне печати Word (номера страниц)

    Свойства класса:
    bool AllowRepeats - В случае истинности значения AllowRepeats в диапазоне разрешены повторы значений.
    2 конструктора - 1 создает класс с AllowRepeats==true, 2 позволяет задать AllowRepeats
    Методы:
    AddInDiapason (long Value) - Добавляет в диапазон значение Value
    AddInDiapason(long StartValue, long EndValue) - Добавляет в диапазон значения, начиная со StartValue и заканчивая EndValue включительно
    AddFromString(string DiapasonString) - добавляет в диапазон значения из вышеописанной строки, если не получилось возвращает false.
    Clear() - Очищает значения диапазона
    InDiapasonCount(long Value) - Возвращает, сколько раз встречается значение Value в диапазоне.
    SortDiapason(SortOrder Order) - Сортирует диапазон по возрастанию или убыванию в зависимости от заданного параметра Order
    SortOrder описана как:
    public enum SortOrder
            {
                byAscending = 0,
                byDescending = 1
            }

    ToArray() - Возвращает массив, содержащий значения диапазона.
    InDiapason(long Value) - Проверяет, входит ли значение Value в диапазон (возвращает true или false)
    GetIndexes(long Value) - Получает индексы элементов, равных значению Value
    RemoveAt(int Index) - Удаляет элемент с индексом Index, генерирует исключение если индекс вне диапазона.
    Remove(long Value) - Удаляет из диапазона все значения Value
    Remove(long StartValue, long EndValue) - Удаляет из диапазона все значения, начиная со StartValue и заканчивая EndValue
    RemoveInDiapason(string DiapasonString) - Удаляет из диапазона все значения, заданные строкой DiapasonString
    GetValue(int Index) - Возвращает значение элемента с индексом Index
    SetValue(int Index, long Value) - Устанавливает элементу с индексом Index значение Value
    ReplaceValue(long OldValue, long NewValue) - Заменяет в диапазоне значения равные OldValue на значения NewValue
    MaxValue(out long Value) - Возвращает максимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.
    MinValue(out long Value) - Возвращает минимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.
    Скачать исходник класса
    Скачать демо
    Wednesday, April 2nd, 2014
    5:15 pm
    [hex_laden]
    Калькулятор регулярных выражений
    Накодилось тут, случайно, походу другого проекта.

    -можно ввести регулярное выражение, паттерн, и строку замены Match.Result
    - ищет все совпадения в паттерне и выдает их и результат работы Match.Result
    - умеет замену (Regex.Replace)
    -умеет IsMatch
    -умеет сохранять данные в файл и загружать их.

    Visual Studio 2008
    .NET Framework 2.0
    Программа
    Исходник
    Tuesday, April 9th, 2013
    12:02 pm
    [hex_laden]
    Баг в WMI?
    А точнее в методе EnableDHCP класса Win32_NetworkAdapterConfiguration
    Решаю задачу - написать программу, которая модифицировала бы свойства протокола IPv4 сетевого адаптера. В частности, необходимо, в некоторых случаях включать автоматическое получение IP-адреса.

    Для решения задачи использую следующий код:
    Read more... )
    Если сетевой кабель подключен, то все работает корректно, однако, при отключенном сетевом кабеле метод EnableDHCP возвращает ошибку 94, а в свойствах адаптера образуется следующий пиздец:

    Этот баг был справедливо замечен одним из комментаторов и в соответствующей статье на MSDN. Так вот вопрос - что это? Неужто баг WMI? И можно ли его как-то побороть, или придется искать другие способы изменения параметров адаптера (не через WMI)
    Friday, November 9th, 2012
    7:27 am
    [hex_laden]
    Транслит и C#

    Задача - написать транслитер на C# (Csharp).


    Длря решения этой задачи воспользуемся таким чудом C# (Csharp),
    как словари (Dictionary). Стоит отметить, что словари появились
    в версии .NET Framework 2.0.. Dictionary представляет собой
    набор данных связанных как ключ-значение. При обьявлении словаря следует
    указывать типы с которыми будет работать словарь.


    Read more... )
    Источник: http://www.realcoding.net/articles/transliter-na-c-csharp.html
    И исходник класса транслиттера: http://yadi.sk/d/mzhpj_jA0d6Ky
    Thursday, November 24th, 2011
    9:11 pm
    [hex_laden]
    РАБОТА С БАЗАМИ ДАННЫХ НА ЯЗЫКЕ C#. ТЕХНОЛОГИЯ АDO .NET: сост. О. Н. Евсеева, А. Б. Шамшев
    Пособие содержит введение в технологию разработки баз данных средствами ADO (ActiveX Data Object) на платформе .NET с использованием языка программирования С#. В книге представлены работа с базами данных на примере настольного приложения СУБД Microsoft Access и серверного приложения Microsoft SQL Server; основы языка SQL, создание и использование объектов ADO .NET.
    Пособие предназначено для студентов, изучающих высокоуровневые методы информатики и программирования (специальность 080801 «Прикладная информатика (по областям)») и базы данных, а также для студентов других специальностей, связанных с программированием.

    Read more... )
    Evseeva.pdf 3 Мб, PDF

    Хорошая, кстати, методичка для студентов и вообще для начинающих, самому помогала во время учебы.
    Wednesday, November 23rd, 2011
    7:47 pm
    [hex_laden]
    Для флуда и оффтопа
    Флудить, оффтопить и беспредельничать, это сюды в комментарии
    7:35 pm
    [hex_laden]
    Библиотека
    Пост со ссылками на посты с описанием литературы по теме сообщества.

    1. РАБОТА С БАЗАМИ ДАННЫХ НА ЯЗЫКЕ C#. ТЕХНОЛОГИЯ АDO .NET: сост. О. Н. Евсеева, А. Б. Шамшев
    7:25 pm
    [hex_laden]
    FAQ
    FAQ пока нет, но обязательно появится.
About LJ.Rossia.org