Практика программирования (Бейсик, Си, Паскаль)



         

Основные типы файлов в системе QBasic - часть 4


Описание структуры записи располагается между служебными словами TYPE — END TYPE. В профамме 7_03.bas через qq обозначено наименование шаблона записи, состоящей из трех полей с именами а (6-байтовое символьное поле), п (2-байтовое поле для хранения короткого числа) и г (4-байтовое поле для хранения короткого вещественного числа). С помощью оператора DIM объявлена структурированная переменная ь типа qq, содержащая три поля с именами b.а, b.n и b.r. Каждому из этих полей можно присвоить соответствующее значение и вывести запись ь в дисковый файл:

PUT #l,,b 'Вывод значения b в текущую запись

PUT #l,5,b 'Вывод значения b в запись с номером 5

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

OPEN "bas_rec" FOR RANDOM AS #1 LEN=12

Последнее указание (LEN=12) задает длину записи в байтах, и естественно, что она должна быть равна суммарной длине всех полей структур, участвующих в обмене.

Программа 7_03.bas формирует в цикле значения полей записи ь и выводит их на диск последовательно, а затем в цикле считывает эти записи в обратном порядке, демонстрируя тем самым произвольный доступ к записям.

Программа 7_03.bas

CLS TYPE qq

a AS STRING *6

n AS INTEGER

r AS SINGLE END TYPE DIM b AS qq b.а="Строка"

OPEN "bas_rec" FOR RANDOM AS §1 LEN=12

FOR J%=1 TO 10

b.n=J% : b.r=SQR(J%)

PUT #l,,b

PRINT b.a,b.n,b.r NEXT J% CLOSE #1

OPEN "bas_rec" FOR RANDOM AS #1

FOR J%=10 TO 1 STEP -1

GET #l,J%,b

PRINT b.a,b.n,b.r

NEXT J%

CLOSE #1

END

Двоичные файлы в системе QBasic

В двоичных файлах может храниться информация любого происхождения и рассматривается она только как последовательность байтов, пронумерованная от 1. Открываются двоичные файлы следующим образом:

OPEN имя_файла FOR BINARY AS #k

Доступ к данным в двоичном файле производится с помощью операторов PUT (вывод в файл) и GET (чтение из файла). При этом второй параметр в этих операторах обозначает номер байта дискового файла, с которого начинается обмен. Количество байтов, участвующих в обмене, определяется длиной третьего аргумента. С двоичным файлом можно работать, используя как последовательный (второй аргумент в операторах GET/PUT опущен), так и прямой (произвольный) доступ.




Содержание  Назад  Вперед