скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Пример 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;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook