программирование на языке бейсик

 

УРОК 10. Работа с файлами

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

OPEN “Rab1.txt” FOR OUTPUT AS #1

FOR i1% = 1 to 10

PRINT #1, i1%

NEXT i1%

CLOSE #1

Данная программа выводит первые десять положительных чисел в файл под названием «Rab1.txt». В первом операторе производится открытие файла с именем «Rab1.txt» как выводной (OUTPUT). Это означает, что если файл с таким именем существует, то его содержимое будет уничтожено и в дальнейшем по мере работы программы запись данных будет производиться с начала файла. Если файл не существует, то он создается и в него будет записана информация.

Ключевое слово «AS» определяет, под каким номером будет обозначаться данный файл, в дальнейшем в операторе PRINT указывется номер файла. Можно открыть несколько файлов одновременно, в этом случае каждый файл будет иметь свой индивидуальный номер.

Далее в цикле происходит запись в файл десяти первых положительных чисел, причем каждое число будет записано на новой строчке. Если оператор записи в файл написать в виде: «PRINT #1, i1%,», в котором появилась запятая, то данные числа будут выведены один за другим.

В конце программы необходимо закрыть файл при помощи оператора CLOSE. Это делать не обязательно, так как после выполнения программы все файлы будут закрыты автоматически. Но лучше привыкать к определенной культуре программирования, так как при написании значительного числа программ с большим количеством файлов данный навык будет уместен.

OPEN “Rab1.txt” FOR INPUT AS #1

FOR i1% = 1 to 10

INPUT #1, i2%

PRINT i2%,

NEXT i1%

CLOSE #1

В приведенном примере файл, в который были записаны данные, теперь открыт как входной (INPUT), то есть с него будут читаться данные. Далее в цикле читаются данные (INPUT #1) и в следующем они выводятся на экран. Если данные в файле находятся в разных строчках, то на экран уже выводятся в одной строке. Для того, чтобы вывести данные в десяти строчках на экране, нужно убрать запятую в конце оператора PRINT.

В файл можно записать данные не только по одному значению в строчке, но и несколько значений. Приведем пример.

OPEN “Rab1.txt” FOR OUTPUT AS #1

FOR i1% = 1 to 10

PRINT #1, i1%,

NEXT i1%

CLOSE #1

Приведенный пример отличается от предыдущего тем, что в операторе «PRINT» после переменной находится запятая. Вывод данных в файл будет происходить также, как и на экран, однако длина строки может быть произвольной. Для того, чтобы перейти для записи данных на следующую строчку, следует использовать оператор «PRINT», в котором после переменных не должно находиться запятой или точки с запятой. Кроме того, можно использовать данный оператор без параметров, также как и при выводе на экран.

Для чтения этих данных используется также ранее приведенная программа. Если при чтении данных из файла окажется, что достигнут конец файла, например, чтение данных производится в цикле от 1 до 11, то есть, будут прочитаны десять данных, а одиннадцатое не будет найдено, то на экран будет выдано сообщение: «Input past end of file».

Поэтому в тех случаях, когда неизвестно количество записанных данных, можно использовать следующую программу:

DO

INPUT #1, i2%

PRINT i2%,

LOOP UNTIL (EOF(1))

CLOSE #1

В этой программе происходит чтение до тех пор, пока не встретится конец файла «EOF(1)», где цифра один обозначает номер файла.

Помимо записи в начало файла, можно записывать в его конец. Для этого используется ключевое слово APPEND, как это указано ниже:

OPEN “Rab1.txt” FOR APPEND AS #1

Если файл создать и записать первые десять положительных чисел, то открыв файл для добавления (APPEND), можно дозаписать еще 10 значений в конец файла.


(переход на следующую страницу)

 

О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О











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

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


 
 
 
Яндекс.Метрика


Каталог@MAIL.RU - каталог ресурсов интернет