Оператор задания поля для вывода информации на экран монитора - WIDTH
Назначение: Задает число строк и число позиций в строке при выводе данных на экран монитора.
Синтаксис: WIDTH <длина строки>[, <число строго]
Аргумент <длина строки> позволяет установить ширину экрана, при выводе информации на монитор; при этом изменяется размер символов; допустимо только два возможных значения этого аргумента - 40 и 80, по умолчанию принимается значение 80.
Аргумент <число строк> может принимать значения 25, 30, 43, 50 или 60 строк, и это зависит от типа используемого адаптера (EGA, VGA, MCGA) и режима вывода на экран, заданного оператором SCREEN.
9.10. Оператор вывода данных с символами-разделителями на экран монитора - WRITE
Назначение: Вывод данных на экран монитора.
Синтаксис: WRITE [<список выражений>]
Если <список выражений> опущен, то на экран выводится пустая строка. Если <список выражений> задан, то значения выражений выводятся на экран дисплея. Выражения в списке могут быть числовыми и строковыми и должны быть разделены запятыми. При выводе на экран каждый печатаемый элемент отделяется от предыдущего запятой.
9.11. Операторы вывода данных на принтер -LPRINT, LPRINTUS1NG
Назначение: Вывод данных на принтер LPT1.
Синтаксис 1: LPRINT [<список выражений>][(; | ,}]
Синтаксис 2: LPRINT USING <шаблон>, <список выражений>[(; | ,}]
Эти операторы по своему действию аналогичны операторам PRINT и PRINT USING и отличаются от них только тем, что информация выводится на печатающее устройство. Оператор LPRINT предполагает использование принтера с длиной строки 80 символов. Эта характеристика может быть изменена оператором WIDTH LPRINT.
9.12. Операторы вывода данных в файл -PRINT #, PRINT USING
Назначение: Запись данных в последовательный файл.
Синтаксис: PRINT #<номер файла>, (USING <шаблон>;) <список выражений>[(,;3)]
Аргумент <номер файла> соответствует номеру, присвоенному при открытии файла. Аргумент <шаблон> состоит из форматирующих символов введенных при описании оператора PRINT USING. Выражения из <списка выражений> могут быть числовыми или строковыми, и их значения предназначены для записи в файл. Если <список выражений> отсутствует, то оператор PRINT # помещает в фаю пустую строку.
Оператор PRINT # записывает данные в файл точно так же, как оператор PRINT выводит данные на экран.
Тема 10
10. Операторы работы с файлами
Оператор открытия файла или устройства ввода-вывода -OPEN
Оператор закрытия файла или устройства ввода-вывода – CLOSE
Оператор закрытия всех файлов - RESET
Оператор удаления файла - KILL
Оператор вывода списка имен файлов - FILES
Оператор изменения имени файла - NAME
Оператор записи управляющей строки в драйвер - IOCTL
Оператор пересылки содержимого области памяти в файл или на устройство - BSAVE
Оператор загрузки образа памяти из файла или устройства - BLOAD
Операторы захвата и освобождения файла - LOCK, UNLOCK
Оператор выделения памяти (для файлов произвольного доступа) - FIELD
Операторы записи информации в файл и считывания из файла - PUT, GET
Оператор изменения текущего каталога – CHDIR
Оператор создания нового каталога - MKDIR
Оператор удаления каталога - RMDIR
Файл - это набор логически связанных данных, который располагается на внешнем носителе информации. В зависимости от способа организации данных различают файлы двух типов: файлы с последовательным и с произвольным доступом.
В файлах с последовательным доступом данные размещаются в порядке их поступления в файл; при чтении такого файла данные становятся доступными в том порядке, в котором они были записаны.
В файлах с произвольным доступом данные организуются таким образом, что доступ к ним может быть осуществлен в любом порядке, независимо от того, в какой последовательности данные помещаются в файл. В этом случае нет необходимости при поиске нужных данных просматривать файл от начала до конца, как это делается для файлов с последовательным доступом.
Файлы на диске и на устройстве печати могут быть определены как файлы с последовательным или произвольным доступом. Для всех остальных устройств могут быть определены только последовательные файлы.
Возможность использования файла для ввода данных (файл ввода) или для вывода данных (файл вывода) зависит от типа периферийного устройства. Так, для клавиатуры могут быть определены только файлы ввода; для дисплея и печати - только файлы вывода; для магнитных дисков - файлы ввода и вывода.
Обработка файла на дисках начинается с открытия файла. Затем с помощью операторов и встроенных функций можно читать данные из файла или записывать в файл.
Каждый файл формируется из записей. Под записью в языке BASIC понимают элемент данных, передаваемых в файл илииз файла в результате выполнения операций ввода-вывода. Файл на диске однозначно идентифицируется именем файла, состоящим из собственно имени и идентификатора типа.
Группа операторов работы с файлами объединяет операторы следующего назначения:
для файлов последовательного доступа:
• открытия, закрытия и удаления файла;
• вывода оглавления каталога;
• записи содержимого области памяти в файл;
• загрузки образа памяти из файла;
• изменения имени файла;
• записи управляющей строки в драйвер;
• установки начальной позиции в файле;
• захвата и освобождения файла;
для файлов произвольного доступа:
• выделения памяти;
• записи информации в файл и считывание из файла;
• размещения данных в буфере;
• изменения, удаления текущей и создания новой директории.
10.1. Оператор открытия файла или устройства ввода-вывода -OPEN
Назначение: Позволяет определить файл или устройство для ввода или вывода данных.
Синтаксис:
1. OPEN <файл> [FOR <тип организации 1>][ACCESS <режим доступа>] [<статус доступа>] AS [#]<номер файла> [LEN = <длина записи>]
2. OPEN <тип организации 2>,[#]<номер файла>, <файл> [, <длина записи>]
Аргумент <файл> - строковое выражение, которое содержит либо зарезервированное слово, определяющее устройство, либо имя файла или маршрут к файлу, аналогично маршруту, определяемому в среде DOS.
Аргумент <тип организации 1> определяет способ организации данных в файле и указывает направление передачи данных.
Аргумент Описание <тип организации 1>
OUTPUT Последовательный файл вывода
INPUT Последовательный файл ввода
APPEND Последовательный расширяемый файл вывода. Указатель позиции в файле устанавливается на конец файла, а указатель номера записи - на последнюю запись. Операторы PRINT # и WRITE # будут записывать данные в конец файла
RANDOM Файл произвольного доступа. Этот режим устанавливается по умолчанию. Если не указана опция ACCESS в этом режиме, то при выполнении оператора OPEN, осуществляются три попытки открыть файл. Попытки установить доступ к файлу выполняются в следующем порядке:
1) чтение/запись;
2) только запись;
3) только чтение
BINARY Двоичный файл. Для чтения и записи информации в любой байт файла используются операторы GET и PUT. Если не определена опция ACCESS, то осуществляются три попытки открыть файл; они следуют в том же порядке, как и для файла произвольного доступа
Аргумент <режим доступа> - выражение, определяющее тип операции, выполняемой над открываемым файлом.
Аргумент Описание <режим доступа>
READ Файл открывается только для чтения;
WRITE Файл открывается только для записи;
READ WRITE Файл открывается как для чтения, так и для записи. Этот режим возможен только для файлов произвольного доступа, двоичных файлов и файлов, открываемых для работы с опцией APPEND;
Опция <статус доступа> используется в многозадачном режиме для ограничения доступа других процессов (задач) к открытому файлу. Тип защиты может быть следующим:
Опция Описание <статус доступа>
Отсутствует Если статус доступа не указан, файл может быть
(По умолчанию) открыт для чтения и записи любое число раз в этом процессе, но другим процессам запрещен доступ до тех пор, пока файл открыт
SHARED Любой процесс на любой машине может читать из файла или записывать в него
LOCK READ Другим процессам запрещается чтение из файла. Этот статус допустим только тогда, когда нет других процессов с режимом доступа READ
LOCK WRITE Другим процессам запрещается записывать в файл. Данный статус допускается только при условии, что нет процессов у которых уже установлен режим доступа WRITE
LOCK READ WRITE Другим процессам запрещается как читать из файла, так и записывать в него. Этот статус допустим при отсутствии процессов, имеющих режимы доступа READ или WRITE, а также если ранее не были установлены статусы LOCK READ или LOCK WRITE
Аргумент <номер файла> - числовое выражение целого типа, значение которого должно быть в диапазоне от 1 до 255. Когда выполняется оператор, номер ассоциируется с самим открываемым файлом.
Аргумент <длина записи> - числовое выражение целого типа.
Вторая синтиксическия форма оператора OPEN
Аргумент <тип организации 2> - строковое выражение, единственный символ которого должен быть одним из следующих:
Аргумент Описание <тип организации2>
O Последовательный выводной файл
I Последовательный вводной файл.
R Файл произвольного доступа для ввода-вывода
В Двоичный файл
А Последовательный расширяемый файл вывода. Указатель позиции в файле устанавливается на конец файла, а указатель номера записи - на последнюю запись.
Операторы PRINT # и WRITE # будут записывать данные в конец файла.
10.2. Оператор закрытия файла или устройства ввода-вывода - CLOSE
Назначение: Завершение работы с файлами или устройствами ввода-вывода.
Синтаксис: CLOSE [[#]<номер файла>[, [#]<номер файла>]...]
Аргумент <номер файла> - номер, под которым был открыт файл. В операторе нет аргумента, с помощью которого было бы возможно сразу закрыть все открытые файлы и устройства.
10.3. Оператор закрытия всех файлов - RESET
Назначение: Закрывает все дисковые файлы.
Синтаксис: RESET