Иллюстрированный самоучитель по Basic, вводный курс

Открытие файла

Для открытия файла предназначен оператор open, имеющий следующий формат:

OPEN имя_файла FOR режим AS # номер файла

С именем файла должно быть уже все понятно. Режим определяет доступ к данным файла. Возможны следующие режимы:

  • input. Это режим чтения информации из файла. В случае, если указывается несуществующее имя файла, возникнет сообщение об ошибке "Файл не найден".
  • output. Режим записи информации в файл. Обычно при этом создается новый файл. Если же открывается для записи уже существующий файл, то ранее хранимая в нем информация будет безвозвратно утеряна.
  • append. Режим добавления информации в файл. Новая информация будет размешена в конце файла, за последней записью.

Номер файла предваряется необязательным знаком #, после которого следует целое число от 1 до 255.

Запись в файл

Рассмотрим пример записи в файл.

OPEN "capitals.dat" FOR OUTPUT AS #1 FOR X=l TO 5
INPUT "ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ"; F$
PRINT #1, F$ NEXT X CLOSE #1 END

В результате работы программы мы получим (полужирным шрифтом выделены данные, вводимые пользователем с клавиатуры):

ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ
? МОСКВА
ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ
? САНКТ-ПЕТЕРБУРГ
ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ
? ТАЛЛИН
ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ
? РИГА
ВВЕДИТЕ НАЗВАНИЕ СТОЛИЦЫ
? ВИЛЬНЮС

При этом на диске в текущем каталоге образуется файл, содержащий пять строковых значений. Имя файла будет capitals.dat.

Удобнее всего при работе с файлами сделать текущим каталог, где эти файлы содержатся или будут содержаться, а при обращении к ним указывать только их имена.

В качестве параметра имя_файла можно использовать переменную текстового типа. Это позволяет вводить имя файла с клавиатуры и является универсальным способом работы с файлами. Например:

INPUT " Введите имя файла "; FileName$ OPEN FileName$ FOR OUTPUT AS #1

После ключевого слова as указывается номер файла. Больше открыть файл с таким номером в данной программе нельзя. Для каждого последующего файла должен быть указан свой собственный неповторимый номер в пределах от 1 до 255. Сколько всего может быть открыто файлов, зависит от файла конфигурации вашего компьютера config.sys, в котором число одновременно открытых файлов определяется командой files.

Предупреждение
Во избежание неприятностей не открывайте одновременно слишком много файлов. Рекомендуется по окончании работы с файлом сразу закрыть его
.

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

' Программа создания файла данных об автомобилях
CLS
INPUT " Введите имя файла"; F$
' Открытие файла
OPEN F$ FOR OUTPUT AS #1
DO
INPUT "Марка автомобиля? (Для окончания работы введите QWE.); М$
IF UCASE$(M$)="QWE" OR UCASE$(M$)="ЙЦУ" THEN 1
INPUT "Номер автомобиля?"; N$
INPUT "Цвет автомобиля?"; С$
INPUT "Год производства автомобиля?"; G$
INPUT "Продажная цена автомобиля?"; S$
WRITE #1, М$, N$, C$, G$, S3 LOOP
' Закрытие файла 1: CLOSE #1 PRINT "Файл сформирован"
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.