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

TStringList Objects


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

TStringList предоставляет механизм для доступа к строкам, хранящимся в потоке. Каждая строка, хранящаяся в списке строк идентифицируется уникальным номером (ключем) между 0 и 65,535. Списки строк занимают меньше памяти, чем обычные строки, поскольку строки хранятся в потоке, а не в памяти. Кроме того, списки строк легко решают проблему настройки программ на языки, поскольку строки не "встроены" в программу. TStringList имеет методы только для доступа к строкам; для создания списка строк Вы должны использовать TStrListMaker. Заметим, что TStringList и TStrListMaker имеют один ID типа объекта (поле ObjType в TStreamRec) и следовательно, не могут регистрироваться и использоваться одновременно в одной программе.

Методы

Load constructor Load(var S:TStream); Загружает индекс списка строк из потока S и хранит ссылку на S так, что TStringLis.Get может обращаться к потоку при чтении строк. Считая, что TStringList был зарегистрирован, используя RegisterType(RStringList), здесь показано, как считать список строк (созданный с использованием TStrListMaker и TResourseFile.Put) из файла ресурса:

ResFile.Init(New(TBufStream, Init('MYAPP.RES', stOpenRead, 1024))); Strings := PStringList(ResFile.Get('Strings'));

См. так же: TStrListMaker.Init, TStringList.Get

Done destructor Done; virtual; Перекрывается: Никогда Освобождает память, распределенную под список строк.

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

Get function Get(Key: Word): String; Возвращает строку, заданную через Key, или пустую строку, если нет строки с данным Key. Например:

P := @FileName; FormatStr(S, Strings^.Get(sLoadingFile), P);

См. так же: TStringListMaker.Put



Содержание раздела