Я:
Результат
Архив

МЕТА - Украина. Рейтинг сайтов Webalta Уровень доверия



Союз образовательных сайтов
Главная / Учебники / Учебники на русском языке / Компьютерные науки / Clipper


Компьютерные науки - Учебники на русском языке - Скачать бесплатно


выдано сообщение об ошибке.
Следующая функция при попытке делить на ноль не выдаст
сообщения об ошибке и вернет 0 :
var1 = 25
var2 = 0
? ZERO(var1,var2)

- 35 -
* вернет 0
RETURN

FUNCTION Zero
PARAMETERS znum1, znum2
IF znum2 <> 0
RETURN (znum1/znum2)
ENDIF
RETURN (0)


Микросхема математического сопроцессора

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

Использование области определения (SCOPE)

Задание <эобласти определения> совместимо с DBASEIIIPLUS. Опции
FOR и WHILE не являются исключениями из этого правила.

Пример : SEEK "CA"
LIST Balance, Company, Phone FOR Balance <> 0;
WHILE State = "CA"

Индексы, совместимые с DBASEIIIPLUS

DBASE использует расширение ".ndx" для файлов индексов, тогда
как Клиппер обозначает их ".ntx". Хотя и тот и другой - файлы
индексов, но они не совместимы между собой. Если Вы хотите создать
файлы индексов, совместимые с DBASEIIIPLUS, то Вам нужно прилинковать
к программе объектный файл NDX.OBJ.
Индексные файлы создаются Клиппером посредством стандартной
команды INDEX ON. Клиппер создает (.ntx) файлы если Вы не
прилинковали файл NDX.OBJ, подавляющий схему (.ntx) индексирования.
Файл NDX.OBJ используется следующим образом :
С линкером ДОСа :

LINK MYPROG+NDX,,,\CLIPPER\CLIPPER

С линкером PLINK86-PLUS :

PLINK86 FI MYPROG, NDX LIB \CLIPPER\CLIPPER

Любая из этих команд соединяет файлы MYPROG.OBJ и NDX.OBJ,
создавая исполняемый файл MYPROG.EXE, использующий DBASE-совместимый
индекс (.ndx).
Команды SET ORDER TO и SET INDEX TO также поддерживают
использование файлов типа (.ndx).

Примечание : нельзя использовать оба типа индексов (.ndx и .ntx)
одновременно в одной и той-же программе. Есть заметная разница между
этими типами, которую полезно учитывать : .ntx файлы работают заметно
быстрее. Кроме того, имейте в виду, что все программы, одновременно

- 36 -
использующие конкретные .ndx файлы должны быть одного типа - все под
DBASEом или все после Клиппера. Нельзя использовать DBASEовское
приложение, работающее с .ndx файлом с одной станции и Клипперное
приложение, использующее его же с другой станции.


Таблицы клавиш для полноэкранных режимов


При редактировании экрана GETов курсор можно передвигать
следующими клавишами :

Таблица 4-6. Клавиши передвижения по экрану
-------------------------------------------------------------------
Клавиша Действие
-------------------------------------------------------------------
Стрелка_влево, На символ вправо. Не переходит к предыдущему
Ctrl-S GETу

Стрелка_вправо, На символ вправо. Не переходит к предыдущему
Ctrl-D GETу

Ctrl-Стрелка_влево На слово влево
Ctrl-A

Ctrl-Стрелка_вправо На слово вправо
Ctrl-F

Стрелка_вверх На предыдущий GET
Ctrl-E

Стрелка_вниз На следующий GET
Ctrl-X

Return На следующий GET
Ctrl-M

Home В начало окна GETа

End В конец окна GETа

Ctrl-Home В начало первого GETа

Ctrl-End В начало последного GETа
-------------------------------------------------------------------



Таблица 4-7. Клавиши редактирования
-------------------------------------------------------------------
Клавиша Действие
-------------------------------------------------------------------
Del Удаляет символ над курсором
Ctrl-G

BackSpace Удаляет символ слева от курсора
Ctrl-H

- 37 -

Ctrl-T Удаляет слово слева

Ctrl-Y Удаляет все от курсора до конца строки

Ctrl-U Восстанавливает текущий GET в исходном
значении
-------------------------------------------------------------------


Таблица 4-8. Клавиши выхода из редактирования
-------------------------------------------------------------------
Клавиша Действие
-------------------------------------------------------------------
Ctrl-W, Ctrl-C, Закончить обработку READ, сохранив
PgUp, PgDn текущий GET

Return, Ctrl-M Закончить обработку READ, если клавиша
нажата на последнем GETе

Esc Прекратить обработку READ без сохранения
текущего GETа
-------------------------------------------------------------------


Таблица 4-9. Клавиши режима ввода
-------------------------------------------------------------------
Клавиша Действие
-------------------------------------------------------------------
Ins, Ctrl-V Переключение режимов "вставка" и "замена"

-------------------------------------------------------------------




- 38 -



ГЛАВА 5. КОМАНДЫ КЛИППЕРА
-------------------------


Глава 5 содержит общий список и детальное описание всех команд
Клиппера.

