Иллюстрированный самоучитель по Turbo Pascal

Потоки

  • Сущность потоков

    Основным способом хранения данных в Turbo Vision является их размещение в полях объектов. Это, разумеется, не означает, что Ваша программа должна использовать исключительно поля объектов и/или методы доступа к ним – программа в среде Turbo Vision – это прежде всего программа на Турбо Паскале, а следовательно, Вы можете использовать в ней и все другие средства этой системы программирования.
  • Регистрация объектов

    Для регистрации любого объекта используется обращение к глобальной процедуре Register-Type, определенной в интерфейсной части модуля Objects. Единственным параметром обращения к этой процедуре является запись типа TStreamRec, в которой группируются некоторые важные для Turbo Vision характеристики объекта: | type | PStreamRec = ATStreamRec; | TStreamRec = record | ObjType: Word;
  • Создание и удаление потока

    Для работы с потоками в Turbo Vision предусмотрен абстрактный тип TStream и три его потомка – TDOSStream, TBufStream и TEMSStream. | Объект TDOSStream реализует небуферизованный доступ к файлу или файловому устройству.
  • Работа с потоком. Методы Put и Get.

    Базовый объект TStream реализует три метода, используемых для непосредственной работы с потоком. Метод TStream.Put предназначен для передачи объектов в поток и выполняет приблизительно такие же функции, как стандартная файловая процедура Write.
  • Методы Store и Load

    Метод Store осуществляет запись данных в поток. Для этого он использует метод низкого уровня Write, передавая ему в качестве параметров имя записываемого поля и длину поля в байтах. Заметим, что Вам нет нужды записывать все поля объекта: для записи наследуемых полей достаточно просто обратиться к методу Store объекта-родителя.
  • Обработка ошибок. Прямой доступ к потокам. Использование потоков с произвольными данными.

    При обнаружении ошибки поток вызывает свой метод TStream.Error, который определяет необходимую реакцию программы. По умолчанию этот метод просто записывает информацию об ошибке в поля TStream.Status и TStream.ErrorInfo.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.