пятница, 15 октября 2010 г.

wzsTools - библиотека компонент и контролов для Delphi


wzsTools - набор бесплатных компонент и data-aware контролов для работы с БД (Delphi)
(с) Протасов Сергей


wzsTools - набор бесплатных компонент и data-aware контролов для работы с БД (Delphi)
Скачать wzsTools.zip

ПокаБез license

wzsTools - бесплатная библиотека оригинальных классов, компонент и контролов для Delphi.

Пакеты библиотеки:

wzsToolsCommon - пакет, содержащий общие и утилитарные функции, компоненты, custom-классы, редакторы компонентов и свойств. Должен быть установлен первым, т.к. на него ссылаются все остальные пакеты библиотеки.
  • TwzsStyler: движок для отрисовки "плоских" контролов (custom-framing,  hot-tracking, скругление углов и т.д.). Стили отрисовки поддерживаются для всех контролов библиотеки wzsTools;
  • TwzsImageIndexProperty, TwzsImageIndexEditor: универсальный редактор свойства ImageIndex, заменяющий стандартный выпадающий список удобной формой для выбора иконки. Поддерживаются любые ImageList'ы, включая 32bpp + альфа канал. Устанавливается для любого контрола со свойствами Images и ImageIndex как редактор свойства или как редактор компонента (в контекстное меню). Для установки редактора под требуемые контролы, достаточно изменить код процедуры u_wzsImageIndexEditor.Register и скомпилировать пакет.
  • TwzsFilterExprBuilder: формирование валидных выражений для стандартного фильтра TDataset с поддержкой операций сравнения (>, <, >= );
  • GetDatasetRecord: получение записи датасета в виде массива variant;
  • WalkDir: перебор файлов по маске;
  • NextFileNumSuffix: получение уникального имени файла в папке с добавлением числового суффикса (напр.: file000001.txt);
  • ApplyProcOnControl, ApplyProcOnComponent - быстрый перебор объектов внутри других обектов, с фильтром по классу и по маске имени;
  • ApplyProcOnActionCategory - перебор объектов TAction с фильтром по свойству TAction.Category;
  • ExtractParArg, GetCmdLnParam - функции разбора коммандной строки вида "/параметр:аргумент";
  • GetComputerNetName - получение имени хоста;
  • RegisterComponentEditorByClassName, RegisterPropEditorByClassName - регистрация редакторов компонент и свойств для имени класса, переданного в виде строки.

Требования: Delphi 7

wzsComponents - компоненты и контролы, унаследованные от стандартного VCL:
  • TwzsDBLookupCheckBox - компонент, отображающий значения wzsTools - набор бесплатных компонент и data-aware контролов для работы с БД (Delphi) поля ListField датасета в виде списка, элементы которого можно пометить и получить соответсвующие значения ключей KeyField в виде variant массива или sql-совместимой строки с разделителями. 
  • TwzsStringsAction: стандартный TAction, расширенный свойством StringList: TStrings;
Требования: Delphi 7

wzsDBSearch - компоненты и контролы для построения интерфейса фильтрации и поиска по датасету:
  • поиск в датасете реализуется через компонент TwzsSearchEngine и связанные с ним контролы для ввода выражений фильтра TwzsDBSearchEdit;
  • фильтрация по lookup-полям с выпадающим списком;
  • сочетание в TwzsDBSearchEdit фильтра и инкрементного поиска по датасету;
  • поддержка операций сравнения (>, <, =, <>, <=, >=) при вводе пользователем выражений фильтра;
  • настраиваемые кнопки фильтра, поиска и т.д. в полях ввода выражений, горячие клавиши;
  • отдельные кнопки TwzsGroupFilterButton и TwzsGroupClearButton для группового применения/сброса фильтра;
wzsDBSearch - компоненты Delphi для фильтрации и поиска в TDataset
Требования: Delphi 7

wzsDBToolsEh - пакет компонент, унаследованных от контролов библиотеки Ehlib, с расширениями и поддержкой стилей отрисовки через TwzsStyler. Прорисовка через стайлер во всех контролах включается при установленном Flat = true и связкой через свойство Additional.Styler.
  • TwzsDBGrid - грид, унаследованный от TDBGridEhwzsTools - набор бесплатных компонент и data-aware контролов для работы с БД (Delphi), и расширенный встроенным фильтром для STFilter, включая поддержку lookup-полей и наполнение списков через внутренний TMemTableEh. Также: опциональная подкраска колонок в зависимости от свойств полей readonly/required, настройка горячих клавиш для фильтра, поддержка стилей отрисовки, поиск связанного датасета через контекстное меню компоненты;
  • TwzsDBEdit, TwzsDBComboBox, TwzsDBDateTimeEdit, TwzsDBNumberEdit, TwzsDBLookupCombobox - data-aware контролы, потомки аналогичных контролов EhLib, расширенные отрисовкой через TwzsStyler;
  • TwzsMonthDBEdit - контрол для выбора даты в виде месяца с выпадающим списком и кнопками для «перелистывания» месяцев по типу следующий/предыдущий, выбора пустой даты или выбора "даты по умолчанию". 
wzsDBToolsEh - data-aware контролы для Delphi на базе Ehlib
Требования: Delphi 7, установленный Ehlib 4 или выше.

wzsOraDBTools - пакет компонент на базе Direct Oracle Access.
  • TwzsOraProcExecutor - компонент, позволяющий wzsTools - набор бесплатных компонент и data-aware контролов для работы с БД (Delphi) запускать хранимые процедуры Oracle с возможностью получения сообщений из этих процедур в Delphi приложении в реальном времени. Функция получения сообщений в компоненте может быть использована для протоколирования, построения прогресс-баров, отладки - т.е. в тех случаях, когда требуется отправить клиентскому приложению любую информацию из хранимой процедуры во время ее выполнения.
    • хранимые процедуры можно запускать как в потоке приложения, так и в отдельном потоке;
    • получение сообщений из хранимых процедур Oracle через событие в компоненте, используя механизм dbms_pipe (режим emPipe) или механизм опроса таблицы в автономной транзакции (режим emLogTable);
    • обмен сообщениями между клиентом и Oracle присходит в рамках сессии;
    • остановка хранимой процедуры любой момент с откатом изменений базы;
    • готовые PL/SQL процедуры для отправки сообщений из хранимых процедур;
TwzsOraProcExecutor - запуск хранимых процедур Oracle из Delphi
  • TwzsOracleDataset - TOracleDataset со следующими расширениями:
    • KeepBookmark: возможность восстановления позиции текущей записи после вызова Refresh метода;
    • RefreshAfterPost: обновление датасета после Post;
    • метод SQLExprSetOrderBy: модификация order by блока в sql выражении;
    • AllowInsert, AllowDelete: запрет вставки/удаления;
  • GetFieldData - возвращает в TStrings результат выполнения запроса при выборке одного поля;
  • GetFinalSQL - возвращает текст запроса с подставленными значениями переменных Oracle;
  • GetSessionID - возвращает идентификатор сессии;
  • GetOraConnectInfo - получение информации о хосте сервера, с которым соединена текущая сессия (имя хоста, IP и т.д.);
Требования: Delphi 7, установленный Direct Oracle Access. Для работы компоненты TwzsOraProcExecutor в режиме получения сообщений, необходимо скомпилировать пакеты из папки "ope_pkgs\ope_*.sql".

Установка пакетов wzsTools

  • распаковать архив в любую папку с сохранением структуры;
  • открыть, скомпилировать и установить пакет Common\wzsToolsCommonD[x].dpk;
  • открыть, скомпилировать и установить нужный пакет из соответствующей папки (напр., wzsComponents\wzsComponentsD7.dpk);
  • добавить в Library Path пути ко всем установленным пакетам;
[x] - версия Delphi.