


 | |

 |
Динамические массивы записей/объектов
(arrays.zip,
18 Nov 2001, ~43K,
D4/D5/D6) Набор базовых классов для упрощения
создания массивов в Ваших приложениях.
Элементы массива располагаются в памяти
друг за другом (т.е. это не TList), что
приводит к более эффективной работе с памятью - обращения к менеджеру
памяти происходят только если количество элементов превышает емкость
(capacity) массива, это особенно заментно для
многопоточных (multithread) приложений. Также есть классы,
в которые встроен механизм быстрого
поиска и/или сортировки элементов (без
изменения физического положения, т.е.
строится индекс). |
 |
TArrayGrid - визуальный компонент для табличного
представления данных ( версия 1.3.9
ArrayGrd.zip, 29 Oct 2005, ~145K, D4+)
Компонент - наследник TCustomControl ( не TCustomGrid ! ),
который позволяет выводить данные из
динамических массивов или других
источников в виде таблицы. Поддерживает
множественную отметку несмежных строк,
выделение цветом ячеек и текста (метод
OnGetCellColor). Для каждой колонки указывается
тип (пока один из пяти: строка с
выравниванием влево, строка с
выравниванием вправо, целое число, деньги
и дата/время), который задает формат
отображения и редактирования. Колонкам
можно назначить атрибут "резиновый
размер" - автоматическое изменение
ширины колонки при изменении размеров
грида. Посказки (Hint) на заголовках и на
данных. Если
использовать для размещения данных
динамический массив - объект класса-наследника
от TGridDataArray, то значительно уменьшается
количество кода, которое Вам придется
написать - в прилагаемом примере показано,
как это сделать. По сравнению с
предыдущей версией: теперь есть хоть
какая-то документация,
добавлены полезные методы, исправлены
замеченные ошибки, привязка данных в
случае TGridDataArray стала еще проще - можно
просто указать имена published свойств для
соответствующих колонок. |
 | Классы
TStorage и TStgStream для работы с файлами -
структурированными хранилищами (IStorage и
IStream) (storages.zip,~19K, D3+) Реализация
наследника от TStream для доступа к потокам
структурированного хранилища (эти файлы
можно рассматривать как совокупность
нескольких файлов со своей мини файловой
системой). В прилагаемом примере (это
только пример использования этих классов,
не нужно воспринимать его как образец для
написания подобных программ)
реализован простейший редактор для
структурированных хранилищ, с его
помощью вы можете взглянуть на
внутреннее устройство файлов,
создаваемых программами MS Excel и MS Word, или
создавать/изменять свои хранилища. |
 | WinSock
2.2 API unit (winsock2.zip, rev.2, 13 Feb 2001, ~31K, D2+) Хотя в
дистрибутивах к Delphi 4 и присутствует
описание WinSock 2 API (файл sock2.hlp), но модуль
winsock.pas, к сожалению, соответствует всего
лишь первой версии, в которой нет очень
многих возможностей второй версии. Самое удивительное то, что даже в Delphi 5
подобное безобразие продолжается! Данный файл исправляет это упущение.
Это второй, исправленный и дополненный
вариант. Добавлены переводы wsipx.h, wsnwlink.h,
wsnetbs.h, svcguid.h.
|
 |
WinSock 2.2 API unit, rev4 alpha
(ws2rev4a.zip, rev.4 alpha,
11 Nov 2001, ~51K, D2+) Новая редакция Winsock2 API Delphi unit.
Добавлены две новые опциональные возможности:
 | Динамическая загрузка WS2_32.DLL (опция WS2_DLL_DYNAMIC_LOAD ); |
 | Трассировка вызовов функций WS2_32.DLL ( опция WS2_DLL_TRACE ); |
 | Функции расширения winsock от Microsoft MSWSOCK.DLL ( опция WS2_MS_EXTENTION ). |
|
 | TDateComboBox -
замена TDateTimePicker (DateComboBox.zip, ~24K, D4+).
Отличия от TDateTimePicker:
 | Форматы представления даты/времени
: dtkShortDate, dtkLongDate, dtkTime, dtkShortDateTime, dtkLongDateTime,
dtkCustom (последнее - пользовательский
формат), при этом сохраняется
возможность редактирования полей даты/времени
с клавиатуры с помощью стрелок
движения курсора. |
 | Событие OnClick происходит, когда
пользователь завершил изменение даты/времени
(а не при простом клике мыши на контроле
- зачем это нужно?). При изменении мышью -
это закрытие календаря, с клавиатуры -
клавиша Enter. |
 | Событие OnChange при каждом
изменении даты/времени. |
 | Свойства Date и Time теперь в
секции Public (в TDateTimePicker - published, т.е. теперь
нельзя установить дату время в Design Time) |
 | Возможность предустановки
даты/времени относительно текущей даты
+/- число месяцев (property InitMonthDelta). По
умолчанию стартовая дата/время -
текущий момент. |
|
 | AVL-tree -
сбалансированные бинарные деревья (AVLtrees.zip,
6 Feb 2001, ~10K, D4+). |
 | ChainPools - пул
цепочек (ChnPools.zip, 27 Nov 2000, ~3K, D4+). Цепочка
- односвязный список записей (record)
фиксированной длины. Пул цепочек
позволяет быстро манипулировать с
множеством цепочек. Общая для всех
цепочек конкретного пула память
выделяется по мере необходимости
страницами через VirtualAlloc, т.е. без
обращения к менеджеру памяти (GetMem/FreeMem).
Соответственно, освобождается память
сразу всего пула. Удобно использовать
цепочки в качестве рабочей памяти, когда
нужно раскидать множество элементов по
кучкам, а также при реализации графов (
списки соседей узла ), деревьев (списки
детей узла). Большинство методов и
функций написано на basm. |
 | MS SQL Alerter (SQLAlert.zip,
3 Jul 2000, ~52K, D4+). MS SQL extended stored
procedure и приложение, демонстрирующие
посылку сообщений с SQL сервера по его
инициативе (например, в триггере) и прием
их в приложении, запущенном на том же или
другом компьютере локальной сети.
Полезно и как пример написания extended stored
procedure на Delphi, и как пример использования
Named Pipes для обмена сообщениями по
локальной сети (класс PipeControler). |
 | IdeInfo2 - получение
различной информации об IDE диске
(IdeInfo2.zip, 30 Jul 2000, 27K, D3+) С помощью SMART
Ioctl API можно получить модель, версию
прошивки, серийный номер, состояния
различных счетчиков IDE винчестера.
Проверялось на Windows 98, Windows NT 4.0 и Windows 2000. |
 | IdeSN - получение серийного
номера первого IDE диска (IdeSN.zip, 30 Jul 2000,
4K, D3+) Пример, показывающий как получить
серийный номер первого IDE винчестера.
Проверялось на Windows 98, Windows NT 4.0 и Windows 2000. |
 | IdeSN2 - получение серийного
номера первого IDE диска (новый пример) (IdeSN2.zip, 22 Oct 2003,
5K, D5+) Пример, показывающий как получить
серийный номер первого IDE винчестера.
Проверялось на Windows 98, Windows NT 4.0, Windows 2000 и Windows XP. |
 | ScsiSN - extract SCSI-2
device serial number (ScsiSN.zip, 18 Jul 2000,~4K, D3+) Консольное приложение,
которое демонстрирует как извлечь
серийный номер из устройства SCSI-2.
Проверялось на Windows NT 4.0 и Windows 2000. |
 | NativeApp - Enumerate NT
named objects (NativeApp.zip, 20 Jul 2000,
13K, D3+). Консольное приложение, которое
использует некоторые функции из NT Native API.
В данном примере показано, как перебрать
именованные объекты NT. В модуле ntdll.pas
описания структур и функций из NT Native API.
|
 |
XLink - Создание hardlink'ов и sylink'ов на NTFS томах.
(xlink.zip, 10 Apr 2002, 55K, D4+). Утилита, которая позволяет создавать hardlink'и для файлов
и junction (это нечто вроде symlink реализовано в Windows 2K/XP на NTFS5 томах) для директориев.
|
 | Набор различных
компонент и классов (Flarp.zip, ~170K, D4) |

mailto:akonshin@earthlink.net
Последние изменения 29 Oct 2005
|