Введение и основные функции

Работа с файлами

Установка цветов экрана

 

Используя оператор COLOR, можно изменять цвет изображения и фон. Оператор COLOR имеет следующий формат:

COLOR [Цвет_фона] [,Цвет_символов]

Цвет_фона- Величина типа INTEGER, обозначающая цвет фона экрана
Цвет_символов- Величина типа INTEGER, обозначающая цвет изображения символов.

Возможны следующие цвета:

Номер Цвет Номер Цвет
Черный Темно-серый
Синий Светло-синий
Зеленый Светло-зеленый
Голубой Светло-голубой
Красный Светло-красный
Фиолетовый Светло-фиолетовый
Коричневый Желтый
Светло-серый Белый


Стандартное значение установки цвета — COLOR 7,0. Если к коду цвета фона прибавить число 16, то получим мерцающее изображение.

 

Пример:
'Программа для демонстрации различных цветов изображения
DIM vordergrund%, hlntergrund%
CLS
FOR vordergrund%=O to 31 'цвет символа
FOR hlntergrund%=O to 15 'фон
COLOR vordergrund%, hlntergrund%
PRINT USING "Farbe #*"; vordergrund%;
PRINT ",";
PRINT USING "•»»";hintergrund%
NEXT hlntergrund% NEXT vordergrund% 'Возвращение к стандарту:
COLOR 7,0
'Конец программы

 

 


Большинство программ работает с данными, которые можно вводить с клавиатуры и выводить на экран, или с данными, хранящимися в каких-либо файлах на дискетах или жестких дисках.
Рассмотрим некоторые основные понятия. Прежде всего следует выяснить, что собственно понимают под словом "файл". Это понятие можно определить так: файл — это область на носителе информации, где хранятся некоторые данные. Правда это определение слишком обобщенное, так как, следуя такому определению, файлами можно назвать и такие вещи как:

· Телефонный справочник (носитель - бумага)

· Ящик картотеки (носитель - бумага)

· Сведения об адресах на жестком диске (носитель - жесткий диск).

Нас будут интересовать лишь такие файлы, хранящиеся на носителях, которые можно
обрабатывать программами 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.