Библиотеки (Delphi 3 - Delphi 7):
GGlbUtil.zip - 652 кб (GConst*.pas; GGlbUtil.pas; GDifUtil.pas; Consts.pas и др.) - "ядро"
GExtUtil.zip - 282 кб (GCryAPI.pas; GMProAPI.pas;
GExtUtil.pas) - CryptoAPI/КриптоПро, Сигнал-КОМ Message-PRO
Приложения:
SysId.zip - 86 кб (SysId.dpr; SysId.exe) - информация о CPU,
BIOS, HDD.
Обзор функционала:
1. Функции по работе с базовыми типами (Boolean, Integer, Extended,
Currency, TDateTime, String, Variant) и списками (TList, TStringList):
- конвертация (строк в типы, типов TNullXXX, Variant,
распознаются различные форматы, независимо от локализации, примеры: 'True', 'Нет', '0', '+'; '123.',
'4294967295', '$7B', '7Bh', '1111011b'; '1 443,45', '12=34'; '30.1.2004', '30/01/04 11:12:34.501', '30-JAN-2004', '1.30.2004')
- кодирование и декодирование строк (форматы C++/JScript, PAS, HTML,
URLEncode/URLDecode, Base64, HEX, DOS/Windows, KOI, Wide формата Windows NT
с нечетным количеством байт, XOR)
- индексируемые списки строк, вариантов, таблицы, иерархия
- проверка по маске, работа с многострочным текстом, разбор DFM, список файлов
с подкаталогами, собственное имя DLL, функция копирования файлов по маске,
удаление каталога с подкаталогами, работа с Map-файлами, массив в строке -
GetStrFromArray, GetValueFromArray, GUID, увеличение, уменьшение
и округление даты до секунд, минут, часов, дней, месяцев, лет, FileToStr, StrToFile,
StreamToStr, StrToStream, конвертация текста - DeleteExcessiveSpace,
NormalizeColumns и др.
- финансовые: сумма прописью (AmtAsWordsIni - с зашрузкой Ini из строки),
проверка ключевания счета (CheckAccount)
2. Общие служебные объекты:
- языки, включены русский и английский, динамический выбор или включение в код
только одного языка, язык (код языка Windows) может быть задан в параметре
командной строки /LangIdValue= запускаемого приложения
- отладка (функция W) - с выводом сообщений/на консоль/в лог/обмен через файл
с внешним приложением-отладчиком (для библиотек), лог однозначно
интерпретируемого формата (кодирования строк в строки С++)
- поддержка (для всего кода) многопоточности, собственная реализация
threadvar, корректно работающая в Delphi3, также с возможностью очистки объекта, хранимого
в threadvar
- межзадачный обмен (с помощью сообщений Windows и записи процессов в память
друг друга, TRequestWnd/TAnswerWnd, ProcCall, TFuncCallHandler); запуск
и ожидание завершения процесса - RunProcess, ProcessOpen,
ProcessWait/ProcessClose, OpenDocument; LoadDLLProcSafe; RegisterOCX; ожидание внешнего события (таймер, появление файла и др.) - TWaitWnd
- корректная вставка русских букв из буфера
обмена в WindowsNT (TClipboardStd)
- работа с окнами, примеры реализации диалогов
без Forms - на WinAPI (TViewForm, TInputForm, TFileInputForm, TRandInputForm, TFieldsViewForm), также
TFileListDlg, BrowseDirectoryStd без SysUtils
- работа с содержимым Ini-файла при его
хранении в строке, с иерархической конфигурацией
- работа с реестром (сохранение/восстановление ключа со всем содержимым,
содержимым вложенных ключей - RegistryKeyToStr/StrToRegistryKey), корректная
работа с ключами ограниченного доступа (TRegistryStd),
чтение/запись ключа одной функцией, с кешированием
(RegistryGetCached/RegistrySetCached)
- сокращенные аналоги SysUtils.pas (GExceptX.pas)
3. Специализированные служебные:
- объект поддержки ADO, не требующий Forms, не падающий после попытки
закрытия курсора, открытого на запись при отсутствии строк в выборке; функции
загрузки выборки из базы в таблицу вариантов, и сохранения, точнее
синхронизации базы с изменениями в таблице вариантов
- объекты поддержки ASP-, HTML-объектов
- обмен с WWW-сервером (через WinInet.dll), объекты HTTP-транспорта
- запуск и остановка сервисов WinNT, COM-приложений Component Services
(GExtUtil.pas)
- поддержка скриптов VB/JScript на основе IActiveScript; TDispatchedObject,
TSafetyAutoObject
- подпись и шифрация, работа с сертификатами (CryptoAPI Microsoft RSA/КриптоПро
ГОСТ/ГОСТ 2001, Сигнал-КОМ MessagePro), поддержка подписи и шифрации CrpGost;
разбор и однозначное формирование строк X500 владельца и создателя сертификата;
позаимствованы функции формирования CRC, симметричной шифрации Blowfish, RC6,
GOST
- информация о CPU, BIOS, HDD для привязки к
компьютеру
* Подключение любых библиотек не добавляет кода (при отсутствии вызовов; т.е.
отсутствуют секции initialization/finalization, глобальные строковые переменные
и константы); весь код компилируется,
начиная с Delphi 3 (т.е. не используются открытые
массивы), при компиляции нет Warnings/Hints, публичные объекты и функции
откомментированы
Более подробное описание