Компьютерные науки - Учебники на русском языке - Скачать бесплатно
Автор неизвестен
Clipper
С О Д Е Р Ж А Н И Е
-------------------
Глава 1
-------
Введение в Клиппер.
Описание содержимого руководства.
Компилятор Клиппер.
Разница между компилятором и интерпретатором.
Исполнение скомпилированных программ на любом
компьютере, совместимом с PC и MS-DOS.
Глава 2
-------
Установка Клиппера на Ваш Компьютер.
Требования к системе.
Последние изменения в документации.
Установка.
Быстрая компиляция и линковка.
Глава 3
-------
Отличительные черты Клиппера.
Преимущества.
Характерные черты.
Расширения - команды.
Расширения - функции.
Утилиты Клиппера.
Модификация приложений для DBASE III PLUS
Глава 4
-------
Язык Клиппера.
Технические данные.
Файлы.
Синонимы имен файлов.
Поля.
Константы.
Переменные.
Операторы.
Выражения.
Синтаксические правила.
Макро - подстановка.
Функции, определенные пользователем.
Установление множественных отношений к файлу.
Создание подсказки для пользователей Ваших
программ.
Деление на нуль.
Индексы, совместимые с DBASE III PLUS.
Таблицы клавиш для полноэкранных действий.
- 2 -
Глава 5
-------
Команды.
Условности, использованные при описании
команд и функций.
Сводка команд Клиппера.
Описание команд и примеры.
Глава 6
-------
Функции.
Сводка функций Клиппера.
Описание функций и примеры.
Глава 7
-------
Компилирование и линковка Ваших программ.
Что делает компилятор Клиппер ?
Компилирование Ваших программ.
Что делает линкер?
Линковка Ваших программ линкером ДОСа.
Линковка Ваших программ линкером PLINK 86 PLUS.
Использование пакетных файлов.
Линковка программ с отладчиком Клиппера.
Линковка программ с дополнительными драйверами экрана.
Линковка программ с другими библиотеками функций.
Оверлеи.
Глава 8
-------
Отладчик Клиппера.
Что такое отладчик Клиппера?
Как включить отладчик в Ваши программы.
Использование отладчика.
Пользование системой меню в отладчике.
Выбор в меню.
Вызов отладчика.
Глава 9
-------
Среда исполнения.
Командный процессор ДОСа - COMMAND.COM.
Файлы и буферы ДОСа.
Поддержка терминала ANSI.
Использование памяти компьютера.
Модификация среды исполнения.
- 3 -
Глава 10
-------
Использование Клиппера с локальной вычислительной сетью.
Что такое локальная сеть.
Особенности Клиппера.
Сетевые команды.
Сетевые функции.
Совместимость ЛВС с Клиппером.
Программирование для работы в среде локальной сети.
Влияние сетевой среды на файлы.
Влияние сетевой среды на команды.
Исходный текст LOCKS.PRG.
Глава 11
-------
Система расширений.
Глава 12
-------
Утилиты Клиппера.
Программа DBU.exe.
Программа RL.exe.
Программа INDEX.exe.
Программа LINE.exe.
Программа MAKE.exe.
Приложение A: Поддержка.
Приложение B: Лицензионное соглашение.
Приложение C: Команды и функции Dbase 3 plus, не
поддерживаемые Клиппером.
Приложение D: Сообщения компилятора об ошибках.
Приложение E: Сообщения Plink 86 plus об ошибках.
Приложение F: Сообщения об ошибках при исполнении.
Приложение G. Таблица ASCII и значения,
возвращаемые INKEY()
Приложение H: Зарезервированные слова.
Приложение I: Команды линкера Plink 86 plus.
Приложение J: Образцы программ.
- 4 -
ГЛАВА 1. ВВЕДЕНИЕ В КЛИППЕР
ОПИСАНИЕ СОДЕРЖИМОГО РУКОВОДСТВА
Материал разбит на 12 глав и приложения.
* глава 1 содержит введение, включая обзор руководства и
объяснения работы компилятора и интерпретатора.
* глава 2 содержит указания по установке Клиппера и требования к
компьютеру для установки, компилирования и исполнения программ.
* глава 3 описывает преимущества Клиппера включая расширения,
доступные только в Клиппере.
* глава 4 содержит информацию о данной реализации языка Dbase 3
plus.
* глава 5 содержит детальное описание всех команд Клиппера.
* глава 6 содержит детальное описание всех функций Клиппера.
* глава 7 содержит указания по компиляции, линковке и запуску
Ваших программ.
* глава 8 содержит материалы по использованию отладчика
Клиппера.
* глава 9 содержит информацию и указания, касающиеся Клиппера и
среды ДОС. Рассмотрены командный процессор, файлы и буферы ДОСа,
поддержка терминала ANSI и использование памяти компьютера.
* глава 10 содержит информацию и инструкции для написания
программ, работающих в среде локальной сети.
* глава 11 содержит информацию, детализирующую возможности и
использование системы расширения Клиппера.
* глава 12 содержит указания по использованию утилитных
программ.
* приложения
КОМПИЛЯТОР КЛИППЕР
Клиппер - это самостоятельная система, содержащая все средства,
необходимые для разработки прикладных программ. С Клиппером Вы можете
- 5 -
создать программы без помощи дополнительного программного
обеспечения, не считая текстового редактора. После того, как
программы отлажены, скомпилированы и слинкованы, они могут
непосредственно исполняться на любом компьютере, который поддерживает
PC/MS-DOS версии 2.0 и выше (или версии 3.1 и выше для сетевых
приложений).
Различия между интерпретатором и компилятором
Интерпретатор
Чтобы создать программу, используя интерпретирующий язык, Вы
создаете файл, содержащий необходимые команды и функции. Каждая
строка текста исполняется индивидуально, каждый раз когда Вы
запускаете программу. Интерпретатор "шагает" от строки к строке и,
если не обнаруживает ошибок, преобразует ее к виду понятному машине
(машинный код).
Если перед преобразованием обнаружена ошибка, то выполнение
программы приостанавливается и на экран выдается сообщение об ошибке.
Вы должны исправить ошибку и запустить программу по новой. Этот
процесс повторяется до тех пор, пока в программе есть ошибки. К
сожалению, даже после того, как программа отлажена, исполняется она
по прежнему с отнимающей время проверкой каждой строки.
Если на какой-либо строке найдена синтаксическая ошибка, то
исполнение программы прерывается и интерпретатор выдает
соответствующее сообщение об ошибке. Вы должны вернуться в редактор,
исправить текст и снова запустить программу под управлением
интерпретатора. Эта моментальная обратная связь может быть полезной
на начальном этапе разработки программ.
После того, как Вы исправили первую найденную ошибку,
интерпретатор опять проверяет, преобразует и выполняет все строки
программы, начиная с первой. И каждый раз, когда встречается ошибка,
этот цикл повторяется - до тех пор, пока программа не станет
совершенной.
К сожалению, Вы не имеете возможности сохранить отлаженный
машинный код, созданный при предыдущем прогоне или отключить механизм
проверки каждой строки. Каждый раз, когда Вы запускаете программу,
интерпретатор "разбирает" каждую строку, что сильно замедляет работу
программы.
Компилятор
Компилятор проверяет каждую строку программы на правила
синтаксиса и т.д. в основном так же, как и интерпретатор. Но, в
отличие от последнего, компилятор просматривает файл с исходным
текстом до конца, выдавая сообщения о каждой найденной ошибке.
Компилятор выполняет промежуточный шаг преобразования исходного
текста в машинный код, переводя текст в объектный код и сохраняя его
в файле объектного кода (.OBJ). Этот файл хранит проверенный и
переведенный исходный текст.
Сам объектный код не исполняется компьютером. Его требуется
"скомпоновать" (слинковать) т.е. связать его с необходимыми
поддерживающими процедурами и, таким путем, получить самостоятельно
исполняемый файл (.EXE). После того как линковка завершилась успешно,
- 6 -
.EXE файл содержит все необходимое для запуска программы
непосредственно из ДОСа - просто набрав его имя. Программа
выполняется с максимальной скоростью, поскольку больше нет проверок
каждой строки, как в интерпретаторе.
Использование других языков
Во многих компиляторах есть возможность линковать раздельно
скомпилированные или ассемблированные программы, объединяя их в одну.
Преимуществом является то, что можно использовать различные языки -
такие как Си или Ассемблер.
Компоновка программ
При компоновке к объектному файлу присоединяются не только
поддерживающие процедуры, хранящиеся в библиотечном файле, но и ранее
отдельно скомпилированные программы, которые вызывает Ваша программа.
Инструкции по компоновке программ смотрите в главе 7.
Заметьте, пожалуйста, что получившийся исполняемый файл (.EXE)
значительно больше объектного (.OBJ), за счет включения процедур из
библиотек и отдельно скомпилированных кусков, позволяющих запускать
программу прямо из под ДОСа.
Ошибки, которые могут возникнуть при компоновке
В процессе компоновки могут возникать различные ошибки.
Например, могут быть двойные или неопределенные ссылки. Эти ошибки
должны быть исправлены либо пересмотром исходного текста либо
включением тех модулей, которые Вы забыли указать линкеру. Процесс
компиляции и линковки повторяется по мере необходимости.
Ошибки, которые могут возникнуть при выполнении программы
При выполнении программы могут обнаруживаться различные ошибки,
останавливающие программу. Приложение F содержит список этих
потенциальных ощибок. Общая ошибка - указание открыть файл базы
данных, которого на самом деле нет. Появится сообщение об ошибке. В
этом случае нет необходимости переделывать программу - надо
переместить или создать файл, чтобы он был доступен программе. После
чего вновь запустить программу.
Использование оверлеев
Оверлеи позволяют нескольким сегментам .EXE файла использовать
одну область памяти. Разные сегменты подгружаются в нее по мере
необходимости. Использование оверлеев обсуждено в главе 7.
Исполнение скомпилированных программ на любом компьютере,
совместимом с PC и MS-DOS.
С Клиппером Вы больше не привязаны к тому компьютеру, на котором
программа была скомпилирована и скомпонована. Вам больше не нужен
интерпретатор, исходный текст, объектный файл или сама копия
Клиппера. Вам нужен компьютер, включающий :
- 7 -
- PC/MS-DOS 2.0 или выше для однопользовательских программ
- PC/MS-DOS 3.1 или выше для сетевых программ
- поддержка ввода/вывода терминалов IBM/PC или ANSI
- исполняемый (.EXE) файл
- любые файлы нужные для работы программы (базы данных, индексы
и т.д.)
Глава 2. Установка Клиппера на Ваш Компьютер.
Требования к системе.
Требования для компилирования программ
Клиппер требует, чтобы у Вас был IBM PC, XT или AT или 100% IBM
совместимый компьютер. Компьютер должен удовлетворять следующим
требованиям :
- PC/MS-DOS 2.0 или выше для однопользовательских программ
- PC/MS-DOS 3.1 или выше для сетевых программ
- 256К, или больше, оперативной памяти
- 1 флоппи и 1 жесткий дисковод
- полезно иметь принтер, математический сопроцессор
Для исполнения программ сделанных с Клиппером компьютер должен
удовлетворять следующим требованиям :
- PC/MS-DOS 2.0 или выше для однопользовательских программ
- PC/MS-DOS 3.1 или выше для сетевых программ
- 256К, или больше, оперативной памяти
- быть IBM PC, XT или AT (или 100% совместимым), или
- компьютер, имеющий поддержку ANSI терминала
Последняя документация по Клипперу
В файл READ_ME.1ST включена текущая информация о Клиппере -
дополнения в последнюю минуту, исправления в руководстве, информацию
по использованию.
Установка Клиппера
- 8 -
Не надо использовать дискеты с дистрибутивом для повседневной
работы - компиляции и линковки Ваших файлов. Первым делом сделайте с
них рабочую копию на жестком диске и резервную копию на дискетах.
Процедура установки.
Из корневого директория создайте поддиректорий, который будет
содержать файлы Клиппера. Следующая команда ДОС создаст поддиректорий
названный "CLIPPER" :
C>MD CLIPPER
Создав поддиректорий, перейдите в него :
C>CD CLIPPER
Вставьте системный диск в дисковод A и выберите этот дисковод,
введя "A:". Затем введите команду :
A>CLIPCOPY <эдиск>
где "<эдиск>" - буква-идентификатор дисковода. Файл CLIPCOPY.BAT
- это программа пакетной обработки ДОС, которая скопирует нужные
файлы на жесткий диск.
Глава 9 содержит полезную информацию об установках в файлах
AUTOEXEC.BAT и CONFIG.SYS. Руководствуйтесь ею при создании своей
операционной среды.
Быстрая компиляция и линковка
Клиппер содержит полезный пакетный файл, помогающий
компилировать и линковать Ваши программы. Используйте этот файл
(CL.BAT) при работе на жестком диске.
Рекомендуется прочесть главу 7, "Компилирование и линковка Ваших
программ". Однако для быстрого примера можно ввести следующую команду
C>CL INDEX
"INDEX" - это программа, позволяющая создавать
Клиппер-совместимые индексы для Ваших приложений. Исходный текст
"INDEX.PRG" включен в дистрибутив.
Глава 3. Отличительные черты Клиппера.
Преимущества Клиппера
Клиппер предлагает программистам много уникальных и мощных
инструментов. Эта глава содержит обзор возможностей. Каждая из них
детально рассмотрена в последующих главах настоящего руководства.
- 9 -
Преимущества Клиппера включают :
- существенно более быстрое выполнение
- абсолютная безопасность исходного текста
- возможность выполнять написанные на Клиппере и слинкованные
программы на любом компьютере, поддерживающем PC/MS-DOS 2.0 или выше
для однопользовательских программ или DOS 3.1 или выше для сетевых
приложений.
- возможность распространять готовые программы
- улучшенные сетевые возможности без дополнительных расходов
- возможность помещать процедуры и функции в тот же файл, что и
вызывающая программа
- группа функций и операторов, обрабатывающих строки длиной до
64К
- выбор между более быстрыми Клиппер-совместимыми файлами
индексов и DBASEIIIPLUS-совместимыми
- низкоуровневый доступ к файлам и устройствам ДОС
- использование до 2048 активных переменных
- использование до 1024 полей на файл базы данных
- использование 255 открытых файлов (с ДОСом 3.3)
- возможность создавать свои функции
- проверка исходного текста при каждой компиляции
- обнаружение всех ошибок программы одновременно
- использование до 8 "детских" отношений к "родительскому" файлу
- возможность вызывать неограниченное количество посторонних
программ, написанных на Си или Ассемблере
- возможность обрабатывать мемо-поля как строки
- использование рекурсивных или вложенных макроподстановок
- использование девяти символов в команде @...BOX
- возможность создавать пустой файл расширеннолй структуры не
создавая сам файл базы данных
- использование глобальной переменной CLIPPER для запуска
программы под интерпретатором
- возможность создавать циклы БЕЙСИКоподобной командой
FOR...NEXT
- возможность возвращать логическое значение, если команды USE,
USE...EXCLUSIVE, или APPEND BLANK отказывают при работе в сети
- возможность объявлять и манипулировать массивами
- расширенный набор функций работы с мемо-полями
- 10 -
- возможность добавлять пустую запись в файл коллективного
доступа
- возможность ставить указатель записи на запись, запертую
другим пользователем и отображать ее
- разрешение неограниченному числу пользователей работать с
одной и той же базой данных (подробности в главе 10)
- возможность вернуть текст имени компьютера при работе в сети
- возможность обеспечить контекстно-чувствительную помощь -
такую как инструкции по вводу данных - при нажатии клавиши F1
- использование утилит, вызываемых прямо из операционной
системы, для создания файлов базы данных и индексов, наклеек и
отчетов
- полные отладочные возможности
Характерные черты
Клиппер поддерживает множество улучшений, влияющих на поведение
и синтаксис большинства команд и функций. Они делают программирование
легче а программы мощнее.
Функции, определенные пользователем
Клиппер поддерживает предопределенные функции языка DBASEIIIPLUS
такие как CHR() и EOF(). Кроме того, Вы можете создавать собственные
функции, которые, будучи созданы, могут использоваться в любом месте
программы. Вы можете объединять их в библиотеки функций и
прикомпоновывать для использования. Примеры функций, определенных
пользователем, в главах 4 и 6.
Командная строка, начинающаяся с функции
Клиппер разрешает начинать командную строку с функции. Это может
быть полезно для функций, вызывающих какое-либо действие, но либо не
возвращающих значения, либо возвращающих значение, несущественное в
данном случае. Например :
? "Copyright 1989, Emulsified Software "
INKEY(1) && ждать 1 секунду
Расширенное использование макроподстановок
Как и в языке DBASEIIIPLUS, Вы можете использовать
макроподстановки вместо констант, имен переменных, полных выражений
- 11 -
(включая функции и операторы) и литералов. В дополнение к этому,
Клиппер разрешает использование макро для условия в предложении DO
WHILE, равно как и рекурсивные макроподстановки.
Расширенное использование выражений
В Клиппере Вы теперь можете указать выражение везде, где раньше
Вы указывали в качестве аргумента символьный литерал. Это касается
команд SET и команд, открывающих файлы. Чтобы поступить так, Вы
окружаете выражение круглыми скобками. Например :
USE (<эвырС>)
вместо
USE <эимя файла>
Это общая возможность. Подробности для каждой команды в главе 5.
Функции работы с файлами ДОС
Новые функции клиппера поддерживают низкоуровневый доступ к
файлам ДОС и устройствам. Эти функции позволяют Вам создавать,
открывать, закрывать, читать, писать, искать, и отслеживать ошибки в
файлах ДОС. Подробности в главе 6.
Улучшенный экранный интерфейс
Световые меню
В Клиппере есть две возможности создания световых меню.
Во-первых, комбинация из @...PROMPT,SET MESSAGE и MENU для создания
меню с любым расположением выборов. @...PROMPT рисует каждый пункт
меню и определяет поясняющее сообщение. SET MESSAGE TO определяет
номер строки экрана, для выдачи этого сообщения. MENU TO вызывает
механизм обслуживания меню. Выбор осуществляется либо стрелками, и
подтверждается нажатием 'Return', либо нажатием клавиши первого
символа нужного пункта меню. В указанную переменную возвращается
число, означающее номер выбранного пункта в списке пунктов.
Вторая возможность - создание вертикального меню функцией
ACHOICE(). Для работы этого меню Вы указываете координаты окна меню и
массив возможных выборов. Выбор осуществляется либо позиционированием
светящейся строки либо нажатием клавиши первого символа. Нажатие
'Return' подтверждает выбор, возвращая позицию в списке выборов также
как числовое значение. Если число выборов больше, чем число строк в
окне, ACHOICE() прокручивает список.
Сохранение и восстановление экрана
Клиппер позволяет сохранить картинку на экране в переменную,
включая элемент массива, и восстановить из нее на экран командами
SAVE SCREEN TO и RESTORE SCREEN.
Управление клавиатурой
- 12 -
Предоставлен ряд возможностей, позволяющих более эффективно
управлять клавиатурой. LASTKEY() возвращает последнюю клавишу,
нажатую в "состоянии ожидания", включая READ, MENU TO, ACCEPT, INPUT
и WAIT. Команда KEYBOARD заполняет буфер клавиатуры одним или больше
символами из "состояния ожидания". Вы можете переназначить клавиши,
используя SET KEY TO так, что при нажатии соответствующей клавиши из
"состояния ожидания" управление передается назначенной процедуре.
Когда эта процедура заканчивается, управление возвращается в
"состояние ожидания". INKEY() дополнена возможностью временной
задержки, позволяющей приостановить выполнение на указанное время или
неограниченное время ждать нажатия клавиши. Команда SET CURSOR
включает и выключает мигающий курсор.
Конкретная помощь
Клиппер позволяет встроить в программу конкретную помощь,
скомпилировав и прилинковав программу или процедуру, названную Help.
Эта процедура будет вызвана при нажатии клавиши F1 из любого
"состояния ожидания", включая READ, MENU TO, ACCEPT, INPUT и WAIT.
Подробности в главе 4.
Проверка GETов
Опция VALID команды @...GET позволяет проверить отдельные GETы
до завершения READ. Когда Вы пытаетесь покинуть GET, VALID вычисляет
логическое выражение. Если оно возвращает истину (.T.), то текущий
GET завершается; в противном случае курсор остается в GETе до тех
пор, пока VALID не вернет (.T.) или Вы не нажмете 'Esc'.
VALID поддерживает самостоятельно определенные функции.
Пользуясь этим, можно выполнить различные уровни проверки, включая
обзоры других рабочих областей или вызвать меню используя MENU TO или
ACHOICE(). Кроме того, можно присвоить новое значение обрабатываемым
переменной или полю и, после возврата из своей функции, значение GETа
изменится на новое.
Отмена в GETах
Когда Вы редактируете GET, можно отменить последние изменения,
нажав Ctrl-U. Покинув текущий GET, отменить изменения уже невозможно.
Например, исходное значение было "TED" и Вы изменили его на "FRED",
нажатие Ctrl-U вернет исходное состояние.
Массивы переменных
Клиппер позволяет определять одномерные массивы. Каждый массив
считается за одну переменную и может передаваться как параметр для
процедур и пользовательских функций. Обеспечен ряд функций работы с
массивами, позволяющих вставлять и удалять элементы, заполнять
- 13 -
массив, искать в массиве указанное значение, загружать массив именами
файлов из каталога диска используя шаблоны, и некоторые другие.
Функции описаны в главе 6.
Больше переменных
Клиппер позволяет использовать до 2048 глобальных и локальных
переменных (если позволяет память) и каждый массив считается за одну
переменную. Массивы, в свою очередь, могут содержать до 2048
элементов.
Длиннее строки
В предыдущих версиях функции и операторы Клиппера поддерживали
символьные строки длиной до 32К. Следующие из них изменены и
поддерживают строки до 64К :
+ LOWER()
== REPLICATE()
$ SPACE()
AT()SUBSTR()
EMPTY() TRIM()/LTRIM()
LEN() UPPER()
Улучшенная работа в сети
Клиппер обрабатывает сетевые файлы не так, как другие СУБД
программы. В Клиппере доступ к запертому кем-то файлу невозможен
только для записи. Для чтения файлом могут пользоваться одновременно
неограниченное число пользователей. Это позволяет использовать
компьютерное время более эффективно. Для индикации сбоя команд USE,
USE...EXCLUSIVE или APPEND BLANK в сетевой среде служит функция
NETERR(). Информация о работе с сетью в главе 10.
Улучшенная обработка файла базы данных
Относительный поиск
Можно выполнить "относительный поиск" используя команду SET
SOFTSEEK. Это значит, что если при поиске командой SEEK точное
соответствие не найдено, то указатель записи установится на запись с
ближайшим большим значением индекса.
Множественные родственные отношения
Клиппер поддерживает множественные родственные отношения между
рабочими областями используя команду SET RELATION. Пользуясь этим,
можно привязать до восьми детских файлов на один родительский.
Подробности в главе 4.
Улучшенная обработка мемо-полей
Мемо-поля можно присваивать символьным переменным. Это позволяет
выполнять поиск, склейку, замещения мемо-полей и другие операции,
- 14 -
разрешенные для символьных строк.
Функции форматирования
Для более эффективного представления мемо-полей, Клиппер
проедоставляет набор форматирующих функций. Например, используя
MLCOUNT() и MEMOLINE(), можно извлечь подстроки из длинных строк или
мемо-полей и напечатать их. Это позволяет печатать мемо-поля, точно
управляя их расположением на странице.
Мемо-редактор
Для ввода и редактирования длинных строк и мемо-полей
предназначена функция MEMOEDIT(), работающая в заданном окне. Она
имеет стандартный набор возможностей, включая вставку, удаление и
автоматический перенос слов на следующую строку. Подробности о
мемо-функциях в главе 6.
Улучшенная передача параметров
Переменное количество параметров
В Клиппере, количество параметров, передаваемых программе,
процедуре или самостоятельно определенной функции не обязательно
должно соответствовать количеству аргументов команды PARAMETERS. Для
обеспечения такой работы предназначена функция PCOUNT(), возвращающая
количество реально переданных параметров.
Командная строка ДОС
В дополнение к передаче параметров в вызываемую программу, можно
также передать параметры из командной строки ДОС. Разница заключается
в том, что все переданные из ДОС параметры рассматриваются как
символьные строки. Подробности в описании команды PARAMETERS в пятой
главе.
Дополнительные операторы
В дополнение к стандартным операторам Клиппер имеет еще
несколько операторов, перечисленных в следующей таблице :
Таблица 3-1. Дополнительные операторы.
----------------------------------------------------------------
Отношения Математический
----------------------------------------------------------------
== Точно равно % Модуль
!= Не равно
! Не
----------------------------------------------------------------
Прочие улучшения
- 15 -
Вы можете объявить в своих программах глобальную переменную
CLIPPER. Это позволит Вам использовать расширения, предоставляемые
Клиппером, в программах для DBASEIIIPLUS. Если правильно построить
выражения, то программу можно будет по прежнему запускать под
DBASEом, хотя и не используя всех возможностей Клиппера. Команда
PUBLIC обсуждена в главе 5.
Отладчик
Отладчик Клиппера - это мощный инструмент, созданный для помощи
в обнаружении ошибок в программе. Он позволяет видеть всю среду
программы, проверяя ее статус, структуру, точки останова или изменять
значение переменных и выражений. Высоко интерактивный отладчик
управляется через систему меню, позволяющую Вам легко передвигаться
по программе. Подробности в главе 8.
КОМАНДЫ РАСШИРЕНИЯ КЛИППЕРА
Полное описание синтаксиса и примеров на каждую команду
находится в главе 5.
@...BOX Одним предложением рисует рамку на экране из указанных
для каждого угла и стороны символов и заполняет ее
заданным символом
@...PROMPT Помещает на экран пункты меню
@...SAY...GET Позволяет программе проверить годность введенного
...VALID значения до перехода к следующему GETу.
<эвырЛ>
DECLARE Создает массив из <эвырЧ> элементов. Элементы могут
быть разных типов
EXTERNAL Используется для объявления символа для линкера.
Процедуры, обявленные как внешние, можно помещать в
оверлеи и вызывать их с макро.
FOR...NEXT Команда позволяет выполнить цикл в заданном диапазоне
и, дополнительно, изменять переменную цикла. Опция
STEP позволяет указать величину ее прирашения.
KEYBOARD Заполняет буфер клавиатуры указанной строкой,
предварительно очистив его.
MENU TO Вызывает световое меню, позволяющее передвигать
светящуюся строку по приглашениям меню и возвращающее
номер выбранной строки в списке приглашений.
RESTORE Используемая в сочетании с командой SAVE SCREEN
SCREEN позволяет избежать повторного рисования исходного
- 16 -
экрана.
SAVE SCREEN
Пишет содержимое текущего экрана в буфер или
переменную. Эта команда, используемая в сочетании с
командой RESTORE SCREEN, устраняет необходимость
повторного рисования исходного экрана.
SET CURSOR Позволяет включать и выключать мерцающий курсор.
SET KEY Позволяет выполнить процедуру нажатием назначенной
клавиши из любого "состояния ожидания". "Состояние
ожидания" - это любая команда, приостанавливающая
выполнение программы. Примеры "состояния ожидания" в
главе 5.
SET SOFTSEEK Позволяет "относительный" поиск. Если не найдена
нужная запись, то указатель устанавливается на запись,
логически следующую за искомой.
SET WRAP Разрешает круговое движение в меню.
ФУНКЦИИ РАСШИРЕНИЯ КЛИППЕРА
Полное описание синтаксиса и примеров на каждую функцию
в главе 6.
ALIAS() Возвращает синоним выбранной рабочей области. Если
параметр не указан, то возвращается синоним рабочей
области.
DTOS() Возвращает строку формата ггггммдд. Рекомендуется для
индексирования по склейке из даты и символьного
выражения.
EMPTY() Возвращает логическую "истину", если: символьное
значение равно нулевой строке или строке пробелов; числовое выражение
равно нулю; датное выражение равно пустой строке. В противном случае
возвращается "ложь".
FCLOSE() Закрывает ДОСовский файл.
FCOUNT() Возвращает число полей в текущей базе данных.
FCREATE() Создает ДОСовский файл.
FERROR() Возвращает ДОСовский код ошибки для файловых операций.
FOPEN() Открывает ДОСовский файл.
FREAD() Читает символы из ДОСовского файла и возвращает число
- 17 -
считанных символов.
FREADSTR() Читает символы из ДОСовского файла и возвращает
строку.
FSEEK() Устанавливает указатель внутри ДОСовского файла на
новую позицию.
FWRITE() Пишет в ДОСовский файл.
HARDCR() Замещает все символы "мягкого" возврата каретки (ASCII
= 141) на "жесткий" (ASCII = 13) в пределах данного выражения.
INDEXEXT() Возвращает расширение текущего индексного файла (.ntx
или .ndx).
INDEXKEY() Возвращает ключевое выражение текущего индекса.
INDEXORD() Возвращает текущий номер SET ORDER TO.
LASTKEY() Возвращает значение ASCII - кода последней нажатой
клавиши, включая управляющие клавиши.
LOCK() Пытается запереть запись базы данных. Если попытка
успешна, возвращает "истину".
MEMOEDIT() Дает возможность редактировать мемо - поля и строки.
MEMOLINE() Возвращает сформатированную строку, извлеченную из
мемо - поля или строки.
MEMOREAD() Возвращает указанный дисковый файл в виде символьной
строки.
MEMORY() Возвращает количество свободной памяти в килобайтах.
MEMOTRAN() Возвращает символьную строку с замещенными символами
возврата каретки и перевода строки.
MEMOWRIT() Пишет символьную строку в разрешенный дисковый файл,
и возвращает "истину" в случае успеха.
MLCOUNT() Возвращает число строк в символьном выражении или
мемо-поле.
NETERR() Возвращает "истину" если команды USE,USE...EXCLUSIVE
или APPEND BLANK отказывают при работе в сети.
NETNAME() Возвращает текст имени компьютера. Если имя компьютера
не было установлено, то возвращается нулевая строка.
PCOUNT() Возвращает число параметров, переданных из командной
строки или другой процедуры.
|