Класс TStringStream
Так как строковые константы и переменные широко применяются при разработке приложений, то для удобства работы с ними создан специальный класс TStringStream. Он обеспечивает хранение строки и доступ к ней во время выполнения приложения.
Он обладает стандартным для потоков набором свойств и методов, добавляя к ним еще несколько, упрощающих использование строк.
Свойство только для чтения:
property DataString: string;
Обеспечивает доступ к хранимой строке. Методы:
function Read(var Buffer; Count: Longint): Longint; override;
И:
function Write(const Buffer; Count: Longint): Longint; override;
Реализуют обычный для потоков способ чтения и записи строки для произвольной переменной Buffer.
Метод:
function ReadString(Count: Longint): string;
Обеспечивает чтение count байтов строки потока, начиная с текущей позиции.
Метод:
procedure WriteString(const AString: string);
Дописывает к строке строку AString, начиная с текущей позиции.
При работе с файлами и потоками используются дополнительные классы исключительных ситуаций.
Класс EFCreateError возникает при ошибке создания файла, a EFOpenError – при открытии файла.
При чтении/записи данных в поток могут возникнуть исключительные ситуации EReadError и EWriteError.