Смекни!
smekni.com

Опция WIDTH устанавливает верхний предел ширины колонки для всех полей в таблице BROWSE. Эта ширина перекрывает ширину поля, назначенную при создании файла БД. Если опции WIDTH и <ширина колонки> используются одновременно, то принимается наименьшее значение. Данная опция, как и предыдущая, не применяется для полей типа Memo и логических полей. Значения числовых полей и полей даты не будут высвечиваться, если значение опции WIDTH меньше ширины этих полей, назначенных при определении структуры файла БД. Опция FORMAT позволяет разместить поля в таблице BROWSE в очередности, определенной экранной формой, которая установлена командой SET FORMAT TO.

Альтернативой команды BROWSE является команда EDIT

EDIT [NOINIT] [NOFOLLOW] [NOAPPEND] [NOMENU]

[NOEDIT] [NODELETE] [NOCLEAR] [<номерзаписи>] [FIELDS <списокполей>] [<диапазон>] [FOR <условие>] [WHILE <условие>]

Эта команда выводит на экран по одной записи файла БД, поля которой размещаются по вертикали.

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

REPLACE [<границы>] <поле> WITH <выражение>

[ , <поле> WITH <выражение...] [WHILE <условие>] [FOR <условие>] [ADDITIVE]

которая изменяет (замещает) значения заданных полей (включая поля Memo) текущей записи или группы записей, определенных границами и опциями WHILE, FOR.

После ввода данных в файл БД нередко требуется быстро их просмотреть. Для этого служат команды

LIST/DISPLAY [<границы>] [[FIELDS] <список выражений>]

[OFF] [<диапазон>] [FOR <условие>] [WHILE <условие>] [ТО PRINTER/ ТО FILE <имя файла>]

Эти команды выводят все поля файла БД, если их список не определен опцией FIELDS. В начале каждой записи, если не указана опция OFF, выводится ее номер, опции <диапазон>, FOR и WHILE определяют диапазон выводимых записей. Команды LIST и DISPLAY идентичны с той разницей, что первая выводит записи непрерывно, а вторая делает остановку после вывода одной страницы экрана.

Кроме выводов файлов БД команды LIST и DISPLAY позволяют также высвечивать данные о файлах в директориях, содержимое буфера HISTORY (хранилище выполненных с клавиатуры команд), данные об используемых переменных и массивах, информацию о текущем сеансе работы с dBASE, структуру указанного файла БД и имена рабочих станций, работающих в среде ЛВС.

7. Дополнительные операции

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

LIST/DISPLAY STRUCTURE [IN <алиас>] [ТО PRINTER/ TO FILE <имяфайла>]

которая выводит информацию о файле БД.

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

Для перемещения по файлу используется команда

GO/GOTO BOTTOM/TOP [IN <алиас>]

ИЛИ

или

GO/GOTO [RECORD] <номер записи> [IN <алиас>]

<номер записи>

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

SKIP [<Bbip.N>] [IN <алиас>]

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

INSERT [BEFORE] [BLANK]

которая позволяет ввести новую запись (или пустую запись, если указана опция BLANK) после текущей или перед ней (если задана опция BEFORE). Пометить одну или несколько записей для их последующего удаления можно командой

DELETE [<диапазон>] [FOR <условие>] [WHILE <условие>]

Опции <диапазон>, FOR и WHILE позволяют помечать записи, отобранные в соответствии с заданным диапазоном и условиями.

Для того чтобы уничтожить пометки на удаление записей используется команда

RECALL [<диапазон>] [FOR <условие>] [WHILE <условие>]

Физическое удаление помеченных записей активного файла БД выполняет команда PACK. Команда

APPEND [BLANK]

позволяет добавлять записи, введенные с клавиатуры в конец активного файла БД.

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

SORT TO <имя файла> ON <поле 1> [/А] [/С] [/D]

[ ,<поле 2> [/А] [/С] [/D]...] [ASCENDING]/[DESCENDING] [<границы>] [WHILE <условие>] [FOR <условие>]

которая создает новый файл БД с записями, отсортированными в алфавитном, хронологическом или числовом порядке по заданным полям. Сортировка выполняется в порядке возрастания (/А) или убывания (/D) значений полей. Допускается сортировка максимум по десяти полям. Опция /С определяет сортировку независимо от прописных и строчных букв. Команда

COPY FILE <имя файла 1> ТО <имя файла 2>

делает копию файла любого типа.

После копирования или в других случаях нередко требуется переименовать файл. Для этого используется команда

RENAME <имя файла> ТО <новое имя файла>

Нередко требуется найти запись не по ее положению в файле БД, а по содержанию полей. Такой вид поиска предусмотрен, например, в меню команды BROWSE. Способ поиска по содержанию полей зависит от того, созданы ли индексные файлы по этим полям или по их комбинациям. Для поиска по неиндексированным полям используется команда

LOCATE [FOR] <условие> [<диапазон>] [WHILE <условие>]

Эта команда выполняет в активном файле БД поиск первой записи, удовлетворяющей условию, заданному опцией FOR. Опции <диапазон> и WHILE определяют диапазон и условие начала и конца просмотра записей.

Для поиска по индексированным полям используются команды SEEK и FIND. Команда

SEEK <выражение>

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

FIND <литеральная строка>

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

Основной командой, предназначенной для создания нестандартных экранных форм ввода и вывода информации, является

@<строка>,<колонка> [SAY <выр.>

[PICTURE <выр.С>]

[FUNCTION <список функций>]] [GET <переменная>

[[OPEN] WINDOW <имяокна>] [PICTURE <выр.С>]

[FUNCTION <списокфункций>]

[RANGE [<нижний>] [,<верхний>]]

[VALID <условие> [ERROR <выр.С>]]

[WHEN <условие>] [DEFAULT <выражение>]

[MESSAGE <выр.С>]]

[COLOR [<стандартная область экрана>] [, <нестандартная

область экрана>]]

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

SET DEVICE TO SCREEN/printer/file <имяфайла>

Опция GET выводит и позволяет обновлять и редактировать данные, содержащиеся в полях, переменных или массивах.

Собственно обновление данных в переменных GET (здесь и ниже под словом «переменная» подразумеваются также поля файла БД и элементы массива) выполняется командой READ, которую следует поместить после данной команды. Эта команда активизирует переменные и выводит в них значения, находящиеся на экране.

Для приостановления процесса последовательного выполнения программы используется команда

WAIT [<сообщение>] [ТО <переменная>]

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

С целью улучшения восприятия информации на экране можно использовать команду

@ <строка 1>,<колонка 1> ТО <строка 2>,<колонка 2> [DOUBLE/PANEL/<символы определения рамки>] [COLOR <код цвета>]

которая рисует на экране прямоугольную рамку, определяемую координатами верхнего левого - <строка 1>,<колонка 1> - и правого нижнего - <строка 2>, <колонка 2> - углов рамки. Опция DOUBLE позволяет рисовать двойную линию рамки (по умолчанию рисуется одинарная линия), опция PANEL - рамку в виде сплошной полосы. Кроме того, имеется возможность рисовать линию рамки заданными символами. Для этого задается список символов для определения рамки. Можно задать различные символы для сторон и углов рамки. В этом случае символы разделяются запятыми и располагаются в следующем порядке: f, b, I, r, fl, fr, bl, br, где f - верх; b - низ; 1 - левая сторона; г - правая сторона; П -левый верхний угол; fr - правый верхний угол; bl - левый нижний угол; br -правый нижний угол.

Пример.

@ 5,13 ТО 10,40 DOUBLE COLOR R/BG Д

Для полной очистки всего экрана используется команда

CLEAR [ALL/FIELDS/GETS/MEMORY/MENUS/ POPUPS/TYPEAHEAD/WINDOWS]

Она очищает экран, устанавливает курсор в левый нижний угол экрана и освобождает все незаконченные опции GET команды @...SAY...GET. Различные опции этой команды также закрывают файлы БД, очищают переменные, списки полей, окна, горизонтальные и вертикальные меню и буфер клавиатуры.

Команда @...SAY...GET является универсальной для организации ввода и вывода информации на экране. В программах нередко требуется вводить с клавиатуры данные для обеспечения процесса обработки информации, например имя файла БД, данные для ветвления программы, поисковые значения и т.д. Для этого предусмотрена специальная команда

ACCEPT [<сообщение>] ТО <переменная>

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

Кроме этой команды для ввода данных с клавиатуры можно использовать команду

INPUT [<сообщение>] ТО <переменная>

которая выполняет аналогичные функции, но позволяет вводить в переменную с клавиатуры данные не только символьного, но и других типов, а также в виде заданного выражения, что не допускается в команде ACCEPT. Тип выражения определяет тип переменной, в которую вводится значение. После набора выражения с клавиатуры для ввода его в переменную надо нажать клавишу Enter.