Описание языка Turbo Basic для студентов всех специальностей

Оператор OPEN подготавливает файл для чтения из файла (INPUT) или записи в файл (OUTPUT, если создается новый файл, APPEND, если добавляются записи в уже существующий файл).

INPUT OPEN имя файла FOR OUTPUT AS #номер файла APPEND Оператор CLOSE я. закрывает файл, т. е. делает невозможным чтение или запись.

CLOSE [#номер файла] Оператор CLOSE без параметров закрывает все открытые файлы.

Единицей информации, которая передается при записи в файл или чтении из файла, является запись (логическая запись) я2. Запись делится на поля. Каждое поле связано с одним элементом данных.

Могут быть созданы два типа последовательных файлов: 1) с разделителями полей, когда каждое поле автоматически отделяется специальным символом (например, запятой). Для создания такого файла используется оператор WRITE#, для чтения из него оператор INPUT#.

Данные в файле хранятся в таком виде, как если бы они набирались на клавиатуре при выполнении оператора INPUT, т. е. разделены запятыми и каждая запись заканчивается переводом строки.

Оператор INPUT# имеет вид INPUT #номер файла, список переменных, где переменные в списке по типу должны соответствовать данным в файле.

2) поля не разделены, и каждая запись точно такая же, как если бы эти данные отображались на экране или печатались на принтере. Для создания такого файла используется оператор PRINT#, для чтения из него — операторы INPUT$ или LINE INPUT#. Оператор INPUT$я. передает из файла сразу всю строку (запись) указанной длины n в символьную переменную, например, ST$ ST$я2 = INPUT$ (n, #номер файла) Оператор LINE INPUT# передает в указанную переменную ST$ всю строку независимо от ее длины LINE INPUT #номер файла, ST$ Пример (с разделителями полей): OPEN «SEQU. DAT» FOR OUTPUT AS #1 ST$ = «ИВАНОВ «INT% = 1972 FLOT! = 75.3

'теперь записываем строку в файл WRITE #1, ST$, INT%, FLOT!

ST$ = «ПЕТРОВ «INT% = 1975 FLOT! = 62.5

'записываем другую строку в файл WRITE #1, INT%, ST$, FLOT!

CLOSE #1 END Созданный файл будет следующим «ИВАНОВ «, 1972,75.3

1975, «ПЕТРОВ «, 62.5

Следующая программа читает из этого файла: OPEN «SEQU. DAT» FOR INPUT AS #1 ST$ = «» INT% = 0 FLOT! = 0 'теперь читаем строку текста из файла INPUT #1, ST$, INT%, FLOT!

PRINT ST$, INT%, FLOT!

ST$ = «» INT% = 0 FLOT! = 0 'читаем другую строку INPUT #1, INT%, ST$, FLOT!

PRINT INT%, ST$, FLOT!

CLOSE #1 END Пример (без разделителей полей): OPEN «SEQUEN. DAT» FOR OUTPUT AS #1 ST$ = «ИВАНОВ «INT% = 1972 FlOT! = 73.1

'записываем строку текста в файл PRINT #1, ST$, INT%, FLOT!

ST$ = «ПЕТРОВ «INT% = 1975 FLOT! = 64.3

'запишем другую строку, используя оператор PRINT #1, USING «+####$#. ##^^^^»; INT%, ST$, FLOT!

CLOSE #1 END Содержание созданного файла будет таким: ИВАНОВ 1972 73.1

1975 ПЕТРОВ 6.43Е+01 — 23 Следующая программа читает из этого файла: OPEN «SEQUEN. DAT» FOR INPUT AS #1 ST$ = «» ST$ = INPUT$ (80, #1) PRINT ST$ LINE INPUT #1, ST$ PRINT ST$ CLOSE #1 END 3.2. Файлы прямого доступа Файл прямого доступа состоит из записей, доступ к которым возможен в произвольном порядке по номеру записи.