Потоки
Сущность потоков
Основным способом хранения данных в 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.