* Соглашения, использованные в описании синтаксиса команд и
функций.

* Обобщенный список всех команд, включая имя, синтаксис и
назначение.

* Детальное объяснение.





Соглашения, использованные в описании синтаксиса команд и
функций.
------------------------------------------------

Это руководство использует различные виды шрифта для различения
элементов языка и обсуждения их. Вот список принятых обозначений:

примеры - примеры исходного текста программ на Клиппере показаны
обычными буквами.

КЛЮЧЕВЫЕ СЛОВА - все команды и функции даны буквами верхнего
регистра.

Процедуры - имена функций и процедур, определенные
пользователем, написаны с большой буквы, например, Center().

Названия Клавиш - названия клавиш написаны с большой буквы,
например Ctrl-Стрелка вверх

Имена файлов/ИМЕНА ФАЙЛОВ - имена файлов Клиппера написаны с
большой буквы, например Myfile.prg.
Имена файлов ДОС целиком написаны большими буквами,
включая расширения, например PROG.EXE

Тип файлов Клиппера указывается расширением в скобках, например
(.ntx) .

Определение символов


Таблица 5-1. Символы, использованные при описании синтаксиса
----------------------------------------------------------------
Символ Описание
----------------------------------------------------------------
<> Ввод пользователя

- 39 -
[] Дополнительно (по желанию)
/ Исключительное или
... - если продолжается символами, то это повторяющиеся
элементы
- входящий текст, если продолжается ключевым словом


Определение метасимволов.

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

Таблица 5-2. Метасимволы, использованные в синтаксисе
----------------------------------------------------------------
Метасимвол Описание
----------------------------------------------------------------
синоним имя рабочей области
массив имя массива
условие логическое выражение
ограничитель символьная константа для ограничения
символьных строк
устройство устройство печати
шаблон директория символьное выражение
дисковод обозначение дисковода
выражение выражение любого вида
вырС символьное выражение
вырД выражение типа "дата" ("датное")
вырЛ логическое выражение
вырЧ числовое выражение
расширение расширение файла
поле поле базы данных
файл имя файла (не включая расширение)
ключевое выражение вырС, вырД или вырЧ для упорядочивания
или группировки
список перечень, разделенный запятыми
переменная переменная в памяти, любого типа
перемС переменная в памяти, символьного типа
параметр переменная или выражение любого типа
путь поиска путь к указанному директорию, начиная от
корневого
процедура процедура, функция или программа
процесс отдельно скомпилированная или
ассемблированная программа
программа имя исполняемой из ДОС программы
приглашение символьное выражение
ряд числовое выражение, указывающее позицию
на экране
обл.опр. часть файла базы данных, подлежащая обработке
шаблон шаблон, содержащий символы ? и *
текст строка символьных констант
переменная поле в файле или переменная в памяти
рабочая область номер рабочей области


Сводка команд Клиппера

?/?? <эсписок выражений>

- 40 -
показывает результаты одного или больше выражений, разделенные
пробелами.
@ <эвырЧ1>, <эвырЧ2>, <эвырЧ3> ,<эвырЧ4> BOX <эвырС>
рисует на экране рамку из указанных символов и заполняет ее
внутреннюю область.
@ <эвырЧ1>, <эвырЧ2> CLEAR [TO <эвырЧ3>, <эвырЧ3>]
стирает прямоугольную область экрана.
@ <эвырЧ1>, <эвырЧ2> PROMPT <эвырС>[MESSAGE<эвырС>]
рисует пункты меню и определяет массив сообщений для команды
MENU TO.
@ <эвырЧ1>,<эвырЧ2> [SAY <эвыражение> [PICTURE <эвырС>]][GET <эпеременная>
[PICTURE <эвырС>][RANGE <эвырЧ1>,<эвырЧ2>][VALID <эвырЛ>]]
отображает и/или вводит данные в указанную позицию экрана. Вывод
возможен на экран или на принтер.
@ <эвырЧ1>,<эвырЧ2> TO <эвырЧ3>,<эвырЧ4> [DOUBLE]
рисует на экране одинарную или двойную рамку.
ACCEPT [<эприглашение>] TO <эпеременная в памяти>
сохраняет символьную строку,введенную с клавиатуры, в переменной
APPEND BLANK
добавляет пустую запись в конец файла текущей базы данных.
APPEND [<эобл.опр.>][FIELDS <эсписок полей>] FROM <эфайл>/(<эвырС>)[FOR
<эусловие>][WHILE <эусловие>][SDF]/[DELIMITED [WITH BLANK
/<эограничитель> /(<эвырС>)]]
Добавляет записи в файл текущей базы данных из ASCII текстового
файла или файла другой базы данных.
AVERAGE [<эобл.опр.>] <эсписок выражений> TO <эсписок переменных>
[FOR <эусловие>] [WHILE <эусловие>]
вычисляет среднее для последовательности числовых выражений для
указанного диапазона записей в текущей рабочей области и
записывает результаты в переменные.
CALL <эпроцесс> [WITH <эсписок выражений>]
позволяет Вам выполнить отдельно скомпилированную процедуру,
передав ей переменные.
CANCEL
прекращает выполнение программы
CLEAR
очищает экран, очищает все еще не введенные GETы, и
устанавливает курсор на строку 0, столбец 0
CLEAR ALL
закрывает все открытые файлы базы данных (включая относящиеся к
ним файлы индексов, формата и мемо-полей), удаляет все
переменные в памяти и переходит в первую рабочую область.
CLEAR GETS
стирает содержимое оставшихся GETов
CLEAR MEMORY
удаляет все глобальные и локальные переменные
CLEAR TYPEAHEAD
очищает буфер клавиатуры от любых оставшихся там символов
CLOSE ALL/ALTERNATE/DATABASES/FORMAT/INDEX
закрывает указанный тип файла
COMMIT
производит запись буферов на диск для всех рабочих областей
CONTINUE
продолжает поиск, начатый по команде LOCATE в текущей рабочей
области
COPY TO <эфайл>/(<эвырС>) [<эобл.опр.>][FIELDS <эсписок полей>]
[SDF/DELIMITED WITH <эограничитель>/(<эвырС2>)]

- 41 -
копирует весь или часть текущего файла базы данных в новый файл
COPY FILE <эфайл1>.<эрасширение> TO <эфайл2>.<эрасширение>
создает копию файла любого типа, находящегося на текущем для
Клиппера устройстве и директории
COPY STRUCTURE TO <эфайл>/(<эвырС>) [FIELDS <эсписок полей>]
создает пустой файл базы данных с определениями полей, взятыми
из текущего файла
COPY TO <эфайл>/(<эвырС>) STRUCTURE EXTENDED [FIELDS <эсписок полей>]
создает файл базы данных с четырьмя полями : Field_name,
Field_type, Field_len и Field_dec. Записи этого нового файла
являются определениями полей текущего файла базы данных.
COUNT [<эобл.опр.>][FOR <эусловие>][WHILE <эусловие>] TO <эпеременная
в памяти>
подсчитывает количество записей в текущей рабочей области,
отвечающих условиям и лежащих в области определения
CREATE <эфайл>/(<эвырС>)
создает файл пустой структуры
CREATE <эфайл1>/(<эвырС1>) FROM <эфайл2>/(<эвырС2>)
создает новый файл базы данных из указанного файла структуры
DECLARE <эмассив1>[<эвырЧ1>][,<эмассив2>[<эвырч2>]]...
создает один или больше массивов переменных
DELETE [<эобл.опр.>][FOR <эусловие>][WHILE <эусловие>]
помечает к уничтожению записи в текущей рабочей области
DIR [<эдисковод>:][<эпуть поиска>\[<эшаблон>]
показывает имена файлов в указанном директории
DISPLAY [OFF] [<эобл.опр.>] <эсписок выражений> [FOR<эусловие>]
[WHILE <эусловие>] [TO PRINT][TO <эфайл>/(<эвырС>)]
показывает результат одного или больше выражений, обработанных
для каждой записи в области определения, отвечающей условию
DO <эпроцедура> [WITH <эсписок параметров>}
выполняет указанную процедуру с возможностью передать ей
фактические параметры
DO CASE ... CASE ... [OTHERWISE] ... ENDCASE
выбирает путь дальнейшего выполнения программы из набора условий
и соответствующих им ветвлений путем нахождения первого
выполненного условия
DO WHILE <эусловие> ... [EXIT] ... [LOOP] ... ENDDO
выполняет цикл, пока условие истинно
EJECT
выполняет "перевод страницы" и сбрасывает в ноль внутренние
PROW() и PCOL()
ERASE/DELETE FILE <эимя файла>.<эрасширение>
удаляет с диска указанный файл
EXTERNAL <эсписок процедур>
объявляет символ для линкера, позволяющий ссылаться с помощью
макроподстановок на процедуры, помещенные в оверлеи
FIND <эсимвольная строка>/(<эвырС>)
устанавливает указатель текущей записи на первую запись, ключ
индексирования которой совпадает с указанной строкой или
выражением
FOR <эпеременная> = <эвырЧ1> TO <эвырЧ2> [STEP <эвырЧ3>] ... [EXIT] ...
NEXT
выполняет цикл заданное число раз
FUNCTION <эпроцедура> ... RETURN <эвыражение>
определяет функцию, написанную пользователем на языке Клиппера
GO/GOTO <эвырЧ> /BOTTOM/TOP
переводит указатель записи на конкретную запись в текущей

- 42 -
рабочей области
IF ...[ELSE] ... ENDIF
позволяет условное выполнение команд с дополнительной
альтернативой выбора
INDEX ON <эвыражение> TO <эфайл>/(<эвырС>)
создает файл, содержащий индекс на записи в текущем файле базы
данных
INPUT [<эприглашение>] TO <эпеременная>
осуществляет ввод выражения в переменную
JOIN WITH <эсиноним>/(<эвырС1>) TO <эфайл>/(<эвырС2>) FOR <эусловие>
[FIELDS <эсписок полей>]
создает новый файл базы данных путем слияния выбранных записей и
полей из двух рабочих областей
KEYBOARD <эвырС>
вставляет указанную строку в буфер клавиатуры
LABEL FORM <эфайл1>/(<эвырС1>) [<эобл.опр.>] [FOR <эусловие>]
[WHILE <эусловие>] [SAMPLE] [TO PRINT] [TO FILE <эфайл2>/(<эвырС2>)]
создает метки (наклейки) по определениям, хранящимся в файле
(.lbl)
LIST [OFF] [<эобл.опр.>] <эсписок выражений>[FOR <эусловие>]
[WHILE <эусловие>] [TO PRINT] [TO FILE <эфайл>/(<эвырС>)]
показывает результат одного или больше выражений для каждой
обработанной записи, при данных области определения и условии
LOCATE [<эобл.опр.>] [FOR <эусловие>] [WHILE <эусловие>]
устанавливает указатель записи на первую запись, удовлетворяющую
условию, и лежащую в области определения
NOTE / *[<этекст>] / [<экоманда>] && [<этекст>]
вставляет неисполняемый комментарий на новой строке программы.
Коммментарий, следующий за "&&", может помещаться после команды
на той же или на отдельной строке
PACK
удаляет "насовсем" записи, помеченные к удалению в файле текущей
базы данных
PARAMETERS <эсписок переменных>
указывает список переменных, принимающих переданные значения или
ссылки
PRIVATE <эсписок переменных>
прячет указанные переменные, позволяя Вам в программе нижнего
уровня иметь переменные с такими же именами, как и в вызвавшей
ее, не изменяя значения последних
PROCEDURE <эимя процедуры>
обозначает начало процедуры
PUBLIC <эсписок переменных>/clipper
объявляет переменные глобальными
QUIT
прекращает работу программы, закрывает все открытые файлы, и
возвращает управление операционной системе
READ [SAVE]
входит в режим полноэкранного редактирования, используя текущий
набор GETов
RECALL [<эобл.опр.>][FOR <эусловие>] [WHILE <эусловие>]
снимает отметки с записей, помеченных к удалению
REINDEX
пересоздает все открытые индексные файлы в текущей рабочей
области
RELEASE <эсписок переменных> /[ALL [LIKE /EXCEPT <эшаблон>]]
стирает переменные из памяти

- 43 -
RENAME <эфайл1>.<эрасширение> TO <эфайл2>.<эрасширение>
дает новое имя существующему файлу
REPLACE [<эобл.опр.>][<эсиноним> ->] <эполе1> WITH <эвыр1> [,<эполе2> WITH
<эвыр2>,...] [FOR <эусловие>][WHILE <эусловие>]
REPORT FORM <эфайл1>/(<эвырС1>) [<эобл.опр.>][FOR <эусловие>]
[WHILE<эусловие>] [TO PRINT] [TO FILE <эфайл2>/(<эвырС2>)]
[SUMMARY][PLAIN][HEADING <эвырС3>][NOEJECT]
выдает табличный, по желанию, сгруппированный отчет с
постраничными и постолбцовыми заголовками по определениям,
хранящимся в файле (.frm)
RESTORE FROM <эфайл>/(<эвырС>) [ADDITIVE]
извлекает переменные из файла памяти (.mem) и помещает их в
память
RESTORE SCREEN [FROM <эпеременная>]
повторно показывает экран, ранее показанный и сохраненный
командой SAVE SCREEN
RETURN [<эвыражение>]
заканчивает процедуру или программу, передавая управление либо
вызвавшей процедуре, либо операционной системе
RUN / !<эпрограмма> / (<эвырС>)
выполняет программу из ДОС
SAVE TO <эфайл>/(<эвырС>) [ALL [LIKE /EXCEPT <эшаблон>]]
сохраняет переменные в файле памяти (.mem)
SAVE SCREEN [TO <эпеременная>]
записывает текущий экран в буфер или переменную
SEEK <эвыражение>
ищет в индексе первый ключ, совпадающий с указанным выражением
SELECT <эрабочая область> /<эсиноним> /(<эвырЧ>)
переходит из текущей в другую рабочую область
SET ALTERNATE TO <эфайл>/(<эвырС>)
создает файл для записи выдачи, порожденной любыми командами,
кроме @ ... SAY ... GET
SET ALTERNATE on/OFF/(<эвырЛ>)
определяет, дублируется-ли выдача на экран в открытый в
настоящее время альтернативный файл
SET BELL on/OFF/(<эвырЛ>)
определяет, раздается-ли звонок при операциях ввода данных
SET SENTURY on/OFF/(<эвырЛ>)
определяет, показывается-ли дата с указанием столетия
SET COLOR TO [<эстандартный>[,<эвыделенный>] [,<эграничный>]
[,<эфоновый>] [,<эотключенный>]] /(<эвырС>)
устанавливает цвета, в которых будет производится выдача на
экран
SET CONFIRM on/OFF/(<эвырЛ>)
определяет, требуется-ли нажатие клавиши 'Return' для завершения
приема в GET
SET CONSOLE on/OFF/(<эвырЛ>)
определяет, производится-ли выдача на экран для ряда команд ( не
включая полноэкранные команды и функции расширения, такие как
ACHOICE() и DBEDIT() )
SET CURSOR on/OFF/(<эвырЛ>)
включает и выключает изображение курсора
SET DATE AMERICAN /ANSI /BRITISH /ITALIAN /FRENCH /GERMAN
устанавливает формат даты для отображения, передачи аргументов и
возврата значений
SET DECIMALS TO <эвырЧ>
устанавливает количество десятичных знаков для отображения

- 44 -
результатов вычислений
SET DEFAULT TO <эдисковод>[:<эпуть поиска>]
делает дисковод и директорий текущими для поиска и создания
файлов
SET DELETED on/OFF/(<эвырЛ>)
прячет/разрешает обрабатывать записи, помеченные к уничтожению
SET DELIMITERS on/OFF/(<эвырЛ>)
определяет, обрамляют-ли GET ограничители
SET DELIMITERS TO [<эвырС>] /[DEFAULT]
указывает символы, используемые для ограничения GETов
SET DEVICE TO SCREEN / PRINT
посылает результаты команды @ ... на экран/принтер
SET ESCAPE ON/off/(<эвырЛ>)
при значении, по умолчанию, "ON", нажатие клавиши 'Esc' на
предложениях GET...READ игнорирует проверку по VALID; нажатие
'Alt-C' позволяет прервать программу. При значении "off" нажатие
'Esc' не позволяет завершить READ а нажатие 'Alt-C' игнорируется
SET EXACT on/OFF/(<эвырЛ>)
требует/не требует точного соответствия при сравнении символов
SET EXCLUSIVE ON/off/(<эвырЛ>)
определяет, будет-ли файл базы данных (и связанные с ним файлы)
открыт для коллективного или монопольного доступа
SET FILTER TO [<эусловие>]
представляет файл базы данных как-бы состоящим только из
записей, отвечающих условию
SET FIXED on/OFF/(<эвырЛ>)
фиксирует/не фиксирует количество десятичных знаков, как они
определены в SET DECIMAL
SET FORMAT TO <эпроцедура>
активизирует формат, который будет использован, когда встретится
команда READ
SET FUNCTION <эвырЧ> TO <эвырС>
определяет символьную строку, возвращаемую при нажатии
соответствующей функциональной клавиши
SET INDEX TO [<эсписок файлов> / (<эвырС1>),...]
открывает указанный индексный файл (файлы) или закрывает любые
открытые индексные файлы, усли использована без аргумента
SET INTENSITY ON/off/(<эвырЛ>)
включает/выключает показ GETов выделенным цветом или инверсно
SET KEY <эвырЧ> TO [<эпроцедура>]
позволяет исполнить потом процедуру из любого "состояния
ожидания" по нажатию назначаемой сейчас клавиши, где "состояние
ожидания" - это любая команда (кроме INKEY() ),
приостанавливающая работу программы
SET MARGIN TO <эвырЧ>
устанавливает левую границе принтера и экрана
SET MESSAGE TO <эвырЧ> [CENTER]
назначает строку, где будут выдаваться сообщения (MESSAGE),
связанные с соответствующими приглашениями (PROMPT)
SET ORDER TO [<эвырЧ>]
делает один из открытых индексных файлов управляющим
SET PATH TO [<эсписок путей>]
указывает пути поиска, по которым Клиппер ищет файлы
SET PRINT on/OFF/(<эвырЛ>)
определяет, посылается-ли выдача всех команд, кроме @...SAY, на
принтер
SET PRINTER TO [<эустройство>/<эфайл>/(<эвырС>)]

- 45 -
определяет, куда направлять выдачу, предназначенную для печати
SET PROCEDURE TO [<эфайл >]
открывает названный процедурный файл во время компиляции и
включает все процедуры и пользовательские функции в текущий
объектный файл
SET RELATION TO [<эключ.выр1> / / <эвырЧ1> INTO <эсиноним1>]
[,TO <эключ.выр2>//<эвырЧ2> INTO <эсиноним2>]...
связывает рабочие области согласно ключевым выражениям
SET SCOREBOARD on/OFF/(<эвырЛ>)
определяет, будут-ли сообщения Клиппера появляться на строке 0
SET SOFTSEEK on/OFF/(<эвырЛ>)
позволяет "относительный" поиск. Если искомая запись не найдена,
то указатель ставится туда, где она должна была-бы быть
SET TYPEAHEAD TO <эвырЧ>
задает размер буфера клавиатуры
SET UNIQUE on/OFF/(<эвырЛ>)
определяет, появляются-ли в индексе записи только с уникальными
ключами
SET WRAP on/OFF/(<эвырЛ>)
позволяет/не позволяет кольцевое движение по меню
SKIP <эвырЧ1>[ALIAS <эрабочая область>/<эсиноним>/(<эвырЧ2>)
передвигает указатель записи вперед или назад на указанное число
записей в указанной рабочей области
SORT [<эобл.опр.>] ON <эполе1> [/A][/C][/D][,<эполе2>[/A][/C][/D]] ...
TO <эфайл>/(<эвырС>)[FOR <эусловие>] [WHILE <эусловие>]
копирует записи, соответствующие области определения и условию,
из текущей рабочей области в другой файл базы данных в
отсортированном порядке
STORE <эвыражение> TO <эсписок переменных> / <эпеременная> = <эвыражение>
сохраняет результат выражения в одну или больше переменных
SUM [<эобл.опр.>] <эсписок вырЧ> TO <эсписок переменных> [FOR <эусловие>]
[WHILE <эусловие>]
TEXT [TO PRINT][TO FILE <эфайл>] ... ENDTEXT
выводит блок текста
TOTAL ON <эключевое выражение> [<эобл.опр.>][FIELDS <эсписок полей>] TO
<эфайл>/(<эвырС>) [FOR <эусловие>][WHILE <эусловие>]
обобщает записи по ключевому признаку, суммируя указанные
ключевые поля и записывая результаты во второй файл базы данных
TYPE <эфайл1> [TO PRINT][TO FILE <эфайл2>]
показывает содержимое текстового файла
UNLOCK [ALL]
снимает замки с файлов и записей, ранее установленные функциями
FLOCK() и RLOCK()
UPDATE ON <эключевое выражение> FROM <эсиноним> REPLACE <эполе1> WITH
<эвыр1>[,<эполе2> WITH <эвыр2>]... [RANDOM]
обновляет текущий файл базы данных из другого файла базы данных
по отношениям один-к-одному и один-ко-многим
USE [<эфайл>/(<эвырС1>)] [INDEX <эсписок файлов>/(<эвырС2>)
[,(<эвырС3>)]...] [EXCLUSIVE] [ALIAS <эсиноним>/(<эвырС4>)]
открывает существующий файл базы данных (.dbf), связанные с ним
мемо-файлы (.dbt), и, по желанию, соответствующие индексные
файлы (.ntx/.ndx) в текущей рабочей области
WAIT [<эприглашение>] [TO <эпеременная>]
задерживает выполнение программы до нажатия какой-либо клавиши
ZAP
удаляет все записи из активного файла базы данных, оставляя
заголовок файла

- 46 -



Детальное описание команд


? / ??


синтаксис : ? / ?? <эсписок выражений>
показывает результаты одного или более выражений, разделяя их
пробелами.
<эсписок выражений> - это список значений любого типа,
перечисленный через запятую. Список может состоять из любой
комбинации типов данных, включая тип мемо. Команда имеет два
вида. Первый - "?" - сначала переводит курсор в начало следующей
строки и потом уже выводит информацию. Второй - "??" - наоборот,
сразу выводит информацию, позволяя последовательным командам
"??" выводить на ту же строку.
Заметьте, что результат каждого выражения из заданного списка
отделяется от предыдущего пробелом.
примеры : - вывод на две строки
? "привет"
? "всем"
результат :
привет
всем
- вывод на одну строку
?? "привет"
?? "всем"
результат :
привет всем

Библиотека : CLIPPER.LIB

Смотри также : @...SAY, TEXT


@...BOX



синтаксис @ <эвырЧ1>,<эвырЧ2>,<эвырЧ3>,<эвырЧ4> BOX <эвырС>


Рисует на экране рамку и заполняет ее символами. Символы для
каждой стороны и каждого угла можно задавать.
<эвырЧ1> - номер верхней строки (от 0 до 24)
<эвырЧ2> - номер левого столбца (от 0 до 79)
<эвырЧ3> - номер нижнего ряда (от 0 до 24)
<эвырЧ4> - номер правого столбца (от 0 до 79)
<эвырС> - строка из восьми символов, задающих границу и девятого
- заполнения. BOX рисует рамку, используя эту строку, начиная с
левого верхнего угла и далее по часовой стрелке.

примеры : нарисовать рамку, охватывающую весь экран, задав символы
для углов, сторон и заполнения :

- 47 -

frame = CHR(201)+CHR(205)+CHR(187)+CHR(186)+;
CHR(188)+CHR(205)+CHR(200)+CHR(186)+CHR(176)
@ 1,0,24,79 BOX frame

Определение границ для нескольких распространенных рамок :

* одинарная
single = CHR(218)+CHR(196)+CHR(191)+CHR(179)+;
CHR(217)+CHR(196)+CHR(192)+CHR(179)
* двойная
double = CHR(201)+CHR(205)+CHR(187)+CHR(186)+;
CHR(188)+CHR(205)+CHR(200)+CHR(186)
* двойной верх и одинарный бок
double_single = CHR(213)+CHR(205)+CHR(184)+CHR(179)+;
CHR(190)+CHR(205)+CHR(212)+CHR(179)
* одинарный верх и двойной бок
single_double = CHR(214)+CHR(196)+CHR(183)+CHR(186)+;
CHR(189)+CHR(196)+CHR(211)+CHR(186)

Библиотека : CLIPPER.LIB

Смотри также : @...CLEAR, @...TO



@...CLEAR


синтаксис @<эвырЧ1>,<эвырЧ2> CLEAR [TO <эвырЧ3>,<эвырЧ4>]


Очищает прямоугольную область экрана.
<эвырЧ1...вырЧ2> - определяют координаты верхнего левого угла -
строку и столбец, соответственно.
TO - определяет нижний правый угол (<эвырЧ3> и <эвырЧ4>) стираемой
области. Если этот угол не указан, то, по умолчанию, принимаются
следующие координаты - строка 24, столбец 79.

примеры :
@ 10,10 CLEAR TO 20,40
@ 10,10 CLEAR


Библиотека : CLIPPER.LIB
Смотри также : @...BOX, CLEAR, SCROLL()




@...PROMPT



синтаксис @ <эвырЧ1>,<эвырЧ2> PROMPT <эвырС1> [MESSAGE <эвырС>]



- 48 -

Рисует меню и определяе массив сообщений, используемый командой
MENU TO.
<эвырЧ1> - строка, где поместить данный пункт меню (приглашение)
<эвырЧ2> - столбец, где начнется приглашение
<эвырС1> - строка с текстом приглашения
MESSAGE - определяет поясняющее сообщение, выдаваемое каждый
раз, когда подсвечивается данный пункт меню. Эти сообщения
выдаются на строке, определенной командой SET MESSAGE.
@...PROMPT - это отображающая часть системы световых меню
Клиппера. Каждое предложение @...PROMPT рисует один пункт меню.
После этого командой MENU TO вызывается механизм обслуживания
светового меню. Приглашения могут быть нарисованы в любом
порядке и в любых позициях экрана. Светящаяся строка ходит по
ним в том порядке, в котором они были перечислены в программе.
Для одного меню можно определить до 32 пунктов.
Цвет : приглашения окрашены в текущий стандартный цвет, а
подсвеченная строка - в текущий выделенный цвет.

Пример
CLEAR
SET WRAP ON
SET MESSAGE TO 23 CENTER
@ 1,3 PROMPT "файл"
@ 1,COL()+2 PROMPT "редактировать"
@ 1,COL()+2 PROMPT "искать"
@ 1,COL()+2 PROMPT "дополнить"
@ 1,COL()+2 PROMPT "печать"
MENU TO choice


Библиотека : CLIPPER.LIB

Смотри также : MENU TO, SET COLOR, SET MESSAGE, SET WRAP, ACHOICE()



@...SAY...GET


синтаксис @ <эвырЧ1>,<эвырЧ2> [SAY <эвыражение>[ PICTURE <эвырС>]][GET
<эпеременная> [PICTURE <эвырС>] [RANGE <эвырЧ3>,<эвырЧ4>]
[VALID <эвырЛ>]]


<эвырЧ1> - координата строки
<эвырЧ2> - координата столбца

SAY - показывает результат выражения любого типа (включая мемо) в
казанных координатах на текущем устройстве, в текущем
стандартном цвете (смотри SET COLOR). Клиппер поддерживает два
устройства - экран (SCREEN) и принтер (PRINT). Если выбрано
устройство печати (SET DEVICE TO PRINT), то выдача от команд
отправляется на принтер. В остальных случаях она идет на экран.
Чтобы направить выдачу в файл, дайте команду SET DEVICE TO PRINT
и, затем, перенаправьте распечатку в файл : SET PRINTER TO <эимя
выходного файла>. Все, что предназначалось для принтера, попадет

- 49 -
в текстовый файл.
GET - показывает <эпеременую> (поле или переменную в памяти) в
указанной позиции экрана и добавляет ее в список ждущих GETов.
Ближайшая команда READ включает полноэкранный режим
редактирования, позволяющий Вам использовать полный набор клавиш
редактирования и движения по экрану. Полный список клавиш
смотрите в описании команды READ.
Клиппер поддерживает ввод в поля других рабочих областей, если
ссылаться на них используя синонимы. Например :

@ 10,10 GET <эсиноним> -> <эимя поля>


GETы отбражаются в "выделенном" цвете, кроме случая, когда
"отключенный" цвет был установлен командой SET COLOR. В таком
случае текущий GET показан "выделенным" цветом, а остальные -
"отключенным" цветом. GETы не направляются на принтер или в файл
командой SET DEVICE TO PRINT.


PICTURE: - определяет маску для ввода в GET и форматирует вывод через
SAY. Клиппер имеет два механизма управления форматированием:
функции и шаблоны. Функции действуют на весь SAY или GET, тогда
как шаблоны маскируют символы позиция за позицией.


Функции: - в данном случае функция - это символ, предшествуемый
символом "@". Если за функцией следует символ шаблона, то он
должен быть отделен пробелом. Определяя каждую PICTURE, можно
использовать несколько функций.


ТАБЛИЦА 5-3. СИМВОЛЫ ФУНКЦИЙ PICTURE.
-------------------------------------

------------------------------------------------------------
Функция Действие
------------------------------------------------------------
A Допускает только алфавитные символы в GETе.
B Показывает числа, выровненные по левому
краю.
C Показывает "CR" после положительных чисел.
D Показывает даты в формате SET DATE.
E Показывает даты в Британском формате, числа
в Европейском ( точка и запятая меняются
местами ).
K Очищает GET, если первой нажата не клавиша
управления курсором.
R Вставлены нешаблонные символы.
S Позволяет горизонтальную прокрутку в GETе.
X Показывает "DB" после отрицательных чисел.
Z Показывает нули как пробелы.
( Вкладывает отрицательные числа в скобки с
начальными пробелами.
) Вкладывает отрицательные числа в скобки без
начальных пробелов.
! Переводит алфавитные символы в верхний

- 50 -
регистр.
------------------------------------------------------------

Шаблоны: - если символы шаблона задаются, то они следуют за функциями
в строке PICTURE. Каждая позиция в выводном или вводном потоке
привязана к символу в той же позиции шаблона.


ТАБЛИЦА 5-4. СИМВОЛЫ ШАБЛОНА PICTURE.
-------------------------------------

-------------------------------------------------------------
Шаблон Действие
-------------------------------------------------------------
A Показывает только алфавитные символы.
N Показывает только алфавитные и цифровые
символы.
X Показывает любой символ.
9 Показывает цифры для любого типа данных,
включая знак для чисел.
# Показывает цифры, знаки и пробелы для
любого типа данных.
L Показывает логические значения "T" или "F".
Y Разрешает только "Y" или "N".
! Переводит алфавитный символ в верхний
регистр.
$ Показывает знак доллара в знакоместе
начального пробела числа.
* Показывает звездочку в знакомемте начального
пробела числа.
. Указывает позицию десятичной точки.
, Указывает позицию запятой.
-------------------------------------------------------------

Другие символы, указанные в шаблоне, замещают символ в той же
позиции исходного потока и выдачи. Если, однако, Вы используете
функцию "R", то указанные нешаблонные символы вставляются в
изображение, но не в принятое значение, если PICTURE
использовано с GET.


RANGE: - ограничивает ввод в переменные датного и числового типа,
указывая нижнюю и верхнюю допустимые границы ( нижняя
предшествует верхней). Если значение не попадает в разрешенный
диапазон, то выдается соответствующее в области SCOREBOARD и
управление возвращается в этот GET. Если Вы прекращаете ввод
нажатием "Esc", то проверка диапазона не производится. В этом
случае <эпеременная> сохраняет свое исходное значение.

VALID: - проверяет ввод в GET по логическому выражению. Как и RANGE,
VALID проверяет введенное при завершении ввода в GET, кроме
выхода нажатием "Esc" при установленном SET ESCAPE ON. Если
проверяющее логическое выражение возвращает ложь (.F.), то
управление возвращается в GET и Вы не можете покинуть GET пока
проверка не вернет истину (.T.) или Вы не нажмете "Esc".

Это проверочное выражение может содержать или само быть

- 51 -
функцией, определенной пользователем. Это полезно для проверки
по таблицам и других видов пост-обработки.

Одна из уникальных возможностей Клиппера - это то, что внутри
своей функции, вызванной VALID, Вы можете изменить содержимое
текущего GETа. Вы просто присваиваете новое значение текущей
переменной (STORE или REPLACE). Когда управление вернется к
GETу, Клиппер подставит новое значение.

Подсказка: - Вы можете создать систему подсказок, действующую на
экране, состоящем из @...SAY...GETов. Сначала назначьте новую
процедуру на нужную клавишу командой SET KEY TO. Затем, внутри
этой этой процедуры, определите текущий GET, используя функцию
READVAR() и выдайте нужную подсказку. Причем в теле этой
процедуры, вызываемой через SET KEY, Вы можете изменять
содержимое текущего GETа таким же образом, как через VALID.

Примеры: - использование VALID для проверки ввода в GET:
number=0
@10,10 SAY "Введите число больше нуля:";
GET number;
VALID n>0

Ввод в другую область:
SELECT 1
USE invoice
APPEND BLANK
SELECT 2
USE inventory
@1,1 GET invoice -> Cust_no
READ

Пример функции "@E":
net_income=7125.50
@1,1 SAY net_income PICTURE "@E 9,999.99"
Результат: 7.125,50

Пример функции "@)":
net_loss= -125.50
@1,1 SAY net_loss PICTURE "@)"
Результат: (125.50)

Функция "@K" предлагает вводимое значение, но
стирает его, если нажата любая клавиша, кроме
управляющих курсором:
file="Accounts"
@1,1 SAY "Введите файл" GET file PICTURE "@K"
READ

Функция "@S" позволяет прокрутку длинной
символьной строки в горизонтальном окне:
long="Эта строка слишком длинна."
@1,1 GET long PICTURE "@S10"
READ


Библиотека: CLIPPER.LIB

- 52 -

См. также: ?/??,@...TO,@...CLEAR,CLEAR,CLEAR GETS,READ,
SET BELL,SET CONFIRM,SET DELIMITERS,SET DEVICE,
SET FORMAT,SET INTENSITY,TEXT,COL(),ROW(),PCOL(),
PROW(),SETPRC()




@...TO




Назад


Новые поступления

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

281311062 © il.lusion,2007г.
Карта сайта