Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Пример TWriter и TReader

Вот что вы должны cделать для того, чтобы с помощью TWriter/TReader записать строку в поток. До сих пор для простоты я использую TMemoryStream.

Ключевыми являются вызовы Read/WriteListBegin и Read/WriteListEnd. Без них вы получите исключение.


procedure TForm1.Button1Click(Sender: TObject);
var
  sWrite, sRead: string[25];

  MyStream: TMemoryStream;
  MyWriter: TWriter;
  MyReader: TReader;
begin

  MyStream := TMemoryStream.Create;
  MyStream.SetSize(4096);
  MyWriter := TWriter.Create(MyStream, 4096);
  sWrite := 'sWriteContents';

  MyWriter.WriteListBegin;
  MyWriter.WriteString(sWrite);
  MyWriter.WriteListEnd;
  MyWriter.free;

  MyStream.Seek(0, 0);

  MyReader := TReader.Create(MyStream, 4096);
  MyReader.ReadListBegin;
  sRead := MyReader.ReadString;
  MyReader.ReadListEnd;
  MyReader.free;

  Label1.Caption := sRead;
  MyStream.free;
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay