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

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

Программа действует следующим образом. Запрашивает имя файла, открывает его для записи, запрашивает информацию, записывает ее в файл до введения пользователем сочетания букв "QWE" или "ЙЦУ" (эти символы расположены на одних клавишах, вследствие чего пользователь может случайно набрать как одну комбинацию, так и другую). Запись в файл может производиться операторами:

PRINT # номер_файла, выражение

…или:

WRITE # номер_файла, выражение

Результат работы этих операторов одинаков.

Для закрытия файлов применяется оператор:

CLOSE # номер_файла

Предупреждение
Если номер файла в операторе close указан, то будет закрыт именно этот, вполне определенный файл. Если же номер не указан, будут закрыты все открытые файлы
.

Наберите эту программу с именем создаваемого файла avto.dat.

Занесите сведения о пяти автомобилях: двух "Москвичах" и трех "Волгах". После чего просмотрите созданный вами файл в редакторе Бейсика. Для этого надо в меню Файл выбрать команду Открыть, затем в появившемся диалоговом окне ввести имя файла avto.dat и нажать клавишу Enter. Вы увидите, что данные в файле записаны в кавычках, через запятую, т. е. все они текстового типа.

Чтение из файла

Чтение из файла производится аналогично записи, но – вместо режима output используется режим input. Будьте внимательны! Прочитаем занесенные нами данные из файла avto.dat.

' Программа чтения файла данных об автомобилях
CLS
INPUT " Введите имя файла"; F$
1 Открытие файла
OPEN F$ FOR INPUT AS #1
PRINT "База данных автомобилей на 17 декабря 2000 года"
1=1
DO
PRINT "Вывести данные об"; I; "автомобиле?"
INPUT "Для окончания введите QWE, для продолжения – <strong>Enter</strong>"; M$
IF UCASE$(M$)="QWE" OR UCASE$(M$)="ЙЦУ" THEN 1
INPUT #1, M$, N$, C$, G$, S$
PRINT M$, N$, C$, G$, S$
1=1+1 LOOP UNTIL EOF(l) 1 Закрытие файла 1: CLOSE #1 PRINT "Файл закрыт"

Обратите внимание на оператор loop until eof(1). Он означает, что считывание ведется до тех пор, пока не будет обнаружен символ конца файла (end of file), а в скобках указан номер открытого файла.

Выведите с помощью этой программы данные о первых трех автомобилях.

Изменения данных в файле

Для изменения какой-либо записи, удаления старых или добавления новых данных в последовательном файле необходимо открыть два файла: подлежащий изменению и новый, в котором создается обновленная версия исходного файла. Старый файл в дальнейшем можно удалить. Приведенная ниже программа в файле avto.dat изменяет "МОСКВИЧ" на "МЕРСЕДЕС". В первых строках открываются исходный файл avto.dat и новый файл avto2.dat, сначала пустой. Очередная запись считывается из файла avto.dat и, при условии, что это не "МОСКВИЧ", переписывается без изменения в новый файл. Если же встречается значение "МОСКВИЧ", то оно заменяется на "МЕРСЕДЕС" путем присваивания нового значения переменной м$. В следующей строке данное значение попадает в выходной файл. После того как весь входной файл просмотрен, оба файла закрываются.

OPEN "avto.dat" FOR INPUT AS #1 OPEN "avto2.dat" FOR OUTPUT AS #2 FOR 1=1 TO 5
INPUT #1, M$, N$, C$, G$, S$
IF UCASE$(M$)="MOCKBM4" THEN М$="МЕРСЕДЕС"
PRINT #2, M$, N$, C$, G$, S$ NEXT I CLOSE 1, 2 KILL "avto.dat"
NAME "avto2.dat" AS "avto.dat" END

Заключительный этап – удаление исходного и переименование нового файла, которому придается прежнее имя, что обеспечивает и в дальнейшем наличие на дискете файла avto.dat.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.