reclent — задает длину записей фиксированного размера для файла с произвольным доступом длина записи (по умолчанию 128 байтов) или количество символов, записываемых в буфер, для файлов с последовательным доступом (по умолчанию 512 байтов).

В ответ на этот запрос система выясняет корректность запроса (отсутствие противоречий в параметрах) и возможность удовлетворения этого запроса (например, функционирует ли устройство или существует ли файл с таким именем или имеет ли пользователь право на обращение к этому файлу?). Если запрос не может быть удовлетворен, то система выдает информацию об ошибке в "ячейки" ОЗУ с именами ERROR, ERR и ERL.

Необходимо отметить, что обращение к файлу по его спецификации производится только один раз при открытии файла. Для наглядности покажем это на примере команды (9.1), использующей только обязательные параметры (все остальные опущены по умолчанию):

OPEN file$ AS [#]filenuinber%,

В дальнейшем все процедуры и функции обращаются к файлу через условный номер filenumber%, под которым в системной области в ОЗУ хранится спецификация файла и другая информация необходимая для работы с файлом. Следовательно этот номер не должен быть занят на момент открытия файла. При необходимости значение свободного номера может быть получено при помощи функции

FREEFILE (9.2)

Занятые номера освобождаются при закрытии файлов процедурой CLOSE [[#]filenuinber%[, [#] filenumber%] . . .] (9.3)

По умолчанию номеров CLOSE закрывает все файлы и устройства и освобождает все номера.

Физически обмен информацией с открытым файлом производится побайтно, но логической единицей обмена является запись. Ее размер может быть фиксированным или задаваться содержимым файла. Первоначально доступ к записям файла был только последовательным, так как в качестве носителя информации использовалась магнитная лента. С появлением дисков стал возможен доступ к записям в произвольном порядке.

Режим работы с файлом задается подстановкой конструкции

FOR {APPEND! BINARY] INPUT ¦ OUTPUT ¦ RANDOM) (9.4)

Где:

• APPEND означает, что файл должен быть открыт для последовательного доступа с целью добавления записей к концу файла,

• BINARY означает, что файла должен быть открыт для произвольного доступ с целью чтения и/или записи любого байта,

• INPUT означает, что файл должен быть открыт для последовательного доступа с целью записи,

• OUTPUT означает, что файл должен быть открыт для последовательного доступа с целью чтения,