Вопрос: Какой язык программирования вы предпочитаете
|
Иллюстрированный самоучитель по Турбо Паскалю
Работа с потоком
Базовый объект TStream реализует три метода, используемых для
непосредственной работы с потоком. Метод TStream.Put предназначен для передачи
объектов в поток и выполняет приблизительно такие же функции, как стандартная
файловая процедура Write. Метод TStream.Get используется для чтения объектов из
потока, его аналогом является процедура Read. Наконец, с помощью метода
TStream.Error анализируется состояние потока после
завершения некоторой операции: если обнаружена ошибка при обмене данными с
потоком, вызывается этот метод, который по умолчанию просто устанавливает
признаки ошибки в информационных полях TStream.Status и TStream.Errorlnfo.
Приблизительным аналогом метода TStream.Error служит стандартная файловая
функция IOResult.
Сразу же замечу, что в случае возникновения ошибки все последующие операции с
потоком блокируются до тех пор, пока не будет вызван метод TStream.Reset.
Методы Put и Get практически никогда не перекрываются: для реализации
операций с потоком они обращаются к виртуальным методам Store и Load, которые
должны быть определены в каждом объекте, если только этот объект помещается в
поток или считывается из него. Главное назначение методов Put и Get состоит в
обеспечении полиморфизма потока за счет контроля регистрационных номеров
объектов. Методы Load и Store никогда не вызываются прямо, но только из методов
Put и Get, т.к. они ничего не знают о регистрационных номерах и не могут
работать в полиморфных потоках.
|
|
|