Так как строковые константы и переменные широко применяются при разработке приложений, то для удобства работы с ними создан специальный класс
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.
Знаете ли Вы, что в 1965 году два американца Пензиас (эмигрант из Германии) и Вильсон заявили, что они открыли излучение космоса. Через несколько лет им дали Нобелевскую премию, как-будто никто не знал работ Э. Регенера, измерившего температуру космического пространства с помощью запуска болометра в стратосферу в 1933 г.? Подробнее читайте в FAQ по эфирной физике.