|
Компонент OperationsCombinedFiles, как и OperationsCombinedFilesWithRAR предназначен для создания файлов "своего" типа, то есть в такие файлы можно поместить данные (Stream) друг за другом, а потом извлечь согласно индексу, под которым они были занесены. Отличие от вышеуказанного компонента в том, что WinRAR не используется, то есть компонент самодостаточен. Но из-за этого в нём нет таких функций, как сжатие, установка пароля и всех тех, которые являются чисто "RAR'овскими". Впрочем, всё это можно реализовать в программе, используя дополнительные компоненты, например, CryptCast128 - компонет для шифрования по одноимённому алгоритму, а также штатный компонет для ZIP-компрессии и другие. Используемый алгоритм чтения позволяет быстро добраться даже до тех данных, которые глубоко лежат (в конце файла), если эти данные не слишком большие, даже если первые данные очень большие.
Итак, методы.
doDataWrite записывает данные DataWr. Первым данным присваивается индекс 1, следующим - 2 и т. д., так что указывать индекс при записи не нужно (да и невозмонжо).
doDataRead читает данных, сохранённые под индексом Index. У первых данных индекс 1.
doDataReplace заменяет данные с индексом Index в файле FileName на данные DataWr. Если всего данных в файле а, а Index для замены больше а, то ничего не произойдёт.
doDataChange меняет местами данные с индексами Index и Index1.
doDataDelete удаляет данные с индексом Index. Первые данные идут под индексом 1. Примечание. Если в файле были удалены, например, первые данные, то все последующие сдвигаются на единицу вверх, то есть вторые данные становятся первыми, третьи - вторыми и т. д. Это напоминает сосуд с шариками: если убрать нижний (в нашем случае - верхний) шарик, то все упадут вниз, и тот, который был 2-м, станет первым.
doDataPaste вставляет данные в файл FileName между данными с индексом Index и ПРЕДЫДУЩИМИ данными. Например, если указать 1, то новые данные встанут перед первыми и станут сами первыми. Можно вставить новые данные между последними и предпоследними данными, но нельзя вставить их после последних данных, т.к. для добавления данных в конец файла используется doDataWrite.
FileName имя файла, с которым будет работать компонент.
DataWr данные (Stream) для записи.
Index индекс записанных данных, используется только для чтения данных, а на запись никак не влияет. Должен быть не меньше 1.
Index1 дополнительный индекс данных для метода doDataChange.
Count количество записанных данных. Не требует вызова метода так же, как, например, точка Data компонета DataToFile.
DataSize содержит размер данных после вызова метода doDataRead
onData данные, выдаваемые в поток после вызова doDataRead.
А теперь - свойства.
FileName имя файла для операций. Обычно свойство используется, если одна копия компонента работат только с одним и тем же файлом.
Index, как и FileName, используется, если с помощью одной копии компонента требуется извлекать данные всегда под одним и тем же индексом.
Index1 дополнительный индекс данных для метода doDataChange.
DeleteEmptyFile определяет действие, если при удалении данных файл оказался пустым: либо удаляет его (True), либо оставляет
|