Проблемы на сайте

Народ, на моем блоге есть проблема отображения кода. Плагин SyntaxHighlighter почему то работает с ошибкой. Пока разбираюсь с проблемой. Код представленный в статьях браузеры кроме IE 9 отображают некорректно. Приношу свои извинения.
Update
Решилась проблема с подсветкой синтаксиса заменой плагина. Проверил, вроде везде работает. Теперь можно и делами заняться =)

Популярность: 3%

топки для каминов
Новости

Использование Reflection для получения доступа к приватным переменным

Нас с детства (:-)) учат тому, что одним из свойств объектно-ориентированного программирования является инкапсуляция. Иными словами — сокрытие членов и методов класса, для доступа из вне. В C# сокрытие происходит с помощью ключевых слов private, internal, protected. И, если программист делает какие-то члены скрытыми, значит так надо. Однако, все эти правила носят принципиально рекомендательный характер. Вам никто не может помешать (все сказанное относится к Framework 3.5 включительно. За 4.0 я не уверен) получить доступ к приватным переменным чужой библиотеки или перезаписать поле, помеченное как readonly, в любой момент работы программы. В состав библиотеки входит класс Reflection, позволяющий заглянуть внутрь сборки и получить доступ ко всему содержимому для чтения или записи.

Читать далее »

Популярность: 5%

Активные темы форума: сольный концерт Тарьи Турунен (Tarja Turunen) в Киеве.
C#

Обновление dbFacade 0.5.11

Опять же — небольшое обновление библиотеки для работы с базами данных SQLite и MSSQL.
Сегодня в меню:

Скачать библиотеку можно в разделе проектов.

Популярность: 5%

Новости, Проекты

Переупаковал Сборщик PDF

Проект Сборщик PDFНа днях вышел PDFCreator 1.2.1. Разрабочики добавили утилиту для конвертации картинок в PDF. Я ее еще не тестировал, но переупаковал свой Сборщик PDF для работы с новой версией PDFCreator. Плюс ко всему этому, решил поэкспериментировать со слиянием exe-файла и его зависимых библиотек. Сборщик PDF по прежнему работает только с файлами doc и xls. Поддержку docx пока не планирую, потому что заявок на это не поступало. Будут заявки буду думать. Увеличением функционала — тоже не занимаюсь. Идеи по наращиванию полезной массы есть, но они трудоемкие и требует времени, которого, как обычно в конце мая у меня нет.

Также хочу напомнить, что DFCreator нужен только для конвертации в PDF файлов WORD и EXCEL.

Популярность: 4%

Новости, Проекты

Free Code Counter

Выложил обновленную утилиту для подсчета исходного кода. Чендж лог:

Скачать последнюю версию

Популярность: 3%

Новости, Проекты

Проблемы, возникающие при использовании библиотеки System.Data.SQLite.DLL

Каждый, кто только начинает работать с SQLite на C#, может столкнуться с несколькими проблемами использованием этой базы данных. Здесь я хочу остановиться на некоторых вопросах, которые я опустил при написании серии статей про dbFacade. Еще в первой статье я обещал описать варианты использования библиотеки System.Data.SQLite.dll, через которую класс dbFacade работает с базой данных. Так уж исторически сложилось, что в качестве провайдера я использую библиотеку System.Data.SQLite.dll.

Итак, для работы с SQLite на .NET вы подключаете библиотеку System.Data.SQLite.dll в References своего проекта. Если скачать архив SQLite-1.0.66.0-binaries.zip, то в ней вы обнаружите, фактически, три варианта библиотеки. Для работы вам также нужна будет оригинальная библиотека с официального сайта SQLite.org — sqlite3.dll.

Варианты подключения библиотеки и режимы компиляции

Первый вариант, и самый простой — System.Data.SQLite.DLL в корне архива. Эта библиотека откомпилирована под 32-битные системы (другими словами x86) и весит порядка 900 кб. В ней уже зашита sqlite3.dll. Поэтому вам не нужно качать оригинальную библиотеку. Достаточно подключить файл
Читать далее »

Популярность: 12%

C#

Примеры использования dbFacade. (DELETE INSERT UPDATE)

Это продолжение серии моих статей.
Философия dbFacade. Часть 1
Философия dbFacade. Часть 2.1
Философия dbFacade. Часть 2.2
Примеры использования dbFacade. (SELECT)

Начнем, пожалуй, с удаления данных. В dbFacade представлено 4 перезагрузки метода Delete, который удаляет записи из таблицы. Самый простой — удаляет просто все данные. Ему достаточно передать имя таблицы.

db.Delete("Song"); //удалить все записи из таблицы Song

Вторая перезагрузка:

int[] ids = {1,2};
int result = db.Delete("Song", "id", ids); //удалить записи у которых поле id равно одному из перечисленных значений ids

Третий вариант чуть проще предыдущего. Здесь вы сами пишите условие:

int result = db.Delete("Song", "id = 1"); //удалить запись из таблицы Song с id равным 1

Четвертый и самый интересный вариант — с использованием класса ParametersCollection для передачи значений условия в виде параметров:

Читать далее »

Популярность: 6%

C#

Примеры использования dbFacade. (SELECT)

В цикле прошлых статей я рассказал, как работать с классом dbFacade. Сегодня же, мы рассмотрим реальные примеры. Как это все работает — не спрашивайте, а читайте предыдущие посты по данной теме.

Давайте предположим, что у нас есть две таблицы со следующей структурой:

Таблица Song
id INTEGER //код песни
name TEXT //название песни
cd_id INTEGER //код диска, к которому относится песня

Таблица CD
id INTEGER //код диска
title TEXT //название диска
publish DATETIME //дата публикации

И так, у нас есть компакт-диски (таблица CD) и список песен (таблица Song). Песни связываются с таблицей CD через поле cd_id, в котором указывается значение поля CD.id. Один диск может содержать несколько песен. Давайте построим запрос для выборки. Предположим, что у нас уже заполнены обе таблицы.

Читать далее »

Популярность: 5%

C#

Программа Free Code Counter

За пару недель неспешно написал простенькую программу для подсчета пустых строк, комментариев и исходного кода в файлах. Я не ставил перед собой целью создать полноценный проект. Можно сказать, что это фановая программа. Разработка была в удовольствие по вечерам, после работы. Таким образом я разгружал свой мозг под любимую музыку (вот такой блин маньяк =) ). Больше всего мне хотелось получить опыт при написании своих контролов, разобраться как происходит прорисовка и позиционирование дополнительных элементов управления.

Читать далее »

Популярность: 3%

Новости, Проекты

Философия dbFacade. Часть 2.2

Продолжаем разговор… Для управления данными в dbFacade предусмотрено несколько групп методов:


Читать далее »

Популярность: 5%

C#

Философия dbFacade. Часть 2.1

В предыдущей статье об использовании библиотеки dbFacade, я рассказал вам для чего предназначен данный продукт и как его подключить к проекту. В этом посте я остановлюсь практическом применении библиотеки. Все описанное актуально для версии 0.5.10 и SQLite..

Функции библиотеки можно условно разделить на следующие группы:


Читать далее »

Популярность: 5%

C#

Философия dbFacade. Часть 1

В этом цикле статей я расскажу вам о своей библиотеке dbFacade — о ее назначении и использовании. Ранее, я уже писал статьи во время самой разработки, но за все время получил совсем немного отзывов и комментарий по этой теме. Поэтому, я решил собрать всю имеющуюся информацию по этой теме и изложить ее в двух статьях. Все нижеописанное будет относиться к версии 0.5.9, которую я выложил в общий доступ 4.04.2011.

История создания и принцип работы

Пару лет назад я работал над проектом (на php), в котором использовался ZEND FRAMEWORK. В этом фреймворке работа с базой данных осуществлялась через специальный класс. Этот класс помогал формировать запрос к базе данных и управлял подключением. В этот момент, я подумал, что для C# должна быть где-то реализована подобная технология, но нет — ничего подобного не было найдено. Все было в моих руках и я начал писать свой класс для использования его с библиотекой SQLite. Вот так и родился dbFacade. Теперь, после полутора лет неспешной разработки он превратился в очень удобный инструмент для разработки приложений. Так что, лично для меня эта вещь оказалась практически незаменимой.

Читать далее »

Популярность: 7%

C#