Бачурин Н.В
Библиотека классов для
программирования в среде Visual C.
16/10/2005
This
article was contributed by Bachurin Nikolaj.
Environment:
Win32, VC6, VC7 (recommended, but not required).
При
программировании в среде
языка C требуется
делать безразмерные
динамические
массивы. Массивы строк, таблицу из строк, массив из произвольных
элементов.
Для этого я создал следующие классы:
Array Безразмерный динамический
массив из произвольных данных.
TemplateArray Шаблон массива из элементов
произвольного типа. Упрощает
операции с
предыдущим простым массивом типа Array.
String Текстовая строка и операции
конкатенации для нее. Основана на
Array и
специализируется на текстовых строках.
ZeroStringsStore Простой массив ANSI строк без
возможности повторного
использования места под удаленными
строками.
ZeroStringsHeap Хранилище ANSI строк с возможностью
повторного использования
памяти под
удаленными строками.
GridOfStrings Таблица из ANSI строк,
оканчивающихся нулем. Основана на ZeroStringsHeap.
Эти классы очень полезны и без них не
обходится написание практически ни одной программы.
Базы
данных также можно создавать с использованием этих классов. При этом данные
загружаются
в
память и после работы с ними сохраняются на диске. Функции записи данных,
накопленных в структурах
данных этих
классов, встроены в соответствующие классы. На основе этих классов созданы
также и другие,
не
менее полезные классы, используемые мною в повседневной практике
программирования.
Окна Windows и сообщения доставляют немало
хлопот программисту. Как упорядочить и классифицировать
информацию,
связанную с этим. При этом желательно не залетать слишком высоко в облака
абстракций и
видеть
всю низкоуревневую структуру приложения. С этой задачей я блестяще управился,
создав
нижеперечисленные
структуры и классы.
Window Базовый класс для любого
окна в системе Windows.
HandleMsg Макросы для обработки оконных
сообщений, подобные Windowsx.h макро,
но предназначенные
строго для моего класса Window.
SubclassedWindow Окно, являющееся подклассом
стандартного окна, основано на Window классе.
NewWindow Окно с регистрируемым в системе
Windows классом, основано на Window классе.
AppFrame Класс - обертка для
однооконного приложения.
Application Обертка для приложения.
OwnListView Таблица ListView в режиме REPORT,
обладающая собственной отрисовкой и виртуальной
памятью строк для
более быстрой обработки безразмерных массивов данных,
а также использующая
класс подсказки для урезанного текста - OwnListBalloon.
OwnListBalloon Окно подсказки для урезанного текста
ячейки для таблицы OwnListView.
StatusBar Класс - обертка для статусного
окна, основано на SubclassedWindow классе.
Данные классы я размещаю на сервере
bachurin-nw.narod.ru с тем, чтобы все желающие смогли извлечь
какую-то
пользу от их использования. При использовании мною их в личных целях нет той
огромной пользы,
какую можно
было бы получить, используй их и все другие программисты, в масштабах страны и
всего мира.
Конечно,
хотелось бы видеть прежде всего Россию процветающей и богатой подобно США, так
как живу я в
Росии.
Надеюсь на материальную поддержку в случае какого-либо использования
библиотеки, пропорциональную
получаемым
доходам от программы. Это поможет еще более проявиться моим талантам и
вознаградит меня
за
проделанную работу, позволит мне и далее развивать свои разносторонние таланты
и продолжать свой род.
Бачурин Николай Валентинович. 16.10.2005.