Небольшое обновление для DbFacade SQLite
Лучше меньше, но чаще… Небольшое обновление DbFacade для базы данных SQLite. Добавил три метода и переупаковал архив, вложив несколько различных библиотек-враперов на разные случаи жизни. Добавлен метод GetTables, возвращающий массив таблиц из базы данных; добавлен метод GetAllTables, возвращающий массив всех таблиц, включая временные (Temp); добавлен метод GetConnectionState, возвращающий текущее состояние подключения к базе данных. Доступны версии библиотек-враперов для Framework 2.0 и 3.5 SP1, но сама dll откомпилирована под последнюю. Для остальных версий вам придется или компилировать самим, или подключать в свой [...]
Препроцессорные директивы в C#. Часть 1
Препроцессорные директивы представляют собой команды, которые изменяют код программы и, которые влияют на процесс сборки и выходной результат этой обработки. В компиляторах C и C++ имеется отдельный препроцессор, но в C# такового нет. Однако, компилятор может обрабатывать директивы условной компиляции, но даже их, нельзя использовать для создания макросов. Еще одно условие — директива препроцессора должна [...]
C#. Заставляем WebBrowser обновлять содержимое при изменении свойства DocumentText
В одном из своих проектов столкнулся с интересным поведением стандартного компонента WebBrowser. Стояла задача, вставить в виде текста кусок html-кода. Для этого использовал свойство DocumentText. При первой вставке все отображается нормально, но при второй, компонент никак не реагирует на изменения в тексте. После экспериментов нашел следующее решение: webBr.Refresh(); webBr.Document.Write(«Какой-то текст»); webBr- WebBrowser. В этом случае [...]
Подводные камни при использовании метода Math.Round
В библиотеке .NET есть множество инструментов, которые позволяют проводит математические расчеты. Класс Math содержится в себе ряд полезных методов. На одном из них я хочу остановить внимание, так как, его использование может стать сюрпризом для неподготовленного программиста. Разберем метод Round, который производит округление десятичного значения до ближайшего целого. Но проблема в том, что дробная часть [...]
C# для начинающих. Конструкторы классов
В C# конструкторы вызываются при создании объекта (конструктор экземпляра) или когда CLR загружает тип (статический конструктор). У каждого класса по умолчанию всегда есть конструктор, даже если он не описан явно. Например: class MyClass { } … class MyClass { public MyClass() { } } Два класса и оба имеют одинаковый конструктор. Конструкторы нужны для инициализации [...]
DbFacade. Обновление 30.01.2012
Как известно, SQLite не дружит с русскими символами, да и вообще, с любыми чей код выходит за 127. Некоторые функции, типа Lower и операторы, типа LIKE, могут не корректно работать с русскими символами. В Интернете народ по разному решает эту проблему. Но я решил, что не стоит парить мозг пользователям моей библиотеки DBFacade и перегрузил [...]
FXCop 1.36. Средство статического анализа кода
FxCop представляет собой средство для статического анализа кода на соответствие корпоративным стандартам и правилам. Это средство популярно в группах, в которых стремятся к написанию верного, безопасного и согласно каким-либо принятым правилам. Эти правила обычно носят рекомендательный характер в которых содержатся соглашения об именовании переменных, методов, передаваемых параметров, а также различные шаблоны.
Работа с ZIP в C#
Каждый из нас пользуется такими замечательными утилитами, как архиваторы. 7-zip, WinRAR, различные ZIPы — это далеко не полный перечень программ для работы с различными архивами. Большинство из популярных архиваторов предоставляют пользователю консольный режим работы, для использования, например, в скриптах автоматизации резервного копирования данных или чему-нибудь подобному. Но для разработчиков программ, такой способ работы с архивами [...]
Резервное копирование базы данных MySQL с использованием C# и mysqldump
Я уже приступил к разработке класса DbFacade для базы данных MySQL, который будет использовать официальную библиотеку. Думаю, что через несколько она будет уже общедоступной. Но эта статья не об этом, а о том, как сделать резервное копирование базы данных MySQL с использованием утилиты mysqldump. Утилита консольная и принимает кучу различных параметров. Я приведу пример самый [...]
Как перемешать массив ключ-значение
Перемешать (или рандомизировать) что-то, иногда бывает совсем не простой задачей. Представим, что у вас есть Dictionary, в котором храниться ключ-значение и вам необходимо его перемешать. Готового метода для решения этой задачи нет. Но обо всем по порядку.
Пишем генератор паролей за 15 мин
На работе перерыв. Заняться нечем. В моем распоряжении есть пол часа, значит, пишем программу. А что за программу? Да вот же, вспомнил, недавно была необходимость защищать паролем pdf-файлы. Пароль нужен был длинный и, в то же время, его необходимо было вводить как минимум два раза. Начали появляться мысли, как это дело можно автоматизировать. Но так [...]
Алгоритмы. C#. Расчет вхождения одного периода в другой
Очень часто приходится сталкиваться, что один и тот же кусок кода используется в разных программах. Все бы ничего, но иногда встречается код, на который тратится относительно много времени, хочется его где-то сохранить и использовать простым копи пастом. Поэтому, было принято решение выкладывать описание некоторых алгоритмов в блог — для обсуждения и хранения. Сегодня представляю вам [...]
Постовой:
