Операции над файлами Язык программирования BASIC
Операции над файлами Открытие файла Чтение и запись обрабатываемых данных Закрытие файла
Открытие файла OPEN имя_файла FOR режим AS # номер файла Режимы определяющие доступ к данным файла: INPUT – это режим чтения информации из файла. OUTPUT – режим записи информации в файл APPEND – режим добавления информации в файл.
Запись в файл Рассмотрим пример записи в файл: OPEN capitalist.dat FOR OUTPUT AS #1 FOR x=1 TO 5 INPUT введите название столицы; F$ PRINT #1, F$ NEXT x CLOSE #1 END
В результате работы программы мы получаем: Введите название столицы? МОСКВА Введите название столицы? КИЕВ Введите название столицы? ТАЛЛИН Введите название столицы? РИГА Введите название столицы? МИНСК
Пример 1. Создание базы данных автомобилей. CLS INPUT введите имя файла;F$ OPEN F$ FOR OUTPUT AS #1 DO Input марка автомобиля? (Для окончания введите QWE);M$ IF UCASE$(M$)=QWE THEN 1
INPUT "номер автомобиля?";N$ INPUT "цвет автомобиля?";С$ INPUT "год производства автомобиля?";G$ INPUT "продажная цена автомобиля?";S$ PRINT #1,M$, N$, C$, G$, S$ LOOP 1: CLOSE #1 PRINT "файл сформирован" Наберите эту программу с именем создаваемого файла avto.dat
Чтение из файла Осуществляется аналогично записи, но вместо режима OUTPUT используется режим INPUT. Прочитаем занесенные нами данные из файла avto.dat
CLS INPUT "введите имя файла";F$ OPEN F$ FOR INPUT AS #1 PRINT "База данных автомобилей на 17 декабря 2007 года" I=1 DO PRINT "вывести данные об";I;"автомобиле?" INPUT "Для окончания нажмите QWE, для продолжения ";M$ IF UCASE$(M$)="QWE" THEN 1 INPUT #1, M$,N$,C$,G$,S$ I=I+1 LOOP UNTIL EOF(1) 1: CLOSE #1 PRINT "файл закрыт" Оператор LOOP UNTIL EOF(1) означает, что считывание ведется до тех пор, пока не будет обнаружен символ конца файла, а в скобках указан номер открытого файла.
Изменение данных в файле Для изменения какой-либо записи, удаления старых или добавления новых данных в последовательном файле необходимо открыть два файла: подлежащий изменению и новый, в котором создается обновленная версия исходного файла.
Приведенная ниже программа в файле avto.dat изменяет "МОСКВИЧ" на "МЕРСЕДЕС" OPEN "avto.dat" FOR INPUT AS #1 OPEN "avto2.dat" FOR OUTPUT AS #2 FOR I=1 TO 5 INPUT #1,M$, N$, C$, G4, S$ IF UCASE$ (M$)="МОСКВИЧ" THEN M$="МЕРСЕДЕС" PRINT #2, M$, N$, C$, G$, S$ NEXT I CLOSE 1,2 KILL "avto.dat" NAME "avto2.dat" AS "avto.dat" END
Добавление данных в файл Указание FOR APPEND в операторе OPEN подготавливает файл для вывода данных и смещает указатель на конец файла. Последующие операторы приписывают новую информацию к уже имеющейся. В предложенной далее программе в файл данных об автомобилях добавляются сведения о двух новых поступлениях.
CLS INPUT введите имя файла;F$ OPEN F$ FOR APPEND AS #1 DO Input марка автомобиля? (Для окончания введите QWE);M$ IF UCASE$(M$)=QWE THEN 1 INPUT "номер автомобиля?";N$ INPUT "цвет автомобиля?";С$ INPUT "год производства автомобиля?";G$ INPUT "продажная цена автомобиля?";S$ PRINT #1,M$, N$, C$, G$, S$ LOOP 1: CLOSE #1 PRINT "файл сформирован"