8.6. Приложение № 3. Операторы файлового ввода-вывода на языке Quick Basic
ОПЕРАТОР |
INPUT |
НАЗНАЧЕНИЕ: |
Форматированный ввод значений переменных из текстового файла; |
СИНТАКСИС: |
INPUT #filenumber%, variablelist, где
-
filenumber% Номер файла, открытого функцией OPEN. Если этот номер не указан (поле пропущено), происходит ввод значений с клавиатуры;
-
variablelist - список числовых переменных, которым присваиваются значения;
|
ОПИСАНИЕ: |
Оператор осуществляет форматированный ввод значений переменных, перечисленных в строке <список переменных> в конце оператора. В качестве значений распознаются символы: ".", "0-9" и "A-Za-z"; |
ПРИМЕЧАНИЕ: |
- Оператор INPUT использует запятую как разделитель между именами переменных;
- При клавиатурном вводе точка с запятой сразу после имени оператора позволяет курсору остаться на той же строке, с которой производится ввод после нажатия клавиши "Enter" ;
|
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |
ОПЕРАТОР |
LINE INPUT |
НАЗНАЧЕНИЕ: |
Неформатированный ввод значений в текстовую переменную из текстового файла; |
СИНТАКСИС: |
INPUT #filenumber%, variable$, где
-
filenumber% - Номер файла, открытого функцией OPEN. Если этот номер не указан (поле пропущено), происходит ввод значений с клавиатуры;
-
variable$ - имя текстовой переменной, в которую записывается прочитанная строка.
|
ОПИСАНИЕ: |
Оператор осуществляет неформатированный ввод строки в указанную переменную. В качестве значений допускаются любые символы; |
ПРИМЕЧАНИЕ: |
- Оператор LINE INPUT читает все символы до нажатия пользователем клавиши "Enter" ;
- При клавиатурном вводе точка с запятой сразу после имени оператора позволяет курсору остаться на той же строке, с которой производится ввод после нажатия клавиши "Enter" ;
|
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |
ОПЕРАТОР |
PRINT |
НАЗНАЧЕНИЕ: |
Вывод списка числовых и символьных переменных, выражений и литералов в файл; |
СИНТАКСИС: |
PRINT [#filenumber%,] [expressionlist] [{; | ,}], где
-
filenumber% - Номер файла, открытого функцией OPEN. Если этот номер не указан (поле пропущено), происходит вывод значений на экран;
-
expressionlist - список из одной или более числовых или символьных выражений, выводимых на печать;
-
{; | ,} - разделители, применяемые к выводу следующего выражения и означающие следующее:
-
; - означает печать сразу после вывода предыдущего выражения;
-
, - означает печать следующего выражения сначала следующей "зоны вывода"
-
<пусто> - означает вывод с новой строки;
|
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |
ПРИМЕЧАНИЕ: |
в Quick Basic зона печати имеет ширину в 14 символов. |
ОПЕРАТОР |
PRINT USING |
НАЗНАЧЕНИЕ: |
Форматированный вывод списка числовых и символьных переменных, выражений и литералов в файл. Формат выводимых выражений определяется строкой формата: formatstring$ ; |
СИНТАКСИС: |
PRINT [#filenumber%,] USING formatstring$; expressionlist [{; | ,}], где
-
filenumber% - Номер файла, открытого функцией OPEN. Если этот номер не указан (поле пропущено), происходит вывод значений на экран;
-
formatstring$ - текстовая строка, содержащая в себе один или более "опций формата". Её формат смотри ниже, в таблице 7.1
"Буферизированный (потоковый) ввод-вывод. Часть II"
;
-
expressionlist - список из одной или более числовых или символьных выражений, выводимых на печать;
-
{; | ,} - разделители, применяемые к выводу следующего выражения и означающие следующее:
-
; - означает печать сразу после вывода предыдущего выражения;
-
, - означает печать следующего выражения сначала следующей "зоны вывода"
-
<пусто> - означает вывод с новой строки;
|
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |
Кроме того, для открытия или закрытия файлов для чтения/записи используются операторы OPEN и CLOSE. Их описание также смотрите ниже.
ОПЕРАТОР |
OPEN |
НАЗНАЧЕНИЕ: |
Открывает файл для чтения-записи |
СИНТАКСИС: |
OPEN file$ [FOR mode] [ACCESS access] [lock] AS [#]filenumber% [LEN=reclen%], где
-
file$ - имя файла или устройства. Имя файла может включать диск и полный путь к файлу;
-
mode - один из следующих режимов файла: APPEND, BINARY, INPUT, OUTPUT или RANDOM. Подробнее о режимах открытия файлов смотри таблицу 8.2;
-
access - в сетевом окружении указывает, в каком режиме открыт файл: для чтения, записи, или доступ для чтения записи. Смотри таблицу 8.2;
-
lock - указывает блокировку файлов в сетевом (многопользовательском) окружении. Возможные значения: SHARED, LOCK READ, LOCK WRITE, LOCK READ WRITE:
-
SHARED - означает "общий ресурс", блокировкой которого управляет операционная система;
-
LOCK READ - означает возможность блокировки файла для чтения;
-
LOCK WRITE - означает блокировку файла для записи;
-
LOCK READ WRITE - означает блокировку файла для чтения записи;
-
<пусто> - файл может использоваться только локально одним пользователем;
-
filenumber% - Число в пределах от 1 до 255, которое определяет номер файла в операциях чтения-записи;
-
reclen% - для файлов с произвольным доступом - длина записи (по-умолчанию 128 байт); для файлов с последовательным доступом - размер буфера в символах (по-умолчанию 512 байт);
|
ОПИСАНИЕ: |
Данный оператор открывает файл для чтения-записи и связывает с его имя с определённым номером файла, который может принимать значение от 1 до 255; |
ПРИМЕЧАНИЕ: |
- С помощью этой функции можно открыть не только файл, но и, например, устройство, обозначенное символами устройства MS-DOS: CON, AUX, COM1-COM6, PRN, LPT1-LPT4 и NUL;
- Чаще всего используются режимы (mode) INPUT (для последовательного ввода текстовых данных) и OUTPUT (для последовательной записи в новый текстовый файл);
|
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |
Таблица
8.2.
Режимы открытия файлов операторами языка BASIC.
Значения переменных mode и access для оператора OPEN Quick Basic |
Переменная mode |
FOR |
РЕЖИМ |
APPEND |
указывает, что файл открыт для последовательного вывода и устанавливает указатель записи в конец файла. Операторы PRINT # и WRITE # будут "дописывать" (дополнять) значения с конца этого файла; |
BINARY |
указывают на "двоичный" режим открытия файла. При этом режиме Вы можете читать и записывать информацию в любую позицию файла, используя операторы GET и PUT; |
INPUT |
указывает, что файл открыт для последовательного ввода в текстовом режиме; |
OUTPUT |
указывает, что файл открыт для последовательного вывода в текстовом режиме; |
RANDOM |
указывает, что файл открыт для произвольного доступа к своим записям; |
ПРИМЕЧАНИЕ: |
Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режима работы файла или устройства. INPUT, OUTPUT, и RANDOM также используются в операторе OPEN COM. |
ПРИМЕЧАНИЕ: |
RANDOM является режимом открытия файлов по-умолчанию; |
Переменная access |
ACCESS |
Ключевое слово указывает тип доступа к открытому файлу для пользователей сети: |
ACCESS |
{READ | WRITE | READ WRITE} |
READ |
открывает файл только для чтения; |
WRITE |
открывает файл только для записи; |
READ WRITE |
открывает файл для чтения и записи. |
ПРИМЕЧАНИЕ: |
Режим READ WRITE доступен только для режимов открытия файлов RANDOM, BINARY и APPEND (для последовательного доступа); |
ОПЕРАТОР |
CLOSE |
НАЗНАЧЕНИЕ: |
Закрывает один или более файлов или устройств; |
СИНТАКСИС: |
CLOSE [[#]filenumber%[,[#]filenumber%]...], где filenumber% номер открытого файла или устройства;
|
ОПИСАНИЕ: |
Данный файл закрывает файлы и устройства ввода-вывода, открытые оператором OPEN ; |
ПРИМЕЧАНИЕ: |
Оператор CLOSE без аргументов закрывает все открытые файлы и устройства; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет. |