Казалось бы интерфейс IEnumVARIANT всем хорошо - универсальный и простой, но его простота не должна ограничивать функциональность. А она ограничена, так как интерфейс содержит всего 4 метода: Next, Reset, Skip, Clone. Поэтому приходится реализовывать некоторые методы самому.
Читать дальше →

Post to Twitter


При работе с перечислениями IEnumVARIANT было замечено странное поведение - каждая итерация с получением следующего элемента IEnumVARIANT.Next приводила к увеличению размера в памяти, занимаемого приложением. После каждых 1000 итераций размер увеличивался на 2 Мб, а это очень критично когда программа должна работать продолжительное время.
Читать дальше →

Post to Twitter


Пол дня искал как перевести стандартную строку ANSI в UTF-16 (данный юникод еще называют UCS2). Перерыл кучу форумов, где советовали использовать MultiByteToWideChar, но как я его не крутил, он не выполнял требуемую задачу.
Читать дальше →

Post to Twitter

Пытался сохранить структуру DataSet в базу данных так, чтобы таблицы с нужной структурой создавались сами в файле базы SQLite, на основе DataSet. Однако, как оказалось, это не возможно и необходимо создавать таблицы через SQL запрос.
Читать дальше →

Post to Twitter


Понадобилось перевести цветную картинку в черно-белую, а именно в градации серого. Для этого можно воспользоваться формулой перевода RGB в YUV, которую легко найти на просторах интернета.
Читать дальше →

Post to Twitter

Iperf для Windows

Фев 5, 2011


Для тех, кто работает в технической поддержке любого интернет-провайдера, самой на мой взгляд щепетильной темой, является скорость интернета, а точнее её не соответствие заявленным скоростям тарифного плана. И порой очень трудно доказать клиенту, что скорость нормальная, особенно когда какой-то левый сайт выдает ложную информацию, например из-за его перегрузки.
Читать дальше →

Post to Twitter

Хотя в интернете полно информации по генерации MD5 хэша в C#, я все равно решил написать здесь реализацию этой полезнейшей функции. Данная возможность реализуется стандартными средствами .Net Framework. Для этого необходимо использовать пространство имен System.Security.Cryptography.
Читать дальше →

Post to Twitter


После первого опыта написания класса и программы на C#, я попросил знатоков этого языка оценить свежеиспеченный код. Для этого был направлен вопрос на форум сайта RSDN. Спустя несколько минут, я получил полный и развернутый ответ с указанием на все недочеты и узкие места в моем коде. Давайте посмотрим, как можно улучшить написанный ранее класс.
Читать дальше →

Post to Twitter


После небольшого штудирования книг по C#, были замечены некоторые сходства с языком Delphi. Например, зная что делает тот или иной код в Delphi и найдя аналогию в C#, код начинает восприниматься более легче. Но нужно заметить, что не всегда сходства кода выполняют одни и те же действия.
Читать дальше →

Post to Twitter


В прошлой части мы построили каркас нашего компонента, разобрались со свойствами и написали две процедуры - connect/disconnet. Теперь попробуем передавать и принимать данные.
Читать дальше →

Post to Twitter

Rambler's Top100 Яндекс.Метрика