KSDAT v0.5 Reference


1. Описание

    KSDAT-Open Souce модуль для хранения данных программы (файлов, неких записей и т. д.), поддерживающий отключаемое при необходимости сжатие и возможность лёгкого добавления шифрования. Структура хранения данных в памяти построена на коллекциях записей, в которых легко оперировать данными(добавление, удаление, модификация). При сохранении данных в файл, происходит их компрессия(если не указано обратное) и вызов пользовательской процедуры дополнительной обработки(если таковая имеется), в которой можно, например, зашифровать данные; при открытии файла вызывается другая процедура пользователя, которая должна привести данные в исходный вид, затем происходит распаковка и воссоздание структуры записей в коллекции.
    KSDAT обладает довольно таки быстрым алгоритмом сжатия, взятым из примера Compress_Methods.


2. С чего начать?

    Для начала посмотрите пример использования модуля-небольшой архиватор, затем посмотрите описания свойств и методов объектов KSDAT ниже.


3. Обзор классов KSDAT

  1.) KSDAT_DB

    Это-основной модуль, служащий для сборки, сжатия, сохранения и загрузки данных. Ниже следует обзор его свойств и методов:

Load(FileName As String) - Загружает и обрабатывает файл, извлекая из него данные и их структуру.

SetBinary(Data() As Byte) - Тоже самое, но принимает массив байт, содержащих структуру и данные, который можно получить вызвав CreateBinary. Может быть полезно, если вы, например, хотите держать в одном DAT несколько других и загружать их прямо их памяти.

Save(FileName As String, Optional NoCompress As Boolean) - собирает, сжимает и сохраняет данные на диск. Если NoCompress=True, то сжатия не происходит.

CreateBinary(Optional NoCompress As Boolean) As Byte() - собирает и сжимает данные, возвращая полученный массив байт, который в последствии можно присвоить какому нибудь KSDAT_DB, методом SetBinary. Если NoCompress=True, то сжатия не происходит.

Event BeforeSave(Data() As Byte) - вызывается перед сохранением готового DAT'а. Вы можете зашифровать массив Data или провести какие-либо другие операции, но тогда вы должны привести их в исходный вид, при вызове BeforeLoad

Event BeforeLoad(Data() As Byte) - вызывается перед обработкой данных. Если вы изменяли данные в BeforeSave, то вы должны привести их в исходный вид.

Property DataRecords (Read-only) - возвращает коллекцию записей.

  2.) KSDAT_DRCollection

    Это-коллекция записей в KSDAT_DB. Возможно перечисление For Each ... In ... .Ниже слежует обзор методов:

Add(Data() As Byte, dName As String, Optional Before, Optional After) As KSDAT_DataRecord - добавляет запись. Data() - массив данных, dName-заголовок,при сохранении обрезаемый до 256 символов. Возвращает ссылку на созданный KSDAT_DataRecord.

AddBin(Data() As Byte, Optional Before, Optional After) As KSDAT_DataRecord - служебная Count() As Long - возвращает количество записей.

Remove(Index) - удаляет элемент.

Item(Index) As KSDAT_DataRecord - возвращает запись с указанным индексом

  3.) KSDAT_DataRecord

    Это-класс записи. Ниже следует обзор его свойств и методов:

SetData(Data() As Byte) - задаёт массив данных. Массив копируется, а не держится по ссылке.

GetData() As Byte() - возвращает свежескопированный массив данных.

Property dName() As String - заголовок. Не более 256 символов.



SetBinary(Data() As Byte) - служебная

GetBinary(Data() As Byte) - служебная





(c) Цуканов Никита aka keks-n      Апрель 2006