Турбо Паскаль 6.0


TStrListMaker Objects


+-----------+ | TObject | +---+---+---+ +--------+ +------+ +======+========+ +------+------+ | TStrListMaker | | TStringList | +===============+ +-------------+

TStrListMaker - это простой тип объекта, используемый для создания списка строк, который используют с TStringList. Следующий фрагмент кода показывает как создавать и сохранять список строк в файле ресурса.

const sInformation = 100; sWarning = 101; sError = 102; sLoadingFile = 200; sSavingFile = 201;

var ResFile: TResourceFile; S: TStrListMaker;

begin RegisterType(RStrListMaker); ResFile.Init(New(TBufStream, Init('MYAPP.RES', stCreate, 1024))); S.Init(16384, 256); S.Put(sInformation, 'Information'); S.Put(sWarning, 'Warning'); S.Put(sError, 'Error'); S.Put(sLoadingFile, 'Loading file #s.'); S.Put(sSavingFile, 'Saving file #s.'); ResFile.Put(@S,'Strings'); S.Done; ResFile.Done; end;

Методы

Init constructor Init(AStrSize, AIndexSize: Word); Создает в памяти список строк размера AStrSize с индексом из AIndexSize элементов. Буфер строк и буфер индексов заданного размера распределяются в куче. AStrSize должен быть достаточно велик для хранения всех строк, добавляемых в список строк - каждая строка занимает свою длину плюс 1 байт. При добавлении строк в список строк (используя TStrListMaker.Put) строится индекс строк. Строки с последовательными ключами (такими как sInformation, sWarning и sError в предыдущем примере) записываются в одну индексную запись до 16. AIndexSize должен быть достаточно большим для добавления всех сгенерированных индексных записей. Каждый элемент индекса занимает 6 байт.

См. так же: TStringList.Load, TStrListMaker.Done

Done destructor Done; virtual; Освобождает память, распределенную этим объектом.

См. так же: TStrListMaker.Init

Put procedure Put(Key: Word; S: String); Добавляет String к списку строк (с заданным числовым Key).

Store procedure Store(var S: TStream); Записывает список строк в поток.

 




Начало  Назад  Вперед