Введение и основные функции
Большинство программ работает с данными, которые можно вводить с клавиатуры и выводить на экран, или с данными, хранящимися в каких-либо файлах на дискетах или жестких дисках.
Рассмотрим некоторые основные понятия. Прежде всего следует выяснить, что собственно понимают под словом "файл". Это понятие можно определить так: файл — это область на носителе информации, где хранятся некоторые данные. Правда это определение слишком обобщенное, так как, следуя такому определению, файлами можно назвать и такие вещи как:
· Телефонный справочник (носитель - бумага)
· Ящик картотеки (носитель - бумага)
· Сведения об адресах на жестком диске (носитель - жесткий диск).
Нас будут интересовать лишь такие файлы, хранящиеся на носителях, которые можно
обрабатывать программами QBASIC. Вернемся к картотеке.
В картотечном ящике, как правило, находится некоторое количество карточек, в противном случае — картотека пуста. Если к картотеке применить понятие файла, то может возникнуть ситуация, когда файл окажется пустым. Однако файл существует, в нем только нет информации. Отдельные карточки картотеки называются записями. Так же, как карточки в ящике картотеки, записи в файле расположены последовательно: есть первая запись файла и последняя. На отдельной карточке картотеки или в отдельной записи может храниться всевозможная информация (например, фамилия, адрес, возраст,...). Эта информация называется полем данных. Объединение отдельных полей составляет логическое целое — запись или предложение файла. Прежде чем создавать или обрабатывать файлы в программе, следует позаботится о том, чтобы нужная информация запоминалась в предложении файла.
В этой главе попробуем создать небольшой адресный справочник, в котором будут следующие поля данных:
· Имя (30 позиций)
· Фамилия (30 позиций)
· Улица (30 позиций)
· Почтовый индекс (6 позиций)
· Местность (30 позиций)
· Телефон (16 позиций)
· Заглавие (30 позиций)
Чтобы ввести данные в справочник, необходимо сначала открыть файл данных. Для этого используется оператор OPEN в следующем формате:
OPEN Имя_фаила FOR Режим_работы AS #Номер_файла
Имя_фаила- Имя файла с расширением и маршрутом
Режим_работы - Устанавливает разрешенный режим доступа к данным, хранящимся в файле.
APPEND: файл открывается для записи, причем новые предложения записываются в конец файла.
INPUT: файл открывается для чтения.
OUTPUT: файл открывается для записи, причем если файла не существует, то создается новый, а если существует, то ранее существовавшая там информация будет уничтожена, а новая будет записана в начало.
RANDOM: файл состоит из записей фиксированной длины и открыт как для записи, так и для чтения.
Номер_файла: Целое число между 1 и 255. Обращение к файлу из программы происходит под этим номером.
После того как файл обработан, с помощью команды CLOSE его необходимо закрыть. В программе это выглядит так:
CLOSE #Номер_фаила
Доступ к файлу возможен между командами OPEN и CLOSE, например, командой WRITE можно записать предложение в файл.
WRITE Номер_файла, Переменная [, Переменная]...
Следующая программа показывает, как можно вводить данные для файла адресов. В режиме APPEND каждое записываемое предложение помещается в конец файла. Таким образом, программу можно вызывать сколь угодно часто и дописывать данные в файл. Если же режим APPEND изменить на OUTPUT, данные будут каждый раз обновляться.
'*********************************
'** Программа для ввода адресов **
'*********************************
'Объявление полей данных
DIM nachnameS, vorname$, strasseS, plz$, ort$, telefon$, stlchwort$
DIM nocheinS 'Переключатель
'Открыть файл в режиме APPEND
OPEN "adresse.asc" FOR APPEND AS #1
'Ввод данных будет продолжаться до тех пор, пока в поле nocheinS
'будет вводиться "Y" или "у"
DO
CLS
'Ввести поля данных
INPUT "Фамилия : ", nachnameS
INPUT "Имя . ", vorname$
INPUT "Улица : ", strasse$
INPUT "Почт.индекс: ", plz$
INPUT "Местность : ", ort$
INPUT "Телефон : ", telefon$
INPUT "Заглавие : ", stichwortS
'Записать предложение
WRITE #1,nachname$,vorname$,strasse$,plz$,ort$,telefon$,stichwort$
PRINT
'Спросить, продолжить ли ввод
INPUT "Следующий адрес? (Y/N)", nocheln$
LOOP WHILE UCASE$(nochein$)-"Y"
'Закрыть файл
CLOSE #1
'Конец программы
Далее необходимо вывести содержимое созданного файла на экран. Это значит, что данные последовательно читаются, и отдельные поля при необходимости появляются на экране. Для распознавания конца файла используется функция EOF.
Дата добавления: 2015-08-08; просмотров: 536;