ГЛАВА 1
ВВЕДЕНИЕ
Эта глава посвящена введению в PAL, язык приложений системы Paradox. PAL позволяет вам расширить возжможности системы Paradox по созданию прикладных систем баз данных любого уровня сложности с минимальной затратой усилий.
Используя PAL, вы легко можете создавать прикладные системы, которые работают и выглядят в точности как система Paradox. Вы можете даже разработать замкнутые прикладные системы, с помощью которых ваши пользователи смогут эффективно работать, не обладая системой Paradox и даже не зная о ней!
PAL является наиболее сложным и всесторонним из средств, расширяющих Paradox в целях создания прикладных систем:
- Если вы просто хотите автоматизировать ежедневно выполняемые задачи, вы можете записать их в виде скриптов системы Para- dox, и затем запустить их, когда это потребуется.
- Если вам необходимо разработать законченные прикладные системы, вам нет необходимостми программировать - используйте Personal Programmer системы Paradox. Он автоматически генерирует скрипты PAL, которые Вы затем можете усовершенствовать. Таким образом, это идеальное средство создания прототипов.
- Если вам необходимо усовершенствовать возможности или структуру скриптов системы Paradox или прикладных систем, написанных с помощью Personal Programmer, в этом вам тоже поможет PAL.
Использование PAL - это программирование. Это руководство предполагает наличие у пользователя знания хотя бы основных концепций программирования; мы не будем учить вас программировать здесь. Если вы программировали на Си, Паскале или другом языке программирования, или языке баз данных , вы, вероятно, знаете достаточно, чтобы начать немедленно эффективно пользоваться языком PAL. Если вы новичек в программировании, эти книги помогут вам понять, что к чему:
- George Ledin & Victor Ledin, The Programmer's Book of Rules. Lifetime Learning Publications,1979.
- Paul Heckel, The Element of FriendlySoftware Desing. Warner Books,1984.
- Al Kelley & Ira Pohl, C by Dissection. Benjamin/Cummings, 1986.
ЧТО ТАКОЕ PAL?
PAL является структурированным языком программирования баз данных высокого уровня с полным набором прикладных средств, позво ляющим вам писать сложные программы для системы Paradox (скрипты) и прикладные программы. PAL имеет два аспекта:
- язык как таковой: команды, функции и конструкции
- набор средств для работы с языком: особое меню PAL, редактор скриптов, встроенный отладчик и несколько средств для создания и запуска скриптов.
PAL и PARADOX
Разработчик прикладных систем баз данных с помощью PAL может использовать все возможности системы Paradox. Кроме того, он может пользоваться набором средств программирования и инструментов, характерных для наиболее совершенных систем создания прикладных программ. Ниже представлены основные средства PAL:
- С помощью PAL вы можете пользоваться всей мощью системы
Paradox. PAL можно себе представить в виде робота. Программист, работающий в системе Paradox - это агент, который управляет системой, контролируя с помощью ее действия пользователя. Пользуясь PAL, вы имеете в своем распоряжении все средства системы Paradox. Ниже приведены некоторые средства системы Paradox, важные для разработчика прикладных программ.
- Язык запросов системы Paradox, с помощью системы запросов по образцу позволяет вам легко конструировать запросы от самых простых до самых сложных. Paradox имеет возможность соединять много таблиц в один запрос; кроме того PAL предоставляет вам возможность включать переменные в формулировки запросов. Пользуясь средством QuerySave системы Paradox, вы можете легко использовать созданные вами формулировки запросов в программе на языке PAL.
- PAL имеет прямой доступ к средствам диагностики системы Paradox. Определенные величины, такие, как календарные даты, проверяются автоматически. Другие типы диагностики, включая форматирование шаблонов, просмотры таблиц, и автоматическое заполнение величин в таблицах, могут быть быстро установлены в любой точке.
- Как только вам это понадобится, вы можете создать новые табличные структуры. Вы можете также изменять существующие табличные структуры без риска потерять данные. Заметьте, что ,если вы изменяете структуру таблицы, Paradox автоматически обновляет все объекты, связанные с этой таблицей, т.е. формы, отчеты и указатели.
- Вы можете использовать многотабличные формы системы Paradox для сложных прикладных программ ввода и вывода данных , таких как ввод накладных или заказов, требующих отношений типа 1:M (один-ко-многим), M:M (многие-ко-мно- гим) и M:1 (многие-к-одному) между записями, содержащимися в различных таблицах. Вы можете использовать многозаписевые формы,чтобы автоматически обеспечить просмотр областей подробных записей в этих типах прикладных систем.
- PAL обеспечивает доступ к генератору отчетов системы Paradox, что дает вам возможность разрабатывать практически бесконечное множество форматов вывода без программирования.Генератор отчетов поддерживает до 16 уровней группирования. Он также выводит вычисленные величины, основываясь на выражениях,содержащих одно или более полей. Вы можете разработать спецификации отчета в диалоговом режиме с помощью системы Paradox, а затем легко включить их в программы на языке PAL.
- Вы можете усилить ваши программы на языке PAL, используя встроенное в Paradox средство графики повышенного качества, с помощью которой облегчается поддержка принятия решений и анализа прикладных систем.
- Неограниченное количество переменных и массивов: в системе
PAL число переменных и массивов, которые вы можете задать ограничивается только памятью системы. Массивы могут состоять из почти неограниченного числа элементов. Встроенные примитивы использования массивов для обработки записей как единого целого позволяют вам быстро перемещать записи между таблицами.
- Очень мощные возможности процедур: PAL не налагает ограничений на число определений процедур, которые могут быть активными одновременно. Кроме того процедуры PAL позволяют:
- Локальные и глобальные переменные
- Рекурсии и вложения скриптов и процедур
- Динамическое определение области видимости переменных
- Автоматическое распределение памяти для процедур (заг- рузка их в память и выгрузка)
- Определение и использование процедур по стилю похоже на используемые в языках Си и Паскаль, а также возможность автоматического создания и поддержания библиотек определений, синтаксис которых автоматически проанализирован.
- Полный набор встроенных функций:
- Большое число основных математических, статистических и трансцендентных функций
- Финансовые функции,такие ,как расчет платежей по долгам и вычисление настоящих и будущих величин
- Мощные функции синтаксического анализа, сопоставления и форматирования строк
- Группа функций, позволяющих манипулировать и определять состояние объектов системы Paradox
- Широкие возможности ввода с клавиатуры и вывода на экран: PAL
позволяет вам полностью управлять вводом/выводом и взаимодействием с конечными пользователями. Система Paradox позволяет вашим прикладным программам организовать ввод данных и вывод их на экран без программирования в диалоговом режиме. Особый примитив WAIT дает вам возможность передавать управление пользователям, чтобы они могли наращивать или обновлять запи си, поля и целые таблицы до тех пор пока они не нажмут клавишу завершения,которая возвращает управление вашему скрипту.
- Управляющие примитивы: В дополнение к традиционным управляющим структурам ,таким как IF-THEN-ESLE, WHILE-ENDWHILE, а также SWITCH-CASE, PAL имеет мощную структуру SCAN, которая позволяет очень быстро задавать последовательности операций над каждой записью таблицы.
- Легкосоздаваемые вторичные индексы: С помощью PAL вы можете установить вторичные указатели на таблицы системы Paradox. Нет необходимости беспокоиться о них в процессе разработки. Они могут быть легко созданы после осознания необходимости улучшения программы. Если вы установили эти индексы, вам нет необходимости следить за ними - они будут использоваться и обновляться автоматически, если возникнет потребность.
- Защита с помощью пароля: Используя Paradox,вы можете избирательно защищать данные в таблицах и скриптах. Вы можете контролировать доступ пользователя к данным вплоть до отдельного поля. Вы можете также контролировать доступ к формам, отчетам и другим объектам.
- Вычисление макрокоманд: вы можите задавать системе командные строки.
- Сокращенные команды меню: PAL содержит специальный класс команд, позволяющий вам имитировать процесс выбора из меню системы Paradox, используя при этом синтаксис языка программирования и параметры.
- Многопользовательские средства: вы можете воспользоваться встроенными в Paradox средствами защиты файлов и записей, а также широким набором примитивов для явной постановки замков.
- Целостность: При использовании многотабличных форм Paradox автоматически поддерживает целостность связанных таблиц.
- Обработка ошибок: вы можете определить специальные процедуры для локализации и обработки ошибок в скриптах , возникающих при исполнении.
Средства PAL
Язык PAL встроен в Paradox наряду с целостной системой средств для работы с ним, включая:
- Меню PAL
- Редактор скриптов PAL
- Отладчик PAL
- Средства для записи и запуска скриптов
Эти средства составляют мощную интегрированную среду для создания прототипов, разработки, тестирования и запуска скриптов и прикладных систем. Их взаимоотношения - имена командных клавиш, режимов меню, а также команды PAL, которые переводят пользователя от одного средства к другому показаны на рис.1.1.
Кроме того существуют три средства, помогающие в построении сложных автономных прикладных систем:
- Personal Programmer системы Paradox, используемый для автоматической генерации кода и соединения записанных скриптов в полную прикладную систему.
- Подсистема Runtime системы Paradox, которая позволяет вам предоставить вашу прикладную систему пользователям, не обладающим системой Paradox.
- Набор средств ввода данных (Data Entry Toolkit), библиотека процедур, поддерживающих расширенный набор средств ввода данных.
Хотя мы считаем, что среда PAL обеспечивает оптимальную поддержку разработки прикладных систем, вы можете и не использовать перечисленные средства для создания программ на языке PAL. Так как программы на языке PAL являются текстовыми файлами , вы можете использовать ваш собственный редактор для их создания, если Вы пожелаете (в самом деле, вы можете легко включить ваш любимый редактор в среду PAL). Для создания, тестирования и использования программ на языке PAL не нужно иметь каких-либо дополнительных или скрытых файлов.
ЗАЧЕМ НЕОБХОДИМ PAL?
Paradox является мощной и простой в использовании системой управления базами данных. Так как PAL предоставляет вам все средства управления системой Paradox, то с помощью него легко можно разработать пользовательские программы и прикладные системы, которые также будут мощными и простыми в использовании.
Среда PAL, как и среда Paradox, является объектноориентированной. Она направляет процесс создания, модификации и поддержки прикладных систем. С помощью нее вы можете скомпоновать полные прикладные системы с минимальной затратой труда.
Программирование в этой среде состоит из трех этапов:
- Так как PAL использует все возможности системы Paradox, вы можете сначала с использованием системы Paradox в диалоговом режиме создать таблицы, запросы, формы, отчеты и другие объекты, необходимые для прикладной системы.
- Вы можете затем записать протокол диалога в скрипты и использовать Personal Programmer системы Paradox для создания структуры меню и определения отношений между элементами вашей прикладной системы.
- После этого с помощью редактора скриптов, отладчика и других средств PAL вы можете усовершенствовать и настроить вашу систему.
Другие языки управления базами данных, не являющиеся объектноориентированными,не позволяют разрабатывать составные части прикладной системы в диалоговом режиме. Они могут не обладать встроенным редактором или средствами поддержания диалога или генера тором отчетов. Кроме того, их генераторы прикладных систем не всегда обеспечивают широкий доступ к меню, отчетам или пользовательским формам.
Короче говоря, программисты, использующие другие системы баз данных , часто видят , что они должны программировать со "скрипом" - то есть создавать прикладные системы баз данных без помощи или с небольшой помощью СУБД. Для пользователей систем PAL и Paradox все обстоит иначе.Поработав,вы обратите внимание на то, что вы проводите большую часть времени, используя Paradox в режиме диалога для создания компонентов вашей системы и значительно меньше времени пишите программы непосредственно на языке PAL.
ПЕРЕД ТЕМ, КАК ИСПОЛЬЗОВАТЬ PAL
PAL и Paradox сильно связаны. Таким образом, чем лучше вы знаете Paradox, тем в большей степени вы сможете пользоваться им в ваших программах на языке PAL.
Мы считаем, что вы прочли и поняли руководство пользователя системы Paradox и имеете опыт использования системы Paradox в диалоговом режиме. Вы должны представлять себе:
- как делать выбор из меню и каковы взаимосвязи различных меню и режимов системы Paradox;
- как создавать таблицы, формы и отчеты;
- как формулировать запросы, используя язык запросов по образцу;
- как сортировать таблицы;
- как Paradox использует клавиатуру.
Если вы не имеете этих важнейших навыков, мы предлагаем вам провести немного больше времени, работая с системой Paradox, перед тем, как пробовать программировать на языке PAL.
Если вы программировали прикладные системы на языках других систем баз данных, естественно будет предположить, что вы можете писать программы на языке PAL без понимания системы Paradox. В самом деле, PAL является всего лишь языком программирования баз данных, не так ли? Нет, не так!
Например, если бы вы не знали, что Paradox имеет встроенные средства форматирования календарных дат, вы бы предположили, что даты следует вводить всегда одним способом и что вам необходимо написать программу для вывода их в другом формате. Это верно для других систем баз данных, но Paradox имеет одинадцать встроенных форматов календарных дат и поддерживает простую арифметику с использованием любого из них. Так что, если бы вы не были знакомы с системой Paradox, вы бы потратили время и силы на изобретенние колеса.
Этот простой пример имеет аналоги почти во всех областях программирования. По мере того, как вы будете знакомиться с системой Paradox вы начнете уважать ее мощь и чувствовать себя более уютно, заставляя эту мощь работать на вас. Вы поймете, что вы можете разрабатывать программы в условиях менее жестких ограничений. Мы еще раз подчеркиваем: чем лучше вы знаете Paradox, тем лучше вы будете понимать PAL.
КАК ПОЛЬЗОВАТЬСЯ НАСТОЯЩИМ РУКОВОДСТВОМ?
Эта книга является всесторонним справочным руководством по элементам, командам и средствам языка PAL. Хотя она - не учебник, вы найдете в ней множество примеров программ, а также значительное количество советов по практическим методикам, как эффективно работать с PAL. Руководство делится на пять частей:
- Часть I. Основные элементы языка: Содержит подробное ние основных элементов PAL. Сюда входят скрипты и команды, выражения, переменные и массивы, управляющие структуры и процедуры.
- Часть II. Средства PAL: Описывает инструментальные средства для работы с языком PAL. Сюда входят меню PAL, средства для создания и запуска скриптов, редактор скриптов и отладчик.
- Часть III. Использование PAL: Рассматривается, какие команды, функции, конструкции, методики и средства необходимо использовать для выполнения часто встречающихся операций с помощью PAL. В этой главе говорится, как управлять системой Paradox, взаимодействовать с пользователем, манипулировать величинами, рационально распределять и использовать ресурсы, разрабатывать макрокоманды клавиатуры, работать с многотабличными формами, управлять несколькими пользователями и разрабатывать прикладные системы.
- Часть IV. Справочник команд и функций: Содержит полное описание всех команд и функций PAL, включая их синтаксис , использование и примеры.
- Часть V. Примеры прикладных систем: Описывает две прикладные системы на языке PAL, которые включены в диск Sample Tables системы Paradox. Первая глава описывает цели и замысел полной прикладной системы, выделяет некоторые из используемых методик и содержит полностью документированный структурированный текст программы. Вторая глава описывает набор средств ввода данных PAL, с помощью которого вы можете усовершенствовать ввод/вывод в ваших прикладных системах. Эта часть служит дополнительным курсом обучения методике программирования на языке PAL.
В конце книги приведены четыре справочных приложения, словарь и указатель. В общем, части I и II содержат основу PAL и его средства. После прочтения их вы будете в состоянии продуктивно использовать PAL, пользуясь справками из части III по поводу того, какими командами и функциями вы можете пользоваться. Часть IV является настольным справочником: держите ее при себе, программируя на PAL. Наконец, части III и V содержат некоторые специальные вопросы и тонкости языка PAL. После того, как вы разработаете несколько прикладных программ, перечитайте эти две части , чтобы углубить ваше понимание языка PAL и использовать его более эффективно.
Хотя эта книга сопровождает систему Paradox версии 3.0 , вы можете использовать ее для разработки скриптов, пользуясь версиями 1.0, 1.1 и 2.0 системы Paradox. Команды, функции и методики, которые не применяются в ранних версиях системы Paradox, отмечены в справочнике команд и функций (часть IV) и собраны в приложении D. При использовании этих команд в прикладной системе, помните, что они будут вызывать ошибки, если система запущена в той версии сис темы Paradox, которая не поддерживает эти команды.
Обозначения
В этой книге мы используем ряд соглашений. Когда мы говорим о режимах из меню системы Paradox, мы будем писать их по английски слитно, например:MiniScript или Tools/QuerySpeedup. Имена файлов DOS будем обозначать заглавными буквами, например: Paradox3.EXE.
Все примеры программ будут представлены в виде, похожем на распечатку принтера и помещены вне текста, например :
SETKEY "F11" SORT TABLE() ON FIELD()
В части IV, где мы описываем команды и функции PAL, мы используем специальные обозначения для указания синтаксиса. Эти обозначения описаны полностью в начале части IV.
Возможности заполнения перечислены в таблице в начале главы 20 в разделе "Переменные параметры PAL". Когда в встретите соответствующее слово в определении синтаксиса, посмотрите в эту таблицу, чтобы выяснить, выражение какого типа допустимо здесь.
ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА
Эта часть руководства пользователя PAL содержит описание элементов и конструкций языка приложений системы Paradox (PAL). PAL, в отличие от некоторых компиляторов систем баз данных, не является "черным ящиком". В самом деле, PAL не является системой баз данных, отличной от системы Paradox - это просто способ автоматизации и расширения, который может применить пользователь системы Paradox. Хотя система PAL обладает некоторыми уникальными свойствами, многие из ее средств аналогичны средствам других языков программирования.
Настоящая часть состоит из шести глав:
- Глава 2:Скрипты и команды. Программа на языке PAL, или скрипт состоит из последовательностей команд. Глава описывает общую структуру и синтаксис скриптов.
- Глава 3: Выражения. Выражения являются аргументами команд PAL. Глава описывает элементы выражений: константы, переменные и массивы, спецификаторы полей и функции. Здесь также объясняется, как манипулировать строками, каленарными датами, приводятся коды клавиш в выражениях.
- Глава 4: Управляющие структуры. Эта глава описывает команды PAL, используемые для изменения порядка выполнения скрипта.
- Глава 5: Задание форматов данных. Эта глава описывает, как используются шаблоны и спецификации формата для управления вводом с клавиатуры и выводом на экран или принтер.
- Глава 6: Процедуры. Эта глава описывает, как используются процедуры и их библиотеки для создания пользовательских функций и для усовершенствования вашей прикладной системы.
- Глава 7: Специальные вопросы. Эта глава описывает соглашения по именованию, защиту с помощью паролей, специальные скрипты "init" и "instant", а также обработку ошибок.
Информация этих глав наряду с описанием команд и функций PAL, приведенной в части IV, является полным описанием среств PAL. Части II,III,V поясняют использование команд и функций при построении прикладных систем.
| <<
| <
| >
| >>
| Содержание |