Советы по Delphi

         

TstringList и потоки


Возможно ли выполнить StringList.SaveToStream во время процесса WriteComponent? Если необходимо создать код, сохраняющий каждую строку, могу ли я воспользоваться Stream.WriteStr, или мне необходимо сохранять длину в байтах + сами символы? (Все мои строки < 256 символов).

Вы можете легко записывать строки, если определите, что список строк вместо DefineBinaryPropery должен использовать DefineProperty. Чтение и запись должны выпоняться соответственно с помощью методов TReader и TWriter. Записывать вы можете приблизительно так:

    Writer.WriteListBegin ; for i := 0 to TheStringList.Count - 1 do Writer.WriteString( TheStringList[ i ] ) ; Writer.WriteListEnd ;

Для чтения можно воспользоваться следующим кодом:

    Reader.ReadListBegin ; while not Reader.EndOfList do TheStringList.Add( Reader.ReadString ) ; Reader.ReadListEnd ;

- Mike Scott [000977]



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