3.2. Файлы прямого доступа

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

Создание файла прямого доступа включает следующие шаги: открытие файла (оператор OPEN); задание структуры записи файла, или разметка буфера (оператор FIELD); передача записи в буфер (операторы LSET или RSET); пересылка содержимого буфера в файл (оператор PUT), при этом если номер записи в операторе PUT не указан явно, буфер помещается на место текущей записи, при откры­тии файла указатель текущей записи равен 1, после каждой операции ввода или вывода указатель сдвигается на следующую запись; закры­тие файла (оператор CLOSE).

Записи передаются в виде строк символов. Поэтому необходимо использовать соответствующие функции преобразования данных в строку символов и обратно.

Ниже перечислены функции и осуществляемые ими преобразова­ния.

MKI$ (MKL$) - целое (длинное целое) в 2-х (4-х) байтовую строку;

MKS$ (MKD$) - вещественное (вещественное двойной точности) в 4-х (8-ми) байтовую строку.

CVI(CVL) - 2-х (4-х) байтовую строку в целое (длинное це­лое);

CVS(CVD) - 4-x (8-ми) байтовую строку в вещественное (ве­щественное двойной точности).

Считывание из файла прямого доступа включает также пять ша­гов: открытие файла; разметка буфера; передача записи из файла в буфер (оператор GET); обработка данных буфера (переменные буфера доступны из программы); закрытие файла.

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

Оператор OPEN имеет вид

OPEN имя файла AS #номер файла LEN = длина записи (отсутствие указания режима ввода или вывода означает, что файл прямого доступа).

Оператор FIELD имеет вид

FIELD # номер файла, n1 AS имя1 [,n2 AS имя2, ...] ,

где n1, n2, ... - длина поля в байтах под переменные имя1, имя2,

... (имя1, имя2, - символьные переменные ).

Операторы LSET, RSET имеют вид

LSET имя = символьное выражение

RSET имя = символьное выражение

Оператор LSET (RSET) заполняет одно поле записи в буфере (оператор LSET - с начала, RSET - с конца, оставшиеся позиции за­полняются пробелами).

Оператор PUT имеет вид

PUT # номер файла [, номер записи]

Этот оператор передает содержимое буфера в файл на место за­писи с указанным номером (или текущей, если номер не указан).

Оператор GET имеет вид

GET # номер файла [, номер записии]

Этот оператор передает содержимое записи с указанным но­мером в буфер (если номера нет, передается текущая запись).

В качестве примера приводится программа, которая формирует файл прямого доступа из записей следующей структуры:

N п/п Фамилия Год рождения

В программе переменные обозначены n%, nam$, dat%; для соответс­твующих полей буфера используются обозначения np$ (2 байта), nm$ (10 байт), dt$ (6 байт).

OPEN "GSR.DAT" AS #1 LEN = 18

FIELD #1, 2 AS np$, 10 AS nm$, 6 AS dt$

FOR i%=1 to 3

INPUT n%, nam$, dat%

LSET np$ = MKI$ (n%)

LSET nm$ = nam$

LSET dt$ = MKI$ (dat%)

PUT #1,i%

NEXT i%

CLOSE #1

END

Следующая программа осуществляет ввод данных из файла GSR.DAT и их печать в обратном порядке.

OPEN "GSR.DAT" AS #1 LEN = 18

FIELD #1, 2 AS np$, 10 AS nm$, 6 AS dt$

FOR i% = 3 to 1 STEP -1

GET #1, i%

n% = CVI (np$)

dat%=CVI (dt$)

PRINT n%, nm$, dat%

NEXT i%

CLOSE #1

END

4. ДВИЖУЩИЕСЯ ИЗОБРАЖЕНИЯ, ЗВУКОВЫЕ ЭФФЕКТЫ

И НЕСТАНДАРТНЫЙ ВВОД С КЛАВИАТУРЫ

4.1. Оператор DRAW

При помощи оператора DRAW можно чертить (рисовать) на экране различные фигуры (предметы), используя параметры Un, Dn, Ln, Rn для перемещения на n позиций от текущей точки вверх (U), вниз (D), влево (L) или вправо (R); En, Fn, Gn, Hn для перемещения по диагонали на n точек вверх и вправо (E), вниз и вправо (F), вниз и влево (G), вверх и влево (H); M h,V для перемещения в точку с координатами h и V; M +h,+V для относительного перемещения на h позиций вправо (+) или влево (-) и на V позиций вниз (+) или вверх (-). Кроме того, параметр An устанавливает угол n, где n=0 (0 градусов), 1 (90 градусов), 2 (180 градусов) или 3 (270 граду­сов); TAn - поворачивает на угол n, где n меняется от -360 до 360 градусов. При n>0 поворот осуществляется против часовой стрелки, при n<0 - по часовой стрелке; Cn - устанавливает цвет n из теку­щей палитры; Sn - определяет масштаб n/4, n может меняться от 1 до 255 (по умолчанию n=4); B - подавляет высвечивание точек по пути перемещения в соответствии с командой С (по умолчанию путь перемещения высвечивается в виде линий, С содержит какие-либо из перечисленных параметров); N означает возврат в исходную позицию после выполнения команды перемещения С.

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

Например, оператор

DRAW "M 160, 100"

осуществляет перемещение от текущей позиции в позицию (160, 100),

оставляя при этом след в виде закрашенных точек. Оператор

DRAW "BM160, 100"

осуществляет то же перемещение, но не оставляя следа. Оператор

DRAW "L10 U10 R10 D10"

прочерчивает линию на 10 позиций влево, на 10 позиций вверх, на


Информация о работе «Все о Turbo Basic»
Раздел: Информатика, программирование
Количество знаков с пробелами: 40336
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
69528
1
0

... третьих фирм имеют логотип "Featuring Microsoft Visual Basic Technology". Это заставляет задуматься над тем, что же такое BASIC - "стандартный код для начинающих" или "основной язык для ос­новной среды"... ГЛАВА3. разработка программы для расчета показателей финансового состояния предприятия. Для осуществления планирования деятельности любой фирмы на любом этапе работы осуществляются некоторые ...

Скачать
85003
5
3

... плана и состав слушателей, происходит определение стратегии курса, разрабатывается сценарий и интерактивное взаимодействие программы с пользователями. Разрабатываемый электронный справочник предназначен для самостоятельной работы студентов младших курсов по изучению Visual Basic в рамках университетского курса. Его создание имеет своей целью предоставить студентам, изучающим Visual Basic весь ...

Скачать
41799
0
0

... "тиках" (1/18 секунды) y SOUND x, y Оператор SOUND с нулевой длительностью прерывает работу пре- дыдущего оператора SOUND, даже если тот не отзвучал до конца. Ис- пользуется для специальных звуковых эффектов (сирена и пр.). 4.5. Оператор PLAY Этот оператор позволяет создавать музыку. Общий вид операто- ра PLAY  1символьное выражение - 29 - где символьное ...

Скачать
35274
1
0

... плохо защищенного от появления ошибок; ·     низкая скорость программирования; ·     невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов. Машинно-независимые системы программирования – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от ...

0 комментариев


Наверх