ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Paradox. Руководство программиста . - 2 - GUIDE TO THE PARADOX PERSONAL PROGRAMMER P E R S O N A L P R O G R A M M E R . - 3 - С О Д Е Р Ж А Н И Е Стр. ЧАСТЬ I ОСНОВЫ Personal Programmer 13 ЧАСТЬ II ПРИНЦИПЫ И РУКОВОДСТВА 29 ЧАСТЬ III ВОПРОСЫ ПОВЫШЕННОЙ СЛОЖНОСТИ И РЕКОМЕНДАЦИИ 152 ПРИЛОЖЕНИЕ А 178 РИСУНКИ 180 . - 4 - ГЛАВА 1 ВВЕДЕНИЕ Что такое приложение Что может Personal Programmer Требования и возможности . - 5 - Г Л А В А 1 ____________________________________________________________ ВВЕДЕНИЕ ____________________________________________________________ Система Personal Programmer представляет собой прог- рамму, которая позволяет создавать программные изделия без программирования. Пользуясь системой Personal Programmer, Вы можете без особого труда создавать программные изделия для себя и для других пользователей. Система Personal Programmer позволяет: - создавать и использовать меню приложений в стиле системы PARADOX в интерактивном режиме; - осуществлять привязку действий в соответствии с ус- ловием задачи в любом режиме меню приложений; - создавать основные объекты системы PARADOX (таблицы, отчеты, запросы, формы) для Вашего приложения; - создать титульный ("SPLASH") экран приложения в ин- терактивном режиме; - связать две таблицы реальным "внешним соединением"; - вносить изменения в имеющееся приложение, созданное в системе Personal Programmer. Правила работы с системой Personal Programmer просты для освоения и могут быть использованы любым человеком не- зависимо от уровня подготовки в программировании. Новички имеют возможность работать в среде PARADOX и строить систему меню своего приложения без какого-либо навыков программирования. Программисты могут применять эту систему для того, чтобы создать прототип сложного приложения в виде структуры исполняемых программ . В данной главе рассказывается: - что такое приложение; - что может делать Personal Programmer; - оборудование, необходимое для установки Personal Programmer; - 6 - - что следует знать для более эффективного использова- ния системы Personal Programmer; - возможности и ограничения приложений, созданных при помощи Personal Programmer. ЧТО ТАКОЕ ПРИЛОЖЕНИЕ ? СУБД реляционного типа PARADOX обеспечивает широкие возможности для создания, обработки и вывода информации. Под приложением понимается некоторая последовательность операций в системе PARADOX, позволяющая выполнять опреде- ленные действия для решения поставленной задачи. Приложение выполняет те действия, которые должен произвести пользова- тель для решения конкретной задачи. Например, предположим, что Вы владелец фирмы, сдающей в прокат кинофильмы. Вы стремитесь как можно более упрос- тить работу Ваших служащих по обслуживанию базы данных, со- держащей информацию о потребителях, фильмах и текущем сос- тоянии дел: какие фильмы находятся в прокате, и т.п. Обу- чить своих служащих работать в системе PARADOX не стоит труда, т.к. он содержит экраны помощи для пользования . Но при наличии соответствующего приложения Вы можете еще более облегчить этот процесс. Вместо основного меню системы PARADOX перед Вашим служащим будет меню, содержащее только требуемые ему для выполнения конкретной прикладной задачи режимы работ: ___________________________________________________________ *INQUIRY REPORTS MAINTENANCE ORDERS HELP LEAVE Inquire abоut customers or films. ___________________________________________________________ Заказав режим ОТЧЕТЫ из основного меню приложения, служащий увидит меню следующего уровня: - 7 - ___________________________________________________________ *CATALOG OVERDUE ITILIZATION CANCEL Print a listing of all films. ___________________________________________________________ Заказав режим ПРОСРОЧЕННЫЕ_ФИЛЬМЫ, он получит на своем печатающем устройстве отчет с информацией, о фильмах у ко- торых просрочена дата возврата, на основании данных из таб- лицы orders. Вот и все, и нет никакой надобности обучать Ваших слу- жащих работе в системе PARADOX, ни как строить запросы в системе, ни как создавать отчеты в нужной форме и т.п. Все, что им нужно для их работы, предоставит Ваше приложение. Поскольку Ваши служащие никогда не увидят самой системы PARADOX, Вам нужно будет только показать им как выбрать то или иное действие по меню приложения и, как вводить и выби- рать данные. При помощи Personal Programmer довольно сложное прило- жение создается достаточно легко. И, действительно, Вы смо- жете создать его самостоятельно, изучив главы 4-7 данного пособия. Вы обнаружите, что программы, создаваемые системой Personal Programmer, выполняют практически все, что может быть написано на языке PAL. Принципиальное исключение сос- тавляют многопользовательские операции, поддержание таблиц со связями "один ко многим" и использование инструментария ввода данных (Data Entry Toolkit). Когда Вы создаете приложение при помощи Personal Programmer, то сами определяете, что пользователь Вашего приложения должен видеть, а что нет, включая и то, к какой информации какой доступ он должен иметь. Сами таблицы не должны появляться на экране и вся выводимая информация дол- жна быть представлена либо в виде формы, либо в виде отче- та. Это означает, что именно Вы определяете что и как долж- но быть представлено пользователю. Например, если Вы хотите чтобы Ваши служащие могли просмотреть таблицу-список служа- щих фирмы, но без просмотра данных об их заработной плате, Вы просто не включаете это поле в форму вывода информации - 8 - на экран. В результате информация о заработной плате будет присутствовать в таблице данных, но никогда не будет выво- диться в Вашем приложении. Когда приложение уже создано, то его пользователи не нуждаются в установке системы PARADOX. Для его функциониро- вания достаточно иметь средство - PARADOX RUNTIME (см.главу 8 данного пособия). ЧТО МОЖЕТ PERSONAL PROGRAMMER Система PARADOX состоит из программ, написанных на языке создания приложений (PAL). До появления системы Personal Programmer (и его предшественника - генератора приложений в системе PARADOX) Вы должны были свободно вла- деть языковыми средствами PAL для создания разного рода приложений. Появление Personal Programmer изменило состоя- ние дел. Он ведет Вас в процессе создания приложения и вне- сения изменений в него. Серия последовательно возникающих на экране меню работ определяет основные этапы в создании приложения. Вообще говоря, Вы создаете систему меню и определяете, какие действия должны выполняться в том или ином режиме ме- ню. Когда Вы это заканчиваете, Personal Programmer сама пи- шет за Вас программы на языке PAL, которые обеспечат работу приложения. Вам нет необходимости самим писать что-либо на PAL и даже вообще что-нибудь знать о нем. Personal Programmer создает хорошо структурированные модули на языке PAL и записывает их в специально организо- ванные библиотеки процедур. Это означает, что если Вы вла- деете языком PAL или хотите лучше его изучить, то можете использовать PPROG для создания прототипа приложения, а за- тем вносить требуемые изменения и улучшения. Использование Personal Programmer - 9 - Основное меню PERSONAL PROGRAMMER ___________________________________________________________ *Create Modify Summarize Review Play Tools Exit Create a new application. ___________________________________________________________ Введите имя создаваемого приложения ___________________________________________________________ Application: Enter new application name. ___________________________________________________________ Закажите таблицы, требуемые для приложения ___________________________________________________________ *ExitingTable NewTable RemoveTable DO-IT! Cancel Choose an existing table to use in application. ___________________________________________________________ Создайте основное меню Вашего приложения ___________________________________________________________ *Menu View Report DataEntry Edit Script Help NotDefined Cancel Attach a submenu to the current menu selection. ___________________________________________________________ ___________________________________________________________ *Inquiry Reports Maintenance Orders Help Leave Inquire about customers or films. ___________________________________________________________ - 10 - Завершите работу и запомните созданное приложение ___________________________________________________________ *DO-IT! Cancel Save the application. ___________________________________________________________ Personal Programmer полностью совместим с системой PARADOX. Файлы, используемые в приложении - это файлы PARADOX: - таблицы содержат информацию - запросы выбирают данные из таблиц - формы выводят отдельные записи из таблицы на экран - отчеты группируют, меняют местами и подсчитывают за- казываемые итоги по данным из таблицы - экраны отображения нескольких таблиц связывают ис- ходную информацию с выходными таблицами и позволяют Вам вводить или редактировать информацию в несколь- ких таблицах одновременно (см. экраны отображения нескольких таблиц в главе 10 подробнее). ТРЕБОВАНИЯ И ВОЗМОЖНОСТИ Для того, чтобы использовать систему Personal Programmer Вам потребуется: - система ЭВМ, в которой может работать PARADOX, - жесткий диск или сервер для сети ЭВМ (минимум 2 мБ свободной памяти), - 640К внутренней памяти (прямого доступа). ЗАПОМНИТЕ, что Вы не можете работать с Personal Programmer в системе с гибкими дисками. Но можете использо- вать систему с 2-мя гибкими дисками для работы с приложени- ями, созданными посредством Personal Programmer, если все программные и информационные файлы для приложения помещают- ся на одном гибком диске. Пользователи могут применять либо систему PARADOX, либо средство PARADOX RUNTIME для поддер- жания работы приложения, созданного в среде Personal Programmer Более подробно см.главу 8. - 11 - Используя Personal Programmer Вам ничего не нужно знать о программировании. Однако, Вы должны знать о том, как работать с системой PARADOX. Чем лучше Вы его знаете, тем лучше поймете, что и как можно получить от Personal Programmer. С некоторыми исключениями Personal Programmer не до- бавляет каких-либо новых возможностей в PARADOX, но он об- легчает и упрощает процесс создания программных приложений для системы PARADOX. Например, поскольку создание основных файлов приложе- ния - это создание основных файлов системы PARADOX, т.е. таблиц, запросов, форм и отчетов, Вы создаете их обычным образом, и понимание природы файлов PARADOX - минимально необходимое условие для начала работы в среде Personal Programmer. Если Вы владеете языком PAL, то найдете, что Personal Programmer хороший помощник для Вас. С его помощью Вы може- те легко определить структру Вашего приложения, закодиро- вать стандартные модули и даже создать титульный экран для него. Создав при помощи Personal Programmer основу для при- ложения, Вы можете дописать дополнительные программы на PAL, чтобы с их помощью выполнить более сложные задачи. И поскольку Personal Programmer пишет хорошо структурирован- ные модули на PAL, их можно легко отредактировать, вставить свои комментарии и расширить их возможности. Более подробно см.главу 11. Personal Programmer накладывает несколько ограничений на создаваемые им приложения. В отдельном приложении можно иметь до: - 15 таблиц, - 15 пунктов для каждого меню, - 10 уровней системы меню. Хотя приложения, созданные при помощи PERSONAL PROGRAMMER, будут работать в сети, они не используются в - 12 - многопользовательском режиме. И, наконец, имеются ограничения на редактирование оп- ределенных полей в экранах отображения нескольких таблиц (см.главу 10). ПОМНИТЕ, что программы, создаваемые системой Personal Programmer, должны являться начальной точкой для Вашего ко- нечного приложения. С помощью языка PAL и Ваших программ на нем Вы сумеете обойти даже эти ограничения системы Personal Programmer. . - 13 - Ч А С Т Ь I ___________________________________________________________ O C Н О В Ы Personal Programmer ___________________________________________________________ ГЛАВА 2 УСТАНОВКА Установка Personal Programmer Если установка не сработала Замечания по установке ГЛАВА 3 ОБЗОР Подготовка Начало работы с Personal Programmer Как стартовать Personal Programmer Работа с Personal Programmer Главное меню Выбор таблиц Разработка меню приложения Описание пунктов меню Окончание и выход Модификация приложения Запуск приложения Обобщения . - 14 - Г Л А В А 2 ____________________________________________________________ У С Т А Н О В К А ____________________________________________________________ Чтобы запустить Paradox Personal Programmer, надо его установить на Ваш винчестер или сетевой файловый процессор. (Как объяснялось в главе 1, Personal Programmer не работает на 2 "флоппи" дисках). В сети Personal Programmer должен устанавливаться только сетевым администратором. УСТАНОВКА Personal Programmer Personal Programmer предполагает, что на винчестере есть директории в соответствии с рисунком: Корневой (\) і paradox 2 і ЪДДДДДДДДДВДДДДДДДЕДДДДДДДДВДДДДДДДДДї і і і і і protect+ sample+ pprog* sampapp+ detool+ * - не нужен перед установкой + - возможно Для установки вводите команды из командной строки DOS для Вашего винчестера (обычно с>) или для сетевого диска PARADOX'a (обычно f>). 1. Войдите в директорий PARADOXа: c>cd \paradox2 [Enter] - 15 - 2. Вставьте диск 1 с Personal Programmer в дисковод A: компьютера. 3. Введите с>a:pinstall [Enter]. Программа установки создает подкаталог \paradox2\ pprog и сканирует файлы с пяти дисков Personal Programmer. Программа будет запрашивать Вас об ус- тановке нужной ей дискеты. После завершения уста- новки появится сообщение: Paradox Personal Program- mer succesfully installed и появится "приглашение" DOC. 4. Обновите команду PATH в файле AUTOEXEC.BAT, включив туда подкаталог, в котором находится Personal Prog- rammer (обычно с:paradox2\pprog). Например, такая команда PATH типична для многих установок: path c:\;c:\dos;c:\paradox2;c:\paradox2\pprog (В сети идентификатор диска обычно f: вместо c:). Если вы хотите установить Personal Programmer немед- ленно, выполните команду PATH из командной строки. ЕСЛИ УСТАНОВКА НЕ СРАБОТАЛА Если что-либо случилось во время установки, программа выдает сообщение об ошибке и возвращается в ДОС. Сообщения находятся в приложении А к этому руководству. Проверте се- бя, если не можете установить Personal Programmer c первой попытки: - Есть ли достаточно места на винчестере? Для Personal Programmer надо около 2 мегабайт. Если у Вас нет столько места, придется удалить некоторые файлы с винчестера до установки Personal Programmer. - Правильно ли вы устанавливали дискеты Personal Programmer в A>? Надо ставить их строго по порядку, от 1 до 5. - Был ли текущим дисководом винчестер (c>)? Если нет, то сделайте его текущим и повторите процесс. - Были ли вы в подкаталоге Paradox? Personal Program- mer должен переписать оттуда 2 файла, и подразумева- - 16 - ет, что они находятся в текущем директории. ЗАМЕЧАНИЯ ПО УСТАНОВКЕ Структура директориев После установки Personal Programmer создается новый директорий на винчестере: \paradox2\pprog (если он уже не существовал). Там находятся программные файлы Personal Programmer, и процедура установки автоматически копирует их туда. Мы рекомендуем Вам использовать отдельный директорий для каждого приложения. Это позволит вам идентифицировать Ваши приложения. С указанием в команде PATH \paradox\pprog можно запустить Personal Programmer из любого директория. Поэтому более удобно запускать Personal Programmer из ди- ректория, в котором находится Ваше приложение. Чтобы узнать более подробно о создании директория для приложения, пос- мотрите "Установка директория" в главе 4 (начиная новое приложение). Настройка Можно использовать Paradox Custom Configuration Program для настройки Personal Programmer в Вашей системе. Надо запускать CCP из Personal Programmer, а не из Paradox. Подробней смотрите "Настройка Personal Programmer" в главе 10. . - 17 - Г Л А В А 3 ____________________________________________________________ О Б З О Р ____________________________________________________________ При использовании Personal Programmer программа будет сопровождать Вас шаг за шагом по процессу создания приложе- ния. Эта ключевая глава дает обзор этого процесса. Здесь описано: - подготовка, необходимая до запуска Personal Program- mer; - запуск Personal Programmer; - начало процесса определения приложения; - построение меню; - определение действий в меню; - выход из Personal Programmer; - запуск приложения; - изменение ранее созданного приложения. Эти темы обсуждаются более подробно в дальнейшем в гла- вах 4-8. Эта глава кратко знакомит Вас с основными понятиями. ПОДГОТОВКА Перед тем, как использовать Personal Programmer, Вам придется потратить некоторое время на планирование Вашего приложения, рассмотреть, как бы Вы хотели, чтобы Ваше при- ложение работало, подумать, какие выборы Вы бы хотели включить в главное меню, какие работы потребуются для ра- боты приложения. Хотя предварительное планирование ускорит и облегчит процесс разработки, нет необходимости перед использованием Personal Programmer все планировать в деталях. Personal Programmer поможет Вам и позволит изменить Ваше мнение о том, как должно выглядеть Ваше приложение и как работать - 18 - после того, как Вы закончите его создание. Затем, если Вы планируете использовать в приложении Ваши собственные сценарии PARADOX или PAL, используйте PARADOХ для их подготовки. По Вашему желанию Вы можете ис- пользовать PARADOX так же для предварительной подготовки таблиц, форм, спецификаций и экранов для отображения нес- кольких таблиц. Но вместе с тем эти же объекты Вы можете построить с помощью Personal Programmer непосредственно во время разработки Вашего приложения или позаимствовать структуру об'ектов у уже существующих. Если Вы хотите, чтобы таблицы приложения были защище- ны паролем, используйте во время их создания Tools/More/Protect Generator защиты PARADOX для реализации Вашей системы паролей. Последним этапом подготовки к созданию нового прило- жения является использование команды DOS md для создания отдельного директория на Вашем жестком диске, где Вы можете создавать и сохранять файлы приложения. Хотя файлы Personal Programmer всегда располагаются в директории paradox2/pprog, Вы можете создать Ваше приложение в любом директории на жестком диске. Т.к. любое приложение состоит из ряда разнообразных таблиц, форм, сообщений и сценариев, мы рекомендуем организовать новый директорий для каждого нового приложения, сгенерированного Вами. В противном слу- чае, Вы не можете точно определить, какому приложению при- надлежат те или иные об'екты и сценарии. Предварительное описание Personal Programmer более детально приведено в главе 4 (НАЧАЛО НОВОГО ПРИЛОЖЕНИЯ). НАЧАЛО РАБОТЫ Personal Programmer Перед началом работы Personal Programmer убедитесь, что: - Personal Programmer установлен на Вашем жестком диске, как описано в главе 2 (УСТАНОВКА); - директорий \paradox2\pprog добавлен к команде DOS path, как описано в главе 2; - 19 - - создан отдельный директорий для Вашего приложения, как описано в разделе "ПОДГОТОВКА". - ВАЖНО: Используя Personal Programmer, Вы можете ра- ботать со сценариями, таблицами и другими об'ектами только в текущей директории. Однако, Вы можете изменить директорию Personal Programmer. Если Вы затрудняетесь прочитать экран (особенно прос- вечиваемые его части), или если Вы работаете с графической цветной платой IBM и видете на экране "снег", Вам может по- надобиться запросить программу о Вашем мониторе, а затем продолжить работу. В этом случае смотрите раздел "ВОПРОСЫ АДАПТАЦИИ СИСТЕМЫ К ВАШЕМУ КОМПЬЮТЕРУ" гл.10 (ВОПРОСЫ ПОВЫ- ШЕННОЙ СЛОЖНОСТИ) для получения информации о запуске Custom Configuration Program из Personal Programmer. Указанная причина является единственной причиной, по которой в этот момент Вам может понадобиться использование программы кон- фигурации. КАК СТАРТОВАТЬ Personal Programmer Если Вы планируете работать с образцом приложения, не торопитесь запускать Personal Programmer. Подобные инст- рукции по запуску системы приведены в главе 4 (СОЗДАНИЕ НОВОГО ПРИЛОЖЕНИЯ). Используйте команду DOS cd для изменения директория приложения, который Вы создали. Например, если директорий называется \paradox2\pprog\newap, Вы должны набрать: c>cd\paradox2\pprog\newap нажмите [Enter] На экране появится pprog. Нажмите [Enter] и вы увидите Главное меню Personal Programmer ___________________________________________________________ *Create Modify Summarise Review Play Tools Exit Create a new application ___________________________________________________________ - 20 - Personal Programmer меню работает аналогично меню PARADOXа. Используйте клавиши --> и <-- передвижения курсора для выбора нужного пункта. или нажмите [Esc] для возврата в предыдущее меню. РАБОТА С Personal Programmer Работа с системой Paradox Personal Programmer очень похожа на работу с самой системой Paradox. Меню появляется в верхней части экрана, а сообщения в нижней. Многие клави- ши, которые Вы используете, такие же - Do-it! [F2] - закон- чить действия, [Esc] - вернуться на шаг назад и т.д. Вы мо- жете использовать обычные приемы работы с системой Paradox для выбора из меню, использования подсказки и отображения меню Ваших таблиц или других объектов. Если Вы увидите со- общение об ошибке, обратитесь к приложению А данного руко- водства для разъяснения. Одно важное различие между Personal Programmer и сис- темой Paradox заключается в том, что в нижней половине эк- рана Personal Programmer отображает заключенные в рамки ин- формацию состояния, инструктаж и подсказки к проводимым Ва- ми в данный момент действиям. Третья линия верхней рамки, названная линией действий, всегда отображает действие, ко- торое Вы должны выполнить вслед за текущим. Нажимать клави- шу [F1] (Help) не нужно (нажатие ee не дает эффекта), т.к. подсказка почти всегда отображена на экране. В нескольких случаях, когда подсказка на экране автоматически не отобра- жается, например, когда Вы составляете запрос, Вы можете нажать [F1] (Help) для получения дополнительной информации. (Если Вы сочтете, что постоянная подсказка Вам мешает, Вы можете выбрать пункт Setting/HelpMode из главного меню, чтобы сделать ее менее многословной). - 21 - Постоянная помощь системы Personal Programmer важна, т.к. работа с Personal Programmer представляет собой линей- ный процесс, и инструкции сопровождают Вас по всем шагам создания приложения от начала до конца. Такими шагами явля- ются: 1. Задание имени приложения. 2. Определение или создание таблиц, которые Вы будете использовать в приложении. 3. Создание главного меню для Вашего приложения. 4. Для каждого пункта меню приложения задаются дейст- вия, которые должны выполняться при его выборе. Это может включать создание и описание подменю, а так- же построение форм, запросов, сообщений или экранов для отображения нескольких таблиц. 5. Окончание и сохранение приложения. Хотя в Personal Programmer процесс разработки приложе- ния представляется как линейный (последовательный), Вы мо- жете в любой момент пропустить шаг. Вы всегда свободны в своем выборе возвращаться к некоторым шагам , если пожелае- те. Personal Programmer облегчает создание и модификацию приложения и даже автоматически документирует его. ГЛАВНОЕ МЕНЮ ___________________________________________________________ *Create Modify Summarize Review Play Tools Exit Create a new application. ___________________________________________________________ На главном меню Personal Programmer Вы можете найти следующие пункты : - CREATE : начать разработку первого приложения. - MODIFY : изменить существующее приложение. - SUMMARIZE : напечатать конспект приложения. - PLAY : запустить приложение или сценарий системы PARADOX. - 22 - - TOOLS: отобразить меню со следующими дополни- тельными выборами : - COPY : скопировать модифицируемую часть прило- жения на другой диск (директорий). - DELETE : удалить приложение с диска. - RENAME : переименовать приложение. - SETTING : изменить печать ,подсказку или уста- новки вывода сценария Personal Programmer. - DIRECTORY : изменить рабочий директорий Perso- nal Programmer. - EXIT : возвратиться из Personal Programmer в DOS. При выборе большинства из этих пунктов Personal Programmer просит указать Вас имя приложения. Если Вы выби- раете MODIFY, SUMMARISE, REWIEV, PLAY или TOOLS/COPY, DELETE или RENAME все файлы названного Вами приложения дол- жны находиться в текущем директории. Отметим, что нажатие клавиши [Enter] после выбора действия главного меню не вле- чет отображения меню приложений. Пункт CREATE обсуждается в главах 4-6 данного руко- водства, MODIFY - в главе 7, PLAY - в главе 8. SUMMARIZE, REVIEW и TOOLS описаны в главе 9 (управление вашими прило- жениями). ВЫБОР ТАБЛИЦ Следующий шаг в процессе создания приложения - выбор или создание таблиц, используемых в Вашем приложении. Вы можете работать с 15 таблицами в приложении, с каждой по отдельности или скомпанованными в одном экране. Вы должны ввести также описание для каждой таблицы. Выбор таблиц описан более подробно в главе 4 (создание нового приложе- ния). РАЗРАБОТКА МЕНЮ ПРИЛОЖЕНИЯ Когда Ваше приложение запущено, его главные действия - 23 - отображаются на его главном меню. Ваш следующий шаг - соз- дать это меню. Вы определяете какие пункты будут в этом меню и вводите обьяснения, которые должны появляться при выборе каждого пункта. Разработка меню приложений описана более подробно в главе 5 (построение меню приложения) ОПИСАНИЕ ПУНКТОВ МЕНЮ Следующий шаг - объяснить Personal Programmer, что каждый выбор в каждом меню Вашего приложения должен за со- бой повлечь. Для каждого выбора по очереди Вы должны опре- делить одно из следующих действий : ___________________________________________________________ *Menu View Report DataEntry Edit Script Help NotDefind Cancel Attach a submenu to current menu selection. ___________________________________________________________ - MENU : показать пользователю подменю. - VIEW : позволяет пользователю смотреть все или часть одной или более таблиц. - REPORT : позволяет пользователю печатать, отоб- ражать или сохранять сообщения. - DATAENTRY: позволяет пользователю добавлять но- вые coобщения. - EDIT : позволить пользователю редактировать со- общения в одной или более таблицах. - SCRIPT: запустить сценарий системы PARADOX, ког- да пользователь выберет этот пункт. - HELP: показать пользователю экран помощи. - NOT DEFINED: пропустить описание этого пункта. - CANCEL: позволить пользователю вернуться в пре- дыдущее меню приложения. Когда Вы пытаетесь определить действие какому-либо выбору, Personal Programmer спрашивает Вас все необходимые уточнения. Например, если Вы выбираете VIEW, Вас спрашива- ют: - 24 - - Какие таблицы Вы хотите, чтобы пользователь видел ? - Какую экранную форму использовать, если Вы указали более чем одну таблицу ? - Какие поля и сообщения отображать ? - Какие формы использовать для отображения ? Одно действие "Menu" заслуживает особого внимания. Указание меню для какого-либо пункта позволяет вам разра- ботать подменю, которое отобразится на экране, когда поль- зователь выберет этот пункт. Вы разрабатываете и описывае- те выборы подменю почти таким же образом, как пункты глав- ного меню Вашего приложения. С помощью действия Menu Вы можете определить до 10 уровней меню. Это позволит пользователям Вашего приложения просматривать возможные выборы "в глубину" до тех пор пока они не найдут желаемого. Например, в образце приложения, которое мы разработаем выбор REPORTS главного меню отобра- жает подменю, которое позволяет выбрать пользователю, ка- кое сообщение напечатать. Personal Programmer автоматически добавляет пункт, называемый Leave к главному меню Вашего приложения. Этот пункт позволяет Вашим пользователям выйти из приложения и вернуться в Paradox. Определение пунктов меню более под- робно описано в главе 6 (Меню привязки действий). ОКОНЧАНИЕ И ВЫХОД Когда Вы закончили описание выборов меню Вашего при- ложения, Personal Programmer спрашивает Вас, хотите ли Вы сделать заставку (титульный экран), которая будет появ- ляться каждый раз, когда пользователь будет стартовать приложения. Если Вы отвечаете "да", то Вы можете использо- вать Paradox Form Disigner для построения заставки. Наконец, завершающее меню позволяет Вам сохранить созданное Вами приложение или не сохранять его: - 25 - ___________________________________________________________ *DO-IT! Cancel Save this application definition. ___________________________________________________________ - DO-IT!: сохранить описание приложения, записать его в PAL-скрипты и вернуться в главное меню Personal Programmer (то же самое при нажатии на клавишу [F2]). - Cancel: вернуться в главное меню Personal Programmer без сохранения описания приложения или генерации его PAL-скрипта. Если Вы выбрали DO-IT!, Personal Programmer покажет Вам скрипты приложения, как он их сгенерировал. В заключе- ние, все таблицы, формы, запросы и охранные формы для нес- кольких таблиц, которые Вы определии для использования в приложении, будут сохранены в текущем директории вместе со скриптами. После того, как приложение сгенерировано, Вы снова увидите главное меню Personal Programmer: ___________________________________________________________ Create Modify Summarize Review Play Tools *Exit Leave the Personal Programmer and return to DOS. ___________________________________________________________ Выберите Exit для выхода из Personal Programmer. Вас спросят для подтверждения: ___________________________________________________________ No *Yes Leave the Paradox Personal Programmer. ___________________________________________________________ Выберите "Yes" для подтверждения возвращения в DOS. Завершение приложений описано более подробно в главе 6 данного руководства. - 26 - МОДИФИКАЦИЯ ПРИЛОЖЕНИЯ Система Paradox Personal Programmer построена таким образом, что Вы можете быстро и легко создать новое прило- жение, используя прототип, проверить его и изменить по Ва- шему усмотрению. Есть 2 пути модификации приложения: >> Выбрать Modify из главного меню Personal Programmer. Вы можете решить, что добавить или изменить, оставив остальную часть приложения старой. Вы можете также использовать Modify для изменения приложений, созданых пре- дыдущими версиями системы Personal Programmer (называемыми Application Generator). Модификация приложения описана бо- лее подробно в главе 7 (Модификация приложения). >> Использовать Paradox Script Editor или любой другой редактор на Ваш выбор для внесения изменений в PAL-скрипты, которые составляют приложение. Вы найдете программы, сгене- рированные системой Personal Programmer, хорошо структури- рованными и легкими для понимания и редактирования. Вы дол- жны быть хорошо знакомы с PAL-программированием и иметь полное представление о содержании Руководства пользователя PAL перед тем, как использовать этот метод. Отметим, что любые изменения, которые Вы внесете в сгенерированную прог- рамму будут потеряны, если после этого Вы будете использо- вать Выбор Modify системы Personal Programmer для исправле- ния приложения. Замечания по структуре сгенерированных сис- темой Personal Programmer скриптов и инструкции по их изме- нению изложены в главе 11 (Советы программистам). ЗАПУСК ПРИЛОЖЕНИЯ Поскольку приложения, созданные с помощью Personal Programmer, представляют собой скрипты Paradox, они могут быть запущены несколькими способами. Например, если соз- данное Вами приложение имеет имя video, Вы могли бы запус- тить его: - из Главного меню Personal Programmer - Выбрав Play - 27 - и введя имя приложения (video). - из системы Paradox - используя Tools/More/Directory для перехода в директорий приложения video, а затем выбрав пункт Script/Play и введя имя приложения (vi- deo). - из DOS, поддерживающей Paradox, - используя команду DOS cd для перехода в директорий video, а затем набрав paradox2 video (предполагается, что \Paradox2 включен в DOS). - из DOS, поддерживающей Paradox Runtime - используя команду DOS cd для перехода в директорий video (ко- торый включает файлы Runtime), а затем набрав: pdox2run video. Какой бы метод Вы не избрали, Вы увидите Главное меню Вашего приложения в верхней части экрана. Как часть прило- жения Personal Programmer автоматически создает специаль- ный скрипт (для video она будет называться videocp), кото- рый позволяет легко копировать все скрипты, библиотеки процедур, таблицы и объекты, составляющие все вместе гото- вое к выполнению приложение, в другой директорий или на диск для передачи другим пользователям. Запуск на выполнение и копирование приложения описаны подробно в главе 8 (Запуск приложения). ОБОБЩЕНИЯ Работа с системой Paradox Personal Programmer очень похожа на работу с системой Paradox. Ниже представлен об- щий план использования системы Personal Programmer. При разработке приложения Вы проходите следующие основные ша- ги: 1. Создание элементов приложения. Используйте Paradox для предварительного создания лю- бых скриптов приложения. Кроме того, Вы можете решить соз- дать предварительно Ваши таблицы, формы, сообщения и эк- ранные формы для отображения нескольких таблиц. 2. Создание директория для приложения. Используйте команду DOS md. Скопируйте все созданные - 28 - элементы в этот директорий. 3. Запуск Personal Programmer. Используйте команду DOS cd для перехода в созданный директорий. Наберите pprog для запуска системы Personal Programmer. 4. Создание приложения. Выберите пункт Create из Главного меню Personal Programmer, задайте имя Вашего приложения и укажите или создайте таблицы, которые оно использует. 5. Разработка меню. Следуйте подсказкам на экране для создания системы меню. 6. Описание пунктов меню. Для каждого пункта меню определить действие и детали- зировать его. 7. Создание заставки (необязательно). Создайте титульный экран для Вашего приложения. 8. Сохранение созданного приложения Выбором DO-IT! из заключительного меню Personal Programmer. Генерируются скрипты для Вашего приложения и сохраняются в текущем ди- ректории. 9. Выход из Personal Programmer Выбором Exit/Yes из Главного меню. После этого, когда Ваше приложение создано, Вы можете запустить его любым путем, каким может быть запущен скрипт системы Paradox. Если позднее Вы решите изменить Ваше при- ложение, запустите систему Personal Programmer и Выберите пункт Modify из ее Главного меню. Кроме этого, Вы можете использовать Paradox Script Editor или Ваш собственный текстовой редактор для модификации скрипта, созданного системой Personal Programmer. В части II данного руководства Вы познакомитесь с процессом создания приложения и создадите простое приложе- ние. Глава 4 обсуждает подготовку и первые шаги создания приложения с помощью системы Personal Programmer. . - 29 - Ч А С Т Ь II ___________________________________________________________ П Р И Н Ц И П Ы И Р У К О В О Д С Т В А ___________________________________________________________ ГЛАВА 4 СОЗДАНИЕ НОВОГО ПРИЛОЖЕНИЯ Создание сценария Создание приложения video Определение основных составляющих программного приложения (файлов PARADOX) Создание директория Вход в Personal Programmer Создание и присвоение приложению названия Выбор таблиц ГЛАВА 5 ПОСТРОЕНИЕ СИСТЕМЫ МЕНЮ Ввод названий для режимов работ и комментариев к ним Редактирование меню Построение подменю низших уровней Перерыв в изучении ГЛАВА 6 МЕНЮ ПРИВЯЗКИ ДЕЙСТВИЙ Меню привязки Меню выбора действий - Action Menu Создание подменю Просмотр таблиц Вывод отчетов на печать Ввод данных Редактирование таблиц Ограничения на процесс редактирования Защита ключевых полей - 30 - Вызов программ Введение пояснений по режимам работ вашего приложения Выход из меню - режим работы не определен Возврат к меню более высокого уровня Как записать ваше приложение Конец ГЛАВА 7 МОДИФИКАЦИЯ ПРИЛОЖЕНИЯ Меню услуги Modify Изменение списка таблиц Изменение меню или действия услуги меню Поиск неопределенных услуг Изменение титульного экрана Редактирование программ, созданных Personal Programmer ГЛАВА 8 ВЫПОЛНЕНИЕ ПРИЛОЖЕНИЯ Состав приложения Использование программы копирования Копирование приложения вручную Выполнение приложения из Personal Programmer Выполнение приложения из PARADOX Выполнение приложения из DOS Использование batch файла Выполнение приложения из PARADOX RUNTIME ГЛАВА 9 ДЕЙСТВИЯ ПО ПОДДЕРЖАНИЮ ВАШЕГО ПРИЛОЖЕНИЯ Резюме (Summarise) . - 31 - Г Л А В А 4 __________________________________________________________ СОЗДАНИЕ НОВОГО ПРИЛОЖЕНИЯ __________________________________________________________ Прежде чем приступить к созданию программного приложе- ния при помощи Personal Programmer (средства создания прог- раммных приложений в среде PARADOX) следует: а) написать сценарий решаемой задачи; б) определить основные составляющие программного прило- жения; в) создать отдельный директорий для хранения программ- ного обеспечения данного приложения; г) дать наименование разрабатываемому приложению; д) выбрать или создать таблицы хранения данных для раз- рабатываемого приложения. СОЗДАНИЕ СЦЕНАРИЯ Хотя средства Personal Programmer позволяют легко про- изводить различные изменения в процессе решения задачи, все же рекомендуется сначала тщательно разобраться в задаче, определить ее основные функции, спланировать алгоритм реше- ния. Желательно сначала определить функции, которые будут выполняться создаваемым приложением. Затем следует обдумать взаимосвязь этих функций. Может быть целесообразно вынести выполнение аналогичных операций в особые подменю основного меню. Предпочтительнее вызывать наиболее часто используе- мые функции из основного меню, а менее частые действия вы- носить в подменю более низких уровней. - 32 - При создании сценария работы приложения следует прини- мать во внимание навыки и привычки конечного пользователя. Если вы вводите экраны помощи, то следует определить сте- пень их детализации и для описания каких операций они необ- ходимы. Следует учесть, будет ли понятна конечному пользо- вателю вводимая вами терминология, отражаемая на экранах меню решения задачи (например, "квитанция-об-оплате") или лучше использовать термины описания просто понимаемых опе- раций (например, "Ввод Данных" или "Отчеты"). СОЗДАНИЕ ПРИЛОЖЕНИЯ video. Предположим, мы начинаем создавать сценарий задачи для владельца прокатного бюро кинофильмов.При создании данного программного приложения должны быть решены следующие проб- лемы: а) обработка запроса о прокате кинофильма; б) обработка запроса о возврате кинофильма; в) вывод на печать квитанций об оплате; г) вывод на печать имеющихся в наличии фильмов; д) имеется ли в наличии (не в прокате) данный кино- фильм; е) ввод новых пользователей в БД; ж) определение какие фильмы часто поступают в прокат, какие нет. Конечно, данный список далеко не исчерпывает все воз- можные потребности, которые могут возникнуть у владельца бюро проката кинофильмов.Они могут быть использованы как начальный этап решения задачи и продемонстрировать разнооб- разие и непохожесть этих функций. Следующий шаг - попытка сгруппировать схожие функции. Например, поскольку пункты а) и б) используют однотипную информацию (кинофильм, пользователь, дата выпуска, дата вы- дачи в прокат, дата возврата и т.д.), их можно объединить в одну функцию под названием "Запрос о прокате".Остальные функции также могут быть логически сгруппированы, также как - 33 - и различные виды отчетов, выдаваемых на печать. Обдумывая функцию "ввод новых пользователей", вы ско- рее всего решите, что необходимо учесть возможность обнов- ления данных о текущих пользователях (а если у них изменил- ся адрес?) и что вы еще не продумали вопрос, каким образом вводить информацию о к/ф. в БД. Это приведет вас к мысли, что следует выделить отдельную функцию "ведение БД", пос- кольку операции, проводимые с этими данными, будут выпол- няться не столь уж часто. После того, как вы провели анализ функций, выполняемых в задаче, и определили их взаимосвязь, вы можете набросать план системы меню, пункты которого будут вызывать выполне- ние той или иной функции. В первом приближении ваше меню может выглядеть следующим образом: __________________________________________________________ Reports Maintenanse Orders I I ------------- ------ / I \ / \ film list I receipts films customers I rental activity ____________________________________________________________ Подумав еще и реорганизовав функции, вы останавливае- тесь на следующем меню: ____________________________________________________________ Inquiry Reports Maintenanse Orders Help Leave customers filmcatalog add customers rentals Yes films overdue films add films No rental utilization edit customers films - 34 - ____________________________________________________________ Мы назовем это "рабочим" меню, поскольку вы можете из- менять его в любое время, даже после того, как ваше прило- жение будет закончено. Как это можно сделать - будет описа- но в главе 7, когда вы будете использовать функцию Modify для того, чтобы объеденить функции задачи "доввод пользова- телей" и "доввод к/ф" в новый подраздел меню: "Ведение БД" "Добавление информации". Помимо создания общей структуры меню вашего приложения, определения его основных функций, вам необходимо продумать вопрос, какие таблицы, формы и виды отчетов будут вам необ- ходимы. Уже ясно, что вам будут нужны таблицы для хранения информации о пользователях и к/ф. Из меню просматривается необходимость наличия таблиц для категорий фильмов, форм оплаты проката, выдачи квитан- ций за пользование к/ф. Вам скорее всего захочется заранее создать формы для ввода данных по меню "заказы" и для неко- торых функций меню "Ведение БД". И, наконец, каждый выбор меню "отчеты" требует наличия описания конкретных отчетов. Из выше сказанного становится ясно, что даже создание просто сценария работы вашего приложения помогает вам лучше понять, что вы хотите получить, прежде чем вы приступите к непоредственному созданию приложения. Все что было сделано до этого момента не требует наличия ни ЭВМ, ни Personal Programmer. От вас на этом этапе требуется решить, какие функции будут выполняться в процессе работы вашего приложе- ния и как эти функции взаимосвязаны. Помните, что эти функ- ции в любой момент могут быть изменены или пересмотрены. ОПРЕДЕЛЕНИЕ ОСНОВНЫХ СОСТАВЛЯЮЩИХ ПРОГРАММНОГО ПРИЛОЖЕНИЯ (ФАЙЛОВ PARADOX) Cледующий этап работы по созданию вашего приложения - - 35 - создание основных составляющих программного приложения: таблиц, форм, отчетов, экранов с информацией из нескольких таблиц одновременно, отдельных программ. Почти все они мо- гут быть созданы в среде Personal Programmer, но вы можете их создать и отладить еще до входа в него. Если требуются отдельные программы на языке PAL, то вам придется писать их либо в среде PARADOX либо в среде любого текстового редактора до входа в Personal Programmer. Только эта задача не может быть выполнена в среде данного средст- ва. Все остальные составляющие (файлы) могут быть созданы либо в среде PARADOX либо в среде Personal Programmer. Наш совет - лучше сначала создать формы, отчеты и экра- ны выдачи запросов вне среды Personal Programmer, отладить и затем включить в ваше приложение. PARADOX в этом смысле дает большую свободу проигрывания возможных вариантов до того, как вы сделаете окончательный выбор. Personal Programmer не дает подобной свободы манипулирования объек- тами, хотя вы в любой момент можете вернуться на шаг назад и внести изменения в ваши таблицы. И, наконец, если вы хотите производить проверку на дос- товерность данных или задать установки для отображения таб- лиц на экран в процессе ввода/редактирования данных, вы мо- жете определить их либо в PARADOX'е, либо в среде Personal Programmer. И снова следует отметить, что PARADOX - лучшая среда для опробования различных вариантов до получения од- ного самого лучшего. Для рассматриваемого приложения VIDEO этот процесс был уже выполнен ранее. Большая часть используемых таблиц и форм находится на дискете N1 Personal Programmer вместе с программой, называемой VIDENT. Вы сможете создать все тре- бующиеся составляющие по мере изучения данного учебного по- собия. Парольная защита Для того, чтобы пользователь мог войти в ваше програм- мное приложение, он должен дать ответ о пароле входа. Все - 36 - что пользователь введет, будет проанализировано системой PARADOX для разрешения доступа к защищенной информации таб- лиц и программ. Каждый пользователь может ввести только один пароль. Однако вы можете установить некоторое количество дополни- тельных паролей для каждой таблицы, и пароли, вводимые пользователем, могут перекрываться паролями к другим табли- цам. Таким образом, один пароль может дать полный доступ к определенным таблицам, ограниченный доступ к другим и не разрешить доступ к определенным таблицам. Следующий пароль, введенный другим пользователем, может дать совсем другие возможности доступа к информации. Вы имеете возможность контролировать право доступа, задаваемого по каждому паролю ( и как результат, права каждого пользователя системы). Разветвленная система дополнительных паролей может обеспечить соответствующий доступ к таблицам для каждого пользователя. Кроме того, вы можете использовать дополни- тельные пароли для защиты ключевых полей при выполнении не- которых операций (см. ограничения на редактирование - глава 6). Если вы будете создавать таблицы в среде PARADOX, то на данный момент вы уже должны были продумать свою систему парольной защиты. Для установления парольной защиты вы мо- жете воспользоваться следующими способами: >> использовать возможность меню PARADOX'а Tools/More/Protect (см. гл. 12 PARADOX User's Guide) >> использовать генератор защиты PARADOX, описанный в книге "руководство администрированием в сети" (Network Administrator's Guide) Если же вы собираетесь создавать некоторые таблицы в среде Personal Programmer, то вам следует сначала создать их, а потом уже вводить систему защиты. Удостоверьтесь, что вы установили ее до того, как начнете распространять свое приложение. Если нет необходимости защищать информацию, то вы мо- жете обойтись без парольной защиты. Тогда пользователи от- вечают на запрос о пароле простым нажатием клавиши ввода - 37 - [Enter], и приложение будет работать не передавая пароли в PARADOX. СОЗДАНИЕ ДИРЕКТОРИЯ Хотя все файлы Personal Programmer находятся в едином директории (\PARADOX2\Personal Programmer), вы можете выз- вать Personal Programmer из любого директория вашего жест- кого диска. Единственное ограничение: все составляющие ва- шего приложения и его программные файлы должны находиться в одном директории. Мы очень советуем иметь отдельный дирек- торий для каждого вашего приложения.При этом легко опреде- лить, какие составляющие и программы относятся к какому приложению. В противном случае, если в данном директории вы создаете несколько приложений, вам будет трудно определить, какие составляющие и программы относятся к какому приложе- нию. Поэтому прежде чем запустить Personal Programmer реко- мендуется выполнить следующее: 1. Создать новый директорий командой md дисковой опе- рационной системы. 2. Сделать созданный директорий текущим используя ко- манду cd дисковой операционной системы. 3. Скопировать все таблицы, формы, отчеты, программы, уже созданные для данного приложения в этот новый директорий, используя либо возможность системы PARADOX "Tools/Copy" либо команду "Copy" дисковой операционной системы. ВХОД В Personal Programmer Сначала удостоверьтесь, что подсказка дисковой ОС [C>] имеет место, и что текущий директорий - это директорий, в котором вы собираетесь хранить ваше завершенное приложение (в нашем примере \PARADOX2\Personal Programmer\VIDEO). Для запуска Personal Programmer рядом с подсказкой вы вводите "Personal Programmer" и нажимаете клавишу ввода. Помните, что вы можете работать с составляющими объектами того ди- - 38 - ректория из которого вы запустили Personal Programmer. Если что-то получается не так, это означает, что от- сутствует какой либо файл программного обеспечения Personal Programmer. Посмотрите приложение А данного руководства для анализа сообщения об ошибке. Если вы видите сообщение "File not found" (файл не найден), то скорее всего у вас ошибка в операторе "Path" ДОС'а (см. глава 2 - установка Personal Programmer). Если возникают неприятности при чтении инфор- мации на экране обратитесь к главе 10 - описание программы конфигурации системы. Пример 4-1. Создание директория и вход в Personal Programmer Шаги: 1. Использовать команду ДОС md для создания нового ди- ректория под названием:\PARADOX2\Personal Programmer\VIDEO. c>md c:\PARADOX2\Personal Programmer\VIDEO 2. Использовать команду ДОС cd для изменения текущего директория: c>cd c:\PARADOX2\Personal Programmer\VIDEO 3. Скопировать имеющиеся таблицы, формы, отчеты, прог- раммы с дискеты Personal Programmer Disk 1, поместив его в драйв А и использовав команду ДОС copy: с>copy a:\VIDEO\*.* Для выполнения всех этих шагов в нужной последователь- ности имеется пакетный файл под названием VIDDEM. Для ис- пользования его вам необходимо иметь как минимум 200К сво- бодных байтов на вашем жестком диске для хранения составля- ющих приложение и последующего создания приложения VIDEO. Начните с подсказки ДОС C> на экране. - 39 - 1. Введите дискету с Personal Programmer Disk 1 в дис- ковод А, 2. Введите следующее: c>a:viddemo c:\PARADOX2\Personal Programmer\VIDEO 3. Для запуска Personal Programmer введите: c>Personal Programmer На экране появится начальный экран системы Personal Programmer. В верхней части экрана появится основное меню Personal Programmer и два окошка с инструкцией и информацией внизу (см. главу 3 - Общее описание). Третья строка в верхнем ок- не всегда содержит подсказку о следующих возможных шагах при создании вашего приложения. СОЗДАНИЕ И ПРИСВОЕНИЕ ПРИЛОЖЕНИЮ НАЗВАНИЯ ___________________________________________________________ *Create Modify Summarize Review Play Tools Exit Create a new application. ___________________________________________________________ Режим CREATE Для того, чтобы начать создавать новое приложение из основного меню работ Personal Programmer выберите режим Create. После этого Personal Programmer выдаст вам запрос о вводе наименования для вашего приложения. Оно может иметь до 5 символов в длину. Первый символ - обязательно буквен- ный, остальные могут быть буквами, цифрами, символами $, -, ! Наберите наименование приложения и нажмите клавишу [ENTER]. - 40 - ВЫБОР ТАБЛИЦ ___________________________________________________________ *ExitingTable NewTable RemoveTable DO-IT! Cancel Choce an existing table to use in the application. ___________________________________________________________ Прежде всего Personal Programmer должен знать, с каки- ми таблицами будет работать ваше приложение. В одном прило- жении может быть задействовано до 15 таблиц. Для того, чтобы произвести выбор таблиц, вам предлога- ется меню со следующими режимами работ: >> "Existing Table": выбор существующей таблицы (Существующая таблица) >> "New Table" : создание новой таблицы (Новая таблица) >> "Remove Table" : отказаться от уже выбранной таблицы >> "DO-IT" : закончить выбор таблиц (Выполнить) (аналогично нажатию клавиши [F2]) >> "Cancel" : прекращение процесса выбора (Прекращение таблиц и возврат в основное работ) меню Personal Programmer Выбор режима NewTable в Personal Programmer аналогичен выбору режима Create oсновного меню системы PARADOX. (см. главу 6 режим Create руководства PARADOX User's Guide). Для работы по созданию приложения вам необходимо выб- рать хотя бы одну таблицу. Нельзя выбирать временные таблицы системы PARADOX (ти- па ANSWER), поскольку они могут либо отсутствовать, либо не - 41 - соответствовать требуемому варианту. Как только вы завершили выбор таблиц, Personal Programmer просит вас ввести описание для каждой выбранной таблицы. Эти описания помогут вам запомнить с какой целью они были созданы и как будут использованны в дальнейшем. Если вы не введете описание для таблицы (т.е. оставите его пустым), то Personal Programmer создаст его сам ( для таб- лицы Ordes строка описания бутет выглядеть Orderstable). Пример 4-2. Создание приложения и выбор таблиц Шаги: Начинаем с картинки основного меню Personal Programmer (режим "Create")(Пример 4-1.) 1. Выбираем режим "Create" основного меню. Personal Programmer просит ввести наименование вашего нового прило- жения. ___________________________________________________________ Application: Enter new application name. ___________________________________________________________ 2. Наберите VIDEO и нажмите клавишу [ENTER]. Вы увидите меню выбора таблиц. ___________________________________________________________ *ExistingTable NewTable RemoveTable DO-IT! Cancel Chooce an existing table to use in the application. ___________________________________________________________ 3. Выберите режим Existing Table (Существующая табли- ца). Personal Programmer просит вас ввести имя нужной вам существующей таблицы. - 42 - 4. Наберите название первой таблицы "filmcat" или наж- мите клавишу [ENTER] и выберите ее из приводимого списка существующих таблиц. (См. рис.4.2). Как только вы заказали таблицу "filmcat", ее название появится в списке выбранных таблиц распологающемся сразу под меню таблиц. 5. Повторите шаги 3-4 для выбора следующих таблиц: films, orders, ordtemp и customer. 6. Окончив выбор таблиц, выберите режим DO-IT! (или нажмите клавишу [F2]) для того, чтобы дать знать Personal Programmer, что выбор таблиц завершен. Вы увидите список всех заказанных таблиц в виде меню из их названий, причем первая выбранная таблица filmcat бу- дет находиться в освещенном мигающем прямоугольнике. Под ним будет расположен большой освещенный прямоугольник. 7. Для каждой таблицы, по очереди, нажмите клавишу [ENTER]. Ниже приводится список ракомендуемых текстов описания: ------Таблица------------Описание-------------------------- filmcat Типы фильмов films Названия фильмов, регистрационный номер, дата проката orders Таблица заказов на фильмы ordtemp Временная таблица, используемая при выписке счетов customer Фамилия пользователя и его адрес Когда Вы нажмете клавишу [ENTER] после окончания рабо- ты с последней таблицей, можно приступить к созданию основ- ного меню для Вашего приложения. . - 43 - Г Л А В А 5 ____________________________________________________________ ПОСТРОЕНИЕ СИСТЕМЫ МЕНЮ ____________________________________________________________ Следующий важный шаг при создании Вашего приложения (после выбора используемых таблиц) - построение системы ме- ню. Этот процесс начинается обьявлением основного меню. Это меню похоже на самое первое меню, которое Вы увидели, когда вошли в систему PARADOX. Оно управляет всей работой Вашего приложения. Приложения, создаваемые при помощи Personal Programmer, строятся как меню в стиле системы PARADOX. Режимы работ располагаются на верхней строке экрана, а подсказки или по- яснения по каждому выбранному режиму - на строке ниже. Пользователи могут либо набрать первую букву нужного им ре- жима работ, либо использовать ключи управления движением курсора для передвижения освещенного прямоугольника выбора режима работ, и затем нажать клавишу [ENTER]. При передви- жении по режимам работ строка пояснений меняется в зависи- мости от режима. Каждое действие, выполняемое в Вашем при- ложении , должно быть отражено соответствующим режимом ра- бот в меню работ. Меню режимов работ приложения, как и меню системы PARADOX, имеют иерархическую структуру. Это означает, что выбрав какой - либо режим работ из основного меню, Вы може- те вывести подменю дополнительных более детальных режимов работ и так вплоть до 10 уровней подменю. При необходимости Вы можете сгруппировать аналогичные режимы работ под одним режимом меню верхнего уровня, например, все запросы об от- четах могут находиться как подменю режима работ " ОТЧЕТЫ " меню верхнего уровня. В данной главе обьясняется каким образом: >> вести названия режимов работ Вашего меню; - 44 - >> создавать строки комментария для каждого из введен- ных режимов работ; >> редактировать созданное меню. Хотя все примеры, приводимые в данной главе относятся к правилам построения основного меню приложения, все cказан- ное ниже относится также к правилам построения подменю ниж- них уровней. ВВОД НАЗВАНИЙ ДЛЯ РЕЖИМОВ РАБОТ И КОММЕНТАРИЕВ К НИМ Поскольку процесс выбора таблиц для Вашего приложения завершен, Personal Programmer предложит Вам приступить к построению основного меню задачи. Вы увидите окошко экрана создания меню (см. пример 5-1 ). В правом верхнем углу окошка находится название создаваемого Вами меню. В окошке есть место для: >> ввода названий режимов работ меню. Название задает пользователь, его длина может достигать 20 символов; >> ввода комментария. Строки комментария могут дости- гать 60 символов в длину. Если Вы не заполните строку ком- ментария Personal Programmer создаст ее для Вас сам. Как наименования режимов работ, так и строки комментариев могут состоять из букв, цифр, печатных символов и пробелов. Ста- райтесь, чтобы первые буквы наименований режимов работ от- личались друг от друга. Тогда Вы можете ввести первую букву режима, тем самым осуществив его выбор. Иначе Вы должны бу- дете использовать ключи управления движением курсора. Вы можете использовать те же буквы в названиях режимов работ меню других уровней. - 45 - РЕДАКТИРОВАНИЕ МЕНЮ Если Вам нужно изменить название режима работ уже соз- данного меню, нажмите клавиши: - [->] или [<-] для движения по Вашему меню; - [->] от последнего режима для того, чтобы добавить новый режим в конец меню; - [Ins] для того, чтобы вставить новый режим работы слева от освещенного квадрата с существующим режимом; - [Del] для того, чтобы удалить режим работы, находя- щийся в освещенном квадрате; - редактирование [F9] для того, чтобы внести изменения в название режима работы, находящегося в освещенном квадрате. В режиме редактирования Вы можете: 1. вводить символы, чтобы добавить текст в конец выб- ранного названия; 2. нажать клавишу [Backspace], чтобы убрать символы от конца выбранного названия, или [Ctrl][Backspace], что- бы стереть все имя; 3.нажать клавишу [ENTER], чтобы спуститься на строку комментария и редактировать ее аналогичным образом (вводить текст или корректировать его ); 4. нажать клавишу [Esc] для возврата к предыдущему сос- тоянию. Для окончания редактирования меню нажмите клавишу [F2] DO-IT!, затем нажмите клавишу [F10] и выберете режим DO-IT! ( выполнение ) или Cancel ( от- каз от выполнения ). Пример 5-1. Создание основного меню приложения VIDEO Шаги: Начинаем с экрана, соответствующего примеру, описанному в пункте "Создание приложения video" главы 4. Подсказка попросит ввести названия режимов работ и комментарий к ним. (Enter the names of menu selections and their descriptions). 1. Введите "Запрос" и нажмите клавишу [ENTER]. Курсор - 46 - сдвинется на строку комментария. 2. Введите "Запросы о к/фильмах". Нажмите клавишу [ENTER]. Теперь курсор передвинулся на строку режимов работ справа от слова "Запрос". __________________________________________________________ Inquiry Inquire about customers or films. __________________________________________________________ 3. Повторите шаги 1-2 и введите следующую информацию: -----Режимы работ-------Комментарии---------------------- Ведение БД Обновление/добавление информации пользователях или к/фильмах Заказы Обработка запросов о возможности проката к/фильмов и сроках возв- рата Помощь Подробные пояснения о перечислен- ных режимах работ 4. Ох! Мы "случайно" забыли ввести еще один режим рабо- ты и поэтому можем ознакомиться с режимом редактирования создаваемого меню. Наш второй режим должен называться "От- четы". Используем клавиши [->] и [<-] для продвижения светяще- гося квадрата к режиму "Ведение БД". Нажимаем клавишу [INS]. Слова "Ведение БД" сдвигаются вправо, чтобы освободить место для ввода нового, пустого наименования режима работ. 5. В этом месте наберите слово "отчеты" и нажмите кла- вишу [ENTER]. - 47 - В строке комментария наберите текст: "вывод на печать отчетов" и снова нажмите клавишу [ENTER]. ___________________________________________________________ Inquiry *Reports Maintenanse Orders Help Main Print reports. ___________________________________________________________ ---------------The Paradox Personal Programmer---------- Creating new Video application. Designing MAIN menu. >Enter the names of menu selections and their descriptions. ___________________________________________________________ Menu selection names can be up to 20 characters long, descriptions up to 60. [->] and [<-] move you around the menu you are designing. [Ins] inserts a new selection. [F9] allows you to edit the highlighted selection name or its description; when you are finished editing, press [Enter]. When you are finished designing the current menu level, press [F2] or press [F10] and select DO-IT! from the menu. ___________________________________________________________ 6. Нажмите клавишу [F2] DO-IT!. При этом Personal Programmer запомнит ваше основное ме- ню и добавит режим работы "Leave" (выход из приложения), чтобы пользователь мог выйти из задачи. После этого на экране появится меню привязки действий по задаче ( Definition menu ), которое будет описано в сле- дующей главе. - 48 - Если вы хотите немного передохнуть,то завершите выпол- нение примера 5-2. ПОСТРОЕНИЕ ПОДМЕНЮ НИЗШИХ УРОВНЕЙ Описанный выше способ построения основного меню может быть использован для построения подменю низших уровней. Единственное отличие состоит в том, что Personal Programmer не добавляет режим выхода из приложения к создаваемым под- меню. В главе 6 будет описано, каким образом связать режим работы основного меню с подменю другого уровня. ПЕРЕРЫВ В ИЗУЧЕНИИ Если сейчас вы хотите сделать перерыв в изучении Personal Programmer, вам придется возвращаться к вашему приложению VIDEO через режим Modify и в нем создать ваше приложение дальше. Кроме того, это повлечет за собой необ- ходимость выполнения дополнительных действий по определению каждого из режимов работ. Пример 5-2. Как сделать перерыв в создании приложения на данном этапе Шаги: Начинаем с меню определения действий по задаче (Definition Menu) на экране. ___________________________________________________________ *SpecifyAction DO-IT! Cancel Define the action to be associated with the current menu selection. ___________________________________________________________ - 49 - Если вы находитесь в процессе создания основного меню, завершите его. Если вы создаете меню более низкого уровня, закончите его создание таким образом, чтобы появился следу- ющий режим работы основного меню. Затем нажмите клавишу [ESC] для того, чтобы появилось меню привязки действий (Definition Menu ). ___________________________________________________________ *Design Modify NoSplashScreen Omit a new splash screen for the application. ___________________________________________________________ 1. Выберите DO-IT! из меню определения действий. Все ваши неопределенные режимы работ получают статус неопределенных (NotDefined) - вы их сможете изменить позд- нее. ___________________________________________________________ Tables MenuAction NotDefined SplashScreen *DO-IT! Cancel Save the modified application and return to the Main menu. ___________________________________________________________ 2. Из появившегося на зкране меню создания титульного экрана задачи вы выбираете режим NoSplash Screen (нетитуль- ный экран). (Вы сможете создать титульный зкран позднее). 3. Из последнего меню вы выбираете режим DO-IT! После этого Personal Programmer начинает создавать программы, называемые scripts , на текущее состояние вашего приложения. Когда этот процесс закончится, вы снова увидите основное меню Personal Programmer. 4. Выбирайте режим Exit/Yes для выхода из Personal Programmer. - 50 - Пример 5-3. Как снова начать Когда вы будете готовы возобновить работу по созданию приложения VIDEO, войдите в среду Personal Programmer как и раньше. 1. Из основного меню выберите режим Modify вместо режи- ма Create. 2. Когда появится запрос о наименовании приложения, на- берите VIDEO и нажмите клавишу [ENTER]. 3. Из появившегося на экране меню Modify выберите режим Not Defined, чтобы попасть на первый не определенный режим работы вашего меню. 4. Нажмите [F10] (меню) и выберите режим Action. 5. И, наконец, вы задаете режим DEFINE, чтобы опреде- лять режим работы из титульного экрана. После этого на экране появится меню Action, вы получите возможность определить новый режим работы в вашем приложе- нии, как вы это делали раньше. Но, поскольку, вы находитесь в режиме изменения, а не создания вашего приложения, вы осознаете, что между ними есть различие: после определения каждого режима работ, вам придется переходить к следующему режиму и повторять шаги 4 и 5. (В режиме Creat это происхо- дит автоматически). Помните об этом, когда вы начнете изучать материал сле- дующей главы и главы 7 (Изменение приложения), где объясня- ется, почему нужны эти этапы. 6. Когда вы закончили определения всех режимов работ, выберите режим Splash screen из меню Modify для создания начального (титульного) экрана вашего приложения. 7. Выберите режим DO-IT! из меню Modify, чтобы окончить работу с вашим приложением и вернуться в основное меню Personal Programer. . - 51 - Г Л А В А 6 ____________________________________________________________ МЕНЮ ПРИВЯЗКИ ДЕЙСТВИЙ ____________________________________________________________ Как привязать определенные действия, выполняемые прило- жением, к режимам работ созданной системы меню для этого приложения? Это основной момент при создании программного приложения средствами Personal Programmer. В настоящей главе объясняется, каким образом следует привязывать действия, выполняемые приложением, к режимам работы системы меню. Вы научитесь: >> высвечивать подменю; >> просматривать,корректировать и добавлять новые запи- си в таблицы; >> печатать отчет; >> запускать программы; >> высвечивать экраны помощи; >> прекращать выполнение работы из меню; >> выводить титульный экран. Вы также научитесь выполнять действия из других меню, а также записывать созданное программное обеспечение. Это наиболее важная глава данного пособия. Если вы пой- мете приводимый ниже материал, вы сможете самостоятельно создавать любые приложения посредством Personal Programmer. ЗАМЕЧАНИЕ. Если вы захотите прерваться в процессе изу- чения данного материала, то выполните все шаги, описанные в примере 5-2 главы 5 (построение системы меню). Когда вы во- зобновите изучение материала данной главы, вы будете рабо- тать в режиме изменений (MODIFY) вашего приложения, однако процесс будет анологичен режиму создания приложения (CREATE). - 52 - МЕНЮ ПРИВЯЗКИ ___________________________________________________________ *Specify Action DO-IT! Cancel Define the action to be associated with the current menu selection. ___________________________________________________________ Поскольку вы уже определили основное меню вашего прило- жения, оно появится в центре экрана в светящемся прямоу- гольнике. Первый режим работы освещен, что означает, что Personal Programmer готов связать его с задаваемыми вами действиями. В верхей части экрана расположено меню привязки действий.Оно предлагает следующие режимы работы: Specify Action - определить действия для выбранно- го пункта меню работ приложения; DO-IT! - классифицировать все еще не за- данные пункты меню работ прило- жения как неопределенные (Not Defined); запомнить все действия, выполненные до данного момента; и выбраться в основное меню работ Personal Programmer; Cancel - отменить все действия по созда- нию/ модификации вашего приложе- ния и возвратиться в основное меню работ Personal Programmer. Выбор режима DO-IT! позволяет вам не только закончить процесс создания приложения, но и сделать перерыв в работе. Это происходит потому, что Personal Programmer сам присваи- вает неопределенным вами пунктам меню значений "Not - 53 - Defined" (неопределено). Если вы начали работу в вашем при- ложении и выбрaли режим, определенный как Not Defined, вам будет выдано соoбщение, что никаких действий по этому выбо- ру не может быть произведено. Вы возвратитесь в меню ра- бот,из которого пытались выполнить это задание. Другими словами, это означает, что вы можете создавать свое прило- жение по частям и отлаживать эти части, затем возвращаться в основное меню и, используя возможность Modify, проводить дaльнейшую разработку режимов работ. Не выбирайте режим Cancel если у вас нет уверености, что все сделаное вами в дальнейшем не пригодится. Заказав режим Spеcify Action, вы увидите экран с меню Action, который будет описан ниже. Из этого меню вы можете вернуться в меню привязки действий (Definition menu), нажав клавишу [ESC]. Это же меню будет всякий раз при создании подменю, до того как вы определите первый его пункт. Это позволяет вам либо запомнить, либо отменить выполняемые в процессе привязки действий изменения. МЕНЮ ВЫБОРА ДЕЙСТВИЙ - ACTION MENU. ___________________________________________________________ *Menu View Report DataEntry Edit Script NotDefined Cancel Attach a submenu to the current menu selection. ___________________________________________________________ Если вы задаете режим определения действий Specify Action из меню привязки действий (Deefinition menu), то последнее замещается на меню выбора действий. В нем приво- дится список возможных действий, которые вы можете связать с определенным пунктом основного меню создаваемого вами приложения (того самого, который находится в мигающем осве- щенном прямогольнике меню привязки действий). Действия, ко- - 54 - торые вы здесь выберете, определяют, что сможет выполнить пользователь вашего приложения, если он выберет данный ре- жим работы. Здесь вы можете определить следющие действия: Menu - вывести меню низшего уровня приложения (меню) на экран; View - дать пользователю возможность просмотра (просмотр) всей или части одной или нескольких таблиц; Report - дать пользователю возможность выводить (отчет) на печать,просматривать на экране или записать в виде внешнего файла опреде- ленный отчет по задаче; Data entry - дать пользователю возможность доввести (ввод данных) новые записи в одну или несколько таб- лиц; Edit - дать пользователю возможность откоррек- (редак- тировать некоторые или все записи в од- тивание) ной или нескольких таблицах; Script - дать возможность отработать программу (прог- на языке PAL при выборе данного режима; рамма) Help - вывести экран помощи для пользовате- (средство ля; помощи) Not defined - обойти на данный момент привязку опре- (работа с не- деленного действия к пункту меню прило- определенным жения; пунктом меню) Cancel - возврат к меню верхнего уровня создава- (прекраще- емого приложения при выборе данного ние работ) режима. - 55 - Меню выбора действий - сердцевина процесса создания приложения. Его девять режимов покрывают все основные дейс- твия системы PARADOX за исключением режима запуска программ (Script), каждый из режимов позволяет задавать необходимые действия в диалоговом режиме в среде Personal Programmer. Помните, что находясь в меню выбора действий,путем нажатия клавиши ESС вы имеете возможность вернуться на меню более высокого уровня - меню привязки действий. И уже из послед- него вы можете закончить этап работ по созданию приложения или изменить все, что было вами сделано за сеанс работы . Что произойдет при выборе Вами конкретного действия Когда вы выбираете действие, которое будет связано с определенным пунктом пользовательского меню, то вы будете получать вопросы от Personal Programmer. Этот процесс будет определяться выбранными вами действиями: >> Для режимов Not Defined и Cancel не требуется даль- нейшей информации. Personal Programmer выполнит указанное действие и вернет вас к меню привязки действий для продол- жения работы. >> Для режимов Menu, Script и Help вы должны будете от- ветить на запрос о создании меню, программы или экрана по- мощи, по которым будут производиться привязки к определен- ному пункту работ вашего приложения. Процесс определения меню выполняется по правилам, приводимым в главе 5 (Созда- ние меню приложения). Привязка конкретной программы на язы- ке PAL к Personal Programmer будет означать, что вы объяв- ляете имя вашей программы, которая будет отрабатывать по - 56 - заданию определенного режима меню приложения. Задав режим создания экрана помощи, вы получаете возможность вводить интересующую вас информацию, используя генератор форм сис- темы PARADOX. >> Для режимов View (просмотр), Report (отчет), Data Entry (ввод данных) и Edit (редактирование) вам прийдется по запросам точно определить, какая информация должна быть выведена на экран, распечатана в виде отчета, введена или откорректирована согласно правилам, приводимым ниже. 1. Выбор таблиц ___________________________________________________________ *SelectTable AllTables DO-IT! Cancel Select a table to use in the current operation. ___________________________________________________________ Сначало вас попросят определить таблицы, используемые в операции привязки действий. У вас четыре возможности: Select Table - выбор таблицы - выбрать одну или несколь- ко таблиц по отдельности; All Tables - все таблицы - выбрать все таблицы, за- действованные для работы вашего приложения; DO-IT! - выполить - дать знать Personal Progrаmmer, что выбор таблиц закончен; Cancel - прекратить - дать знать Personаl работу Programmer, что вы отме- няете все действия по вы- бору таблиц и хотите вер- нуться в меню выбора дей- ствий. - 57 - Режим Select Table высвечивает список всех таблиц, кото- рые вы определили для вашего приложеия (см. главу 4 - выбор таблиц). Из этого списка вы можете заказать одну или нес- колько таблиц для выполнения данного этапа работ. Соответс- твенно, вы можете выбрать режим All Tables, чтобы иметь доступ ко всем таблицам вашего приложения. Другими словами, система PARADOX хранит список выбранных вами таблиц. Если вы удовлетворены этим списком,нажмите клавишу [F2] или за- дайте режим DO-IT! из меню работ. 2. Определение полей После выбора таблиц, Вас попросят создать экран выбора полей, по которому вы определите, какие поля вам будут нуж- ны для данного действия. Этот процесс зависит от заказанной вами операции,а также от того, заказали ли вы одну или нес- колько таблиц. Создание экрана выбора полей для одной таблицы Аналогично созданию запроса в системе PARADOX, операция создания экрана выбора полей (View) в Personal Programmer позволяет вам заказать поля для вывода. Таким образом, если вы определите экран выбора полей для одной таблицы, то по- лучите меню с двумя возможными вариантами: Select Fields (выбор полей) и All Fields (все поля). ___________________________________________________________ *SelectFields AllFields Use a query form to select active fields in the current operation. ___________________________________________________________ - 58 - Select Fields - выбор полей - использование формы запроса для указания требуемых полей; All Fields - все поля - использование всех по- лей таблицы для данно- го действия. Запомните, если вы выбрали режим Select Fields, то у вас есть возможность ввести здесь критерий выборки (см. ниже). Если у вас возникнет необходимость выбрать поле для опе- раций Report, Data Entry или Edit, (для которых меню заказа полей не предусмотренно), сделайте следующее: пометьте только те поля, которые вам будут нужны в спецификации фор- мы или отчета, или ограничьте доступ пользователя к полям таблицы, введя дополнительные пароли для нее. Создание экрана выбора полей для нескольких таблиц одновременно Если вы собираетесь осуществить операции с несколькими таблицами одновременно, Personal Programmer попросит соз- дать вас экран выбора полей для нескольких таблиц, связан- ных друг с другом. Создание экрана подобного вида подробно описывается в главе 10 ("Вопросы повышенной сложности"), оно требует предварительно организованной таблицы "map" для того, чтобы соотнести данные из одной исходной таблицы (source table) к двум или более таблицам выхода (target tables). Имеется два пути для этого: - 59 - ___________________________________________________________ *Create Borrow Create a new multitable view (sourse table and map) for the current operation. ___________________________________________________________ Create - создать - построить новый экран выбо- ра полей нескольких таблиц, заполняя формы запроса; Borrow - взять - использовать уже существу- ющий экран выбора полей. Создание нового экрана выбора полей будет состоять в за- поминании форм запроса, имеющего целью связать выбранные таблицы и указать поле выбора, подобно тому, как это дела- ется в режиме Modify/Multi Entry/Set Up системы PARADOX (см. главу 9 пособия "Paradox User s Guide"). Помните, что на этом этапе вы не можете указывать критерии выбора в фор- мах запроса - это следующий этап. Здесь вы только даете указания системе, как будут объединяться таблицы и указыва- ете поля вывода информации. Экраны выбора полей для нес- кольких таблиц, создаваемые посредством Personal Programmer для операций просмотра данных и выдачи отчета по ним, могут включать и внешнее объединение, позволяющее включать несвя- занные записи из одной таблицы в другую. (См. "Внешнее объ- единение" глава 10 (Вопросы повышенной сложности) для более подробного ознакомления). Если экран выбора уже создан, вы можете использовать его, вызвав по режиму Borrow и указав имена исходных таблиц и таблицы "map", или же, указав пункт меню, где вы ранее определяли этот экран. - 60 - 3. Определение используемых записей ___________________________________________________________ *SelectRecords AllRecords Create a query to specify the records to be shoun in this operation. ___________________________________________________________ Затем, практически при всех операциях с таблицами, за исключением режимов ввода данных и некоторых видов редакти- рования, Personal Programmer задает вопрос, будете ли зака- зывать подмножество записей для вывода, редактирования и т.п. Вы можете ограничить число выводимых записей как для одиночных, так и для нескольких связанных таблиц. Для этого существует две возможности: Select Records - выбор действий - создать запрос для выбора записей; All Records - все записи - отобразить, дать от- корректировать или вывести в отчет все записи таблицы. Если вы выберете режим Select Records, то на экране по- явится форма запроса для вывода таблицы или ее отображения. Запомните ее, вводя критерии выборки нужных вам записей, как это описано в главе 4 (ASK) пособия "Paradox User`s Guide". Поскольку вы осуществляете выборку записей, вы не можете использовать: >> знаки отметки выбираемых полей (F6, ALT/F6, посколь- ку вы определили поля на предыдущем этапе работы); >> знак ввода "примера" F5 для определения элементов сравнения (т.о. вы не можете соеденить цепочки запросов оперераторами AND и OR); >> операторы calc, insert, delete, changeto и find. - 61 - Если возникнет необходимость дать пользователю возмож- ность самому задавать критерии выборки в процессе работы с вашим приложением, в форму запроса следует вместо опреде- ленных значений включать так называемые тильда-переменные. Тильда-переменные - это некоторые цепочки символов, перед которыми ставится знак тильда (~). Когда вы закончите фор- мирование запроса, Personal Programmer задаст вопрос, каким образом запросить пользователя ввести значения для каждой определенной таким образом переменной. Этот процесс описан в примерах 6-2, 6-3 ниже в этой главе и подробнее описаны в главе 10 (Вопросы повышенной сложности). Вас также просят указать тип вводимых данных. В боль- шинстве случаев вы можете взять тип данных, предназначаемый Personal Programmer. Однако, если предполагатся использо- вать вводимые данные для арифметических вычислений (напри- мер, текущая дата - n дней), то может возникнуть необходи- мость поменять тип данных. Форма запроса, созданная на данном этапе,не использу- ется для выбора полей,это было сделано ранее. Если вы хоти- те ограничить число полей в одной таблице для режимов Report, Data Entry или Edit, включите нужные вам поля в описание формы или отчета, или же ограничьте права доступа пользователя к таблице. 4. Создание форм и отчетов На данный момент вы показали какую информацию вы хоти- те получить, следующий этап работы - каким образом ее пред- ставить: View, Edit, Data Entry. Если вы не работаете с отчетами, то вам будет предло- жено меню следующего вида: ___________________________________________________________ *FormView Table FormToggle Display the information using a form. ___________________________________________________________ - 62 - Form View - для вывода одной записи за шаг работы, используя либо стандартную, либо зара- нее созданную пользователем форму; Table View - вывод данных в табличной форме; Form Toggle - дать возможность пользователю менять выбранный режим путем нажатия клавиши [F7]. Обратите внимание, что генератор создания приложения версии 1.1 дает возможность высвечивать данные только в ви- де формы. Personal Programmer позволяет высвечивать данные еще и в табличной форме. Если вы выбрали режим высвечивания формы, то вам будет задан вопрос, какая форма будет использоваться для просмот- ра таблицы или нескольких таблиц одновременно: ___________________________________________________________ *Design Borrow StandartForm Design a new form to use in the current operation. ___________________________________________________________ Design - выход в средство создания новой формы системы PARADOX; Borrow - использовать уже созданную и записан- ную с определенным именем форму; Standard - вызвать стандартную форму системы Form PARADOX для таблицы. - 63 - Подробная информация о создании форм для таблиц содер- жится в главе 11 (Формы) пособия "Paradox User`s Guide". При работе с отчетами, вас попросят задать описание отчета с помощью меню: ___________________________________________________________ *Design Borrow StandartReport Design a new report to use in the current operation. ___________________________________________________________ Design - использовать генератор отчетов сис- темы PARADOX для создания нового отче- та; Borrоw - использовать уже созданный и записанный с определенным именем отчет; Standard - выдать стандартный отчет системы Report PARADOX. Подробная информации о создании отчетов содержится в главе 12 (Reports) пособия "Paradox User`s Guide". Затем вы получите запрос о том, куда нужно вывести сформированный отчет. ___________________________________________________________ *Printer Screen File Send the report to the print. ___________________________________________________________ Printer - распечатать отчет; Screen - высветить отчет на экране; File - записать отчет в виде файла. - 64 - 5. Определение установочных значений ___________________________________________________________ *Setting InsertDelet DO-IT! Cancel Create validity checks and image setting. ___________________________________________________________ И, наконец, для режимов Data Entry и Edit вам дается возможность ограничить через которые пользователь может вводить или редактировать записи. На экране появляется меню с четырьмя режимами. Settings - создать правила проверки на достовер- ность информации и устaновить, каким образом информация вводится в таблицу; Insert Delete - определить, может ли пользователь вво- дить/ удалять записи (не применяется в режиме Data Entry); DO-IT! - записать все определенные на данный мо- мент установки (аналогично нажатию кла- виши [F2]); Cancel - отменить все определенные на данный мо- мент установки и возвратиться в преды- дущее меню форм. Если вы выбираете режим Settings Personal Programmer высвечивает вам пустую запись либо в виде данных, либо в виде таблицы, в зависимости от сделанного ранее выбора. Здесь вы можете задать установочные значения для нужного - 65 - вам поля. Затем вы можете нажать клавишу [F10] - для полу- чения меню работ из четырех режимов: ___________________________________________________________ *Format ValCheck DO-IT! Cancel Change a column format in the table. ___________________________________________________________ Format - изменить вид выдачи числовых данных или выдать на экран; Valcheck - установить правила проверки на досто- верность для текущего поля; DO-IT! - запомнить новые установленные значения и возвратиться в предыдущее меню Settings (аналогично нажатию клавиши [F2]); Cancel - отменить любые сделанные вами установки и возвратиться на шаг назад в работе. И, снова, определение установочных значений во многом похоже на то, как это производится в системе PARADOX.(Для более детальной информации см. гл.9 (Modify) и 10 (Image) пособия Paradox User's Guide). Помните, что установки на достоверность данных будут относиться к любому последующему режиму работ с этой табли- цей. - 66 - Возврат на шаг назад Как всегда имеют место два пути, вернуться на шаг на- зад, если вы сделали ошибку: - если на экране есть меню или подсказка - нажмите кла- вишу [ESC]; - если на экране нет ни меню, ни подсказки (например, при создании подменю или создание экрана просмотра для нес- кольких таблиц) нажмите клавишу [F10]. Вы увидите меню из двух режимов как минимум: ___________________________________________________________ *DO-IT! Cancel ___________________________________________________________ DO-IT! - закончить ваши действия и перейти к следую- щему этапу (аналог нажатия клавиши [F2]); Cancel - отменить все сделанные операции и возвра- титься на шаг назад (при этом вас попросят подтвердить правильность желаемых дейст- вий). Другие режимы также могут присутствовать на экране ме- ню. Это зависит от вида выполняемой вами работы. Помимо всех предлaгаемых вариантов работы вы также можете нажать клавишу [Esc] и возвратиться на шаг назад. СОЗДАНИЕ ПОДМЕНЮ ___________________________________________________________ *Menu View Report Data Entry Edit Script Attach a submenu to the current menu selection. ___________________________________________________________ - 67 - Чтобы привязать подменю к режиму работы основного меню, выберите режим Specify Action из меню привязки дейсвий (Definition menu), затем выберете режим Menu из меню выбора действий (Action). Подменю определяются по тем же правилам, что и основное меню (см. главу 5 - Создание меню приложе- ния). Также как и основное меню каждое подменю может содер- жать до 15 пунктов режимов работ и каждое может вызывать подменю следующего уровня (до 10 уровней иерархии). Единственное отличие состоит в том, что хотя Personal Programmer автоматически включает режим Leave (выход) в ос- новное меню любого приложения, режим Cancel для возврата из подменю в меню более высокого уровня автоматически не появ- ляется. Это делается потому, что пользователь всегда может нажать клавишу [ESC] для выхода из подменю. Вы можете вклю- чить режим Cancel, если считаете это нужным. Позднее, не забудьте привязать действие Cancel к режиму меню Cancel. Когда вы создадите некоторое подменю, то Personal Programmer ожидает, что вы определите его режим работы до того, как перейдете к работе с пунктами меню более высокого уровня. Если вы не готовы сделать привязку к этим режимам, то определите их как NotDefined. Позднее Вы сможете вер- нуться и сделать нужные вам изменения. ПРОСМОТР ТАБЛИЦ ___________________________________________________________ Menu *View Report DataEntry Edit Script Help Allow users to view the records in one or more tables. ___________________________________________________________ Для того, чтобы разрешить пользователю просмотр инфор- мации из одной или нескольких таблиц, выберите режим View из меню выбора действий. Personal Programmer попросит вас точнее определить, какую информацию вы хотите иметь на вы- ходе: - 68 - 1. Указать необходимые одну или несколько таблиц. 2. Для одиночной таблицы задайте режим All Fiеlds (все поля) или примените запрос для указания нужных полей. Для нескольких таблиц создайте или определите экран выбора по- лей по этим таблицам. 3. Выберите режим All Records или используйте созданный ранее запрос, содержащий критерии выборки записей. 4. Определите, будете ли вы использовать отображение в виде формы или таблицы и какую конкретную форму (если она уже создана) вы хотите видеть. Пример 6.1. Создание подменю. Вспомните, что при создании основного меню приложения VIDEO (см. гл. 4) заданный режим работ "Запрос" должен был в свою очередь вызывать меню следующего уровня, из которого пользователи могли бы выбирать варианты опроса системы (ли- бо "потребители", либо "фильмы"). Меню низшего уровня нужны также для режимов "Отчеты" и "Ведение БД". Начните с меню выбора действий на экране, при этом пункт основного меню приложения "Запросы" находится в осве- щенном мигающем прямоугольнике (конец примеров 5-1 и 5-2). 1. Выберите режим Specify Action из меню привязки дейс- твий, чтобы попасть в меню выбора действий. (См. рис.6.1). 2. Выберите режим Menu меню выбора действий. Тотчас же в центре экрана высветится пустая рамка для создания вашего подменю. 3. Следуйте правилам, которые вы отрабатывали при соз- дании основного меню приложения (пример 5-1), и создайте подменю со следующими режимами работ: - 69 - -------Выбор----------------Объяснения------------------ Поставщики Запрос о поставщиках Фильмы Запрос о кинофильмах Выход Возврат в основное меню 4. Когда вы закончили процесс создания подменю и прове- рили, не опустили ли вы что-либо, нажмите клавишу [F2]. Снова появится меню привязки действий; а первый из режимов работ вашего подменю "Поставщики" будет находиться в осве- щенном мигающем прямоугольнике. Вы можете произвести при- вязку действий к этому пункту работ прежде чем снова верне- тесь к работе с режимами основного меню вашего приложения. Как и другие операции, режим View достаточно гибок, чтобы уменьшить объем отображаемой информации. Запросы, ко- торые вы формируете для указания по каким полям и записям вы хотите видеть данные, позволяют вам выбирать информацию из больших БД. Обычно, чем более тщательно и осторожно вы сужаете диапазон отражаемой информации, тем легче будет ра- ботать с вашим приложением. Пример 6.2. Привязка отображений для просмотра информации к пунктам меню. Вы работаете с подменю режима работ "Запросы" основного меню вашего приложения VIDEO. "Запросы" означает,что вы да- ете пользователю возможность просмотра информации. Меню привязки действий должно находиться в верхней час- ти вашего экрана (конец примера 6-1). Подменю "Запросы" должно находиться в рамке создаваемого вами меню с пунктом "Поставщики" - в освещенном мигающем прямоугольнике. 1. Выберите режим Specify Action для вывода меню выбора действий. - 70 - ___________________________________________________________ *SpecifyAction DO-IT! Cancel Define the action to be associated with the current menu selection. ___________________________________________________________ 2. Выберите режим View из меню выбора действий. Вы уви- дите меню выбора таблиц для того, в котором можно выбрать нужные для работы таблицы. ___________________________________________________________ *Menu View Report DataEntry Edit Script Help NotDefined Cancel Allow users to view the reports in one or more tables. ___________________________________________________________ 3. Выберите режим Select Table. Вы увидите список всех таблиц, задействованных в вашем приложении. ___________________________________________________________ *SelectTable AllTables DO-IT! Cancel Select a table to use in the current operation. ___________________________________________________________ 4. Выберите таблицу "Customer" из списка и нажмите кла- вишу [F2] для завершения процесса выбора таблиц. ___________________________________________________________ Filmcat Films Orders Ordtemp *Customer Customer name and adress data. ___________________________________________________________ Затем Personal Programmer спросит вас, будете ли вы вы- бирать отдельные поля. - 71 - 5. Поскольку вы хотите дать возможность пользователю видеть всю информацию об интересующем его потребителе, вы- берете режим All Fields. ___________________________________________________________ SelectFields *AllFields Use all fields ln the table for the current operation. ___________________________________________________________ Если по какой-либо причине вы хотите ограничить диапа- зон выводимой информации, вам следует заказать режим Select Fields, затем заполнить форму запроса для указания нужных вам полей. Затем Personal Programmer спросит вас, хотите ли вы уменьшить число выводимых записей. ___________________________________________________________ *SelectRecords AllRecords Use a query to specify the records to be shoun in this operation. ___________________________________________________________ 6. Поскольку вы хотите дать возможность пользователю самому выбрать, по какому потребителю ему нужна информация, выберете режим Select Records. Вы увидите форму запроса для таблицы Customer. 7. Для того, чтобы пользователю выводилась подсказка о вводе имени и фамилии потребителя, в поле LastName и FirstName вы вводите тильда-переменные ~lname и ~fname (см. рис.6.2.1). 8. Нажмите клавишу [F2], чтобы дать знать Personal Programmer, что вы закончили ввод критериев выборки. Personal Programmer теперь задает вам вопрос, каким образом - 72 - запросить пользователя о необходимости ввода данных в пере- менную Iname. ___________________________________________________________ Prompt: Enter the prompt for variable "Iname". ___________________________________________________________ 9. Введите текст: "Введите фамилию потребителя и нажми- те клавишу [ENTER]. Personal Programmer предложит вам тип данных A20 для переменной lname (это тип данных поля Last Name таблицы Customer). ___________________________________________________________ Data type:A20 Enter the correct data type for variable "Iname". ___________________________________________________________ 10. Если вас это устраивает, нажмите клавишу [ENTER]. 11. Повторите шаги 9 и 10, чтобы ввести подсказку для ввода данных об имени потребителя: "Введите имя потребите- ля" и согласитесь с предложенным типом данных A10 для пере- менной fname. Теперь Personal Programmer хочет получить инструкции от вас, каким образом вывести данные для пользователя. ___________________________________________________________ *FormView TableView FormToggle Display the information using a form. ___________________________________________________________ - 73 - 12. Если вы хотите заказать отображение в виде формы, выберите режим FormView. Следующее меню спросит вас, какую именно форму вы хоти- те использовать. ___________________________________________________________ *Design Borrow StandartForm Design a new form to use in the current operation. ___________________________________________________________ 13. Чтобы создать новую форму выберите режим Design. - На вопрос, какую форму вы будете создавать, выберите номер 2. - На вопрос об описании данной формы, введите: Форма отображения данных о потребителе, и нажмите клавишу [ENTER]. - Когда появится шаблон для создания формы, сделайте ее похожей на рис.6.2.2.(для того, как это делается, прос- мотрите главу 2 (Формы) пособия Paradox User's Guide. - Нажмите [F2], чтобы записать созданную форму. Поскольку на этом кончается процесс определения дейст- вия View, вы вернетесь в меню выбора действий со следующим пунктом меню "Запросы" (Фильмы) в освещенном мигающем пря- моугольнике. 14. Для описания действий по режиму "Фильмы" вы произ- водите аналогичные действия. Ниже приводится укороченный вариант: - Выберите режим View из меню выбора действий. - Используйте режим Select Table для выбора таблицы Films и нажмите клавишу [F2]. - Выберите режим All Fiеlds. - Выберите режим Select Records и введите: текст "like ~film" в поле Film Name шаблона запроса для таблицы Films. Нажмите [F2]. При этом оператор like позволит пользователю получить информацию о фильме, даже если он сделает орфографическую - 74 - ошибку при вводе названия фильма. При запросе о подсказке для ввода данных в переменную film, введите: "Введите название интересующего вас фильма и нажмите клавишу [ENTER]." Согласитесь с предлагаемым типом данных A30 и нажмите снова клавишу [ENTER]. - Выберите режим Form View. Вместо того, чтобы созда- вать новую форму, закажите режим Borrow. Единственная имею- щаяся форма (под название "Форма редактирования информации о кинофильмах") появится в списке имеющихся форм для табли- цы; закажите ее, нажав клавишу [ENTER]. Поскольку на этом кончается работа с пунктом меню "Фильмы", перед вами снова появится меню выбора действий со следующим пунктом меню "Запросы" - Выход - в освещенном ми- гающем прямоугольнике. 15. Режим "Выход" позволит пользователю вернуться из меню "Запросы" в основное меню приложения. Чтобы осущест- вить привязку этого действия выберите режим Cancel из меню выбора действий. ___________________________________________________________ Menu View Report DataEntry Edit Script Help NotDefined Cancel Return the user to the previos menu. ___________________________________________________________ Поскольку режим "Выход" в этом подменю дублирует воз- можность, предоставляемую при нажатии клавиши [ESC], то во всех последующих подменю приложения VIDEO она будет опущена (см. Возврат к меню более высокого уровня - данной главы). Теперь подменю "Запросы" будет замещено основным меню создаваемого приложения, причем в освещенном мигающем пря- моугольнике будет уже находиться пункт "Отчеты" - Замечание: Если вы находитесь в режиме Modify для ва- шего приложения, напоминаем, что вы должны предпринять, прежде чем перейти к отработке следующего примера: 1. Используйте клавиши [ESC], [ENTER], [->] и [<-] для того, чтобы передвинуться к следующему опреде- - 75 - ляемому режиму работ (в нашем случае - пункт основ- ного меню "Отчеты"). 2. Нажмите клавишу [F10] - ме- ню, выберите режим Action с тем, чтобы дать знать Personal Programmer о вашем намерении произвести некоторые изменения в действиях, выполняемых по вы- зову данного пункта меню вашего приложения. 3. Вы- берите режим Define для осуществления этого. Теперь вы можете перейти к примеру 6-3. ВЫВОД ОТЧЕТОВ НА ПЕЧАТЬ Для вывода отчета на печать произведите привязку требу- емого пункта вашего меню к режиму Report меню выбора дейст- вий. При этом Personal Programmer задает вам следующие воп- росы: 1. Закажите нужную вам таблицу/таблицы. 2. Если вы заказали несколько таблиц, укажите или соз- дайте экран вывода данных по ним. 3. Выберите режим All Records или создайте запрос для отбора нужных вам записей. 4. Задайте нужные спецификации отчетов и дайте указание Personal Programmer, будете ли вы выводить на печать, экран или во внешней файл ваш отчет. Обратите внимание, что вам нет необходимости определять поля для отчета по единичной таблице, поскольку это уже сделано в спецификации отчета по ней. Пример 6.3. Создание отчетов. Выбрав режим Reports из основного меню приложения - 76 - VIDEO, пользователь должен увидеть список всех имеющихся вариантов отчетов, из которых он будет сам выбирать нужную ему информацию. Начните с меню выбора действий (конец примера 6-2) с пунктом основного меню приложения Отчеты - в освещенном ми- гающем прямоугольнике. 1. Для того, чтобы создать подменю Отчеты, выберите ре- жим Menu из меню выбора действий. (См. рис.6.3.1).В прямоу- гольнике для ввода наименований введите следующее: -----Selection----------Explanation--------------------- Catalog Print a listing of all films and categories. Overdue Print overdue film list. Utilization Print film utilization report. (см. пример 5-1, чтобы вспомнить, как это делается). Нажмите клавишу [F2], чтобы закончить создание этого подме- ню. Вы тотчас же увидете меню привязки действий вместе с вашим новым подменю Отчеты, причем первый пункт подменю - Каталог будет находиться в освещенном мигающем прямоуголь- нике. Выбор режима Каталог позволит пользователю системы рас- печатать список всех имеющихся к/фильмов по их категориям. 2. Выберите режим Specify Action, чтобы получить меню выбора действий. ___________________________________________________________ *SpecifyAction DO-IT! Cancel Define the action to be associated with the current menu slection. ___________________________________________________________ - 77 - 3. Выберите режим Report. 4. На вопрос, какие таблицы нужно включить, используйте режим Select Table для выбора двух таблиц: films и filmcat. Нажмите [F2]. ___________________________________________________________ Menu View *Report DataEntry Edit Script Help NotDefined Cancel Allow users to send a report to the printer, a screen, or file. ___________________________________________________________ Так как вы заказали две таблицы, Personal Programmer попросит вас создать экран отображения для этих двух таб- лиц. ___________________________________________________________ *SelectTable AllTables DO-IT! Cancel Select a table to use in the current operation. ___________________________________________________________ 5. Поскольку у вас нет заранее созданного экрана отоб- ражения по этим таблицам, вы должны выбрать режим Create. ___________________________________________________________ *Create Borrow Create a new multitable view (sourse table and map) for current operation. ___________________________________________________________ Теперь Вы видите на экране 2 схемы для формирования запроса по этим таблицам. Заполните их согласно рисунку - 78 - 6.3.2. Вы формируете экран отображения по этим таблицам, свя- зывая их по полям Category и задавая вывод всех столбцов кроме одного во избежание повторения столбца Category. 7. Нажмите [F2]. 8. Поскольку вам нужен список всех к/фильмов, выберите режим All Records. ___________________________________________________________ SelectRecords *AllRecords Use all records in the current operation. ___________________________________________________________ При этом вы могли бы заказать режим SelectRecords для распечатки информации по определенной категории к/фильмов или дать возможность пользователю самому определить, какие к/фильмы ему будут нужны. Теперь вы получите запрос о том, какую спецификацию от- чета вы хотите использовать. 9. Чтобы создать новый отчет, выберите режим Design. ___________________________________________________________ *Design Borrow StandardReport Design a new report to use in the current operation. ___________________________________________________________ - Когда вас спросят, какую спецификацию вы будете соз- давать, ответьте 1. - Когда вас попросят ввести наименование для отчета, введите: Каталог к/фильмов, и нажмите клавишу ввода. - Когда вас спросят о типе вашего отчета, закажите таб- личный (Tabulat). - Когда появится предлагаемая спецификация отчета, сде- лайте ее похожей на приводимый ниже рисунок 6.3.3. - 79 - - Нажмите [F2] для завершения создания спецификации ва- шего отчета. Затем Personal Programmer спросит вас, куда посылать этот отчет. 10. Выберите режим Printer. ___________________________________________________________ *Printer Screen File Send the report to the printer. ___________________________________________________________ На этом формирование отчета Католог заканчивается. Сно- ва появляется меню привязки действий и подменю приложения с пунктом: Просроченные_фильмы - в освещенном мигающем прямо- угольнике. 11. Используйте ту же процедуру для определения отчета о просроченных к/фильмах: - Выберите режим Report из меню выбора действий. - С помощью режима Select Table закажите таблицы Orders, Films и Customer, и нажмите [F2]. - Поскольку мы создали экран отображения по этим табли- цам, воспльзуемся режимом Bоrrow. Personal Programmer зап- росит вас о дальнейшей информации. - Выберите режим Name и на запрос об именах исходной таблицы и таблицы-map закажите Oversrc и Overmap. ___________________________________________________________ Menu *Name Enter the names of the source and map tables to borrow. ___________________________________________________________ - Выберите режим Select Records и заполните форму зап- роса по аналогии с рис. 6.3.3. По этим условиям мы отбираем только те к/фильмы, срок возврата которых не проставлен в таблице. - 80 - - Воспользуйтесь режимом Borrow и закажите отчет номер 2 (Просроченные к/фильмы). Выберите режим Printer. 12. Режим "Фильмы в прокате" должен выводить вместе с информацией о к/филмах информацию о том, есть ли на них еще заказы. Для достижения этого следует воспользоваться специ- альным способом объединения таблиц, который называется внешней связью (outer join). - Выберите режим Report из меню выбора действий. - Закажите таблицы Films и Orders. - Создайте экран отображения по таблицам, как показано на рис. 6.3.4. Знак "!" указывает на внешнюю связь, которая означает, что включены все фильмы, даже те, для которых не было заказов. Для подробного ознакомления см. гл. 10 (Воп- росы повышенной сложности). - Выберите режим All Records. - Выберите режим Design и создайте спецификацию отчета 1 под названием "фильмы в прокате" как показано на рис.6.3.4. - Выберите режим Printer. На этом заканчивается процесс привязки действий к режи- му подменю "Отчеты". У вас на экране - снова меню выбора действий и основное меню приложения с режимом "Ведение БД" - в освещенном мигающем прямоугольнике. ВВОД ДАННЫХ ___________________________________________________________ Menu View Report *DataEntry Edit Script Help NotDefined Cancel Allow users to enter new records in one or more tables. ___________________________________________________________ Режим Data Entry меню выбора действий дает возможность пользователю, работая в приложении, осуществлять ввод новой - 81 - информации. Также как и в системе PARADOX, режим Data Entry предпочтительнее режима Edit при вводе значительного коли- чесва записей. Personal Programmer запросит: 1. Ввести необходимые для работы таблицы. 2. Для более, чем одной таблицы - создать экран отобра- жения. 3. Определить, какого вида форму ввода вы будете ис- пользовать (табличную или нет). 4. Задать условия проверки на достоверность вводимых данных и изменить установочные значения. Пример 6-4. Ввод данных в приложении VIDEO. Режим "Ведение БД" основного меню пользователя должен выводить подменю, позволяющее пользователю вводить/редакти- ровать записи в таблицах потребителей или к/фильмов (Customer или Films). Продолжаем с момента окончания работ примера 6-3. В верхней части экрана - меню выбора действий, под ним - ос- новное меню пользователя с режимом "Ведение БД" - в осве- щенном мигающем прямоугольнике. 1. Для создания подменю режима "Ведение БД" выберите режим Menu из меню выбора действий. (См. рис.6.4.1).В пря- моугольнике ввода пунктов меню введите следующее: -----Selection----------------Explanation--------------- Customers Add new custumers. Films Add new films. Edit Edit the custumer or films table. (см. пример 5-1). Нажмите [F2]. Появится меню привязки действий вместе с новым подменю для режима "Ведение БД". - 82 - Выбор режима "Потребители" должен дать возможность пользо- вателю вводить информацию о новых клиентах. 2. Выберите режим Specify Action, чтобы получить меню выбора действий. ___________________________________________________________ *SpecifyAction DO-IT! Cancel Define the action to be associated with the current menu slection. ___________________________________________________________ *Main Inquiry Reports Maitenance Orders Help Leave Inquiry about custumers or films. ___________________________________________________________ 3. Выберите режим Data Entry. ___________________________________________________________ Menu View Report *DataEntry Edit Script Help NotDefined Cancel Allow users to enter new records in one or more tables. ___________________________________________________________ 4. На вопрос о требуемых таблицах, выберите режим Select Table и закажите таблицу Customer. Нажмите [F2]. ___________________________________________________________ *SelectTable AllTables DO-IT! Cancel Select a table to use in the current operation. ___________________________________________________________ - 83 - Вас попросят сообщить, как вы хотите представить табли- цу Customer. 5. Дайте пользователю возможность переключения с одного вида ввода информации на другой (форма или таблица). Для этого выберите режим FormTable. ___________________________________________________________ FormView TableView *FormToggle Allow the user to toggle between form view and table view. ___________________________________________________________ Следующее меню запросит о том, какую форму использовать при работе в режиме форм. 6. Выберите режим Borrow и когда появится меню форм за- кажите уже готовую форму под названием - "Форма ввода ин- формации о потребителях". ___________________________________________________________ Design *Borrow StandardReport Borrow an existing form to use in the current operation. ___________________________________________________________ Далее последует вопрос об определении критериев досто- верности ввода информации. 7. Поскольку вы хотите иметь уверенность, что пользова- тель всегда введет фамилию, имя и номер потребителя, выбе- рите режим Settings. ___________________________________________________________ *Settings DO-IT! Cancel Create validity checks and image settings. ___________________________________________________________ - 84 - 8. Когда на экране появится заказнная форма, передвинь- те курсор к полю LastName (вообще говоря, он уже стоит там) и нажмите клавишу [F10] - Menu. Personal Programmer спросит вас, какие установки вы хо- тите сделать. 9. Выберите режим ValChec, затем Define и Required, подтвердите выбор, ответив Yes.(См. рис.6.4.2). 10. Повторите шаги 8 и 9 для полей First Name и Customer #. 11. Нажмите клавишу [F2] для возврата в меню установки, снова нажмите клавишу [F2], чтобы запомнить ваши установоч- ные значения. Повторите аналогичные процедуры для режима "К/фильмы", по которому пользователь сможет вводить данные о к/фильмах. 12. Снова появляется меню выбора действий и подменю "Ведение БД" с режимом "редактирование" в освещенном мигаю- щем прямоугольнике. РЕДАКТИРОВАНИЕ ТАБЛИЦ Чтобы дать возможность пользователю корректировать за- писи в одной или нескольких таблицах, присвойте режим Edit из меню выбора действий соответствующему пункту меню работ вашего приложения. Редактирование таблиц - это наиболее сложный режим ра- боты пользователя, поддерживаемый Personal Programmer. В зависимости от характера вашей задачи у вас может возник- нуть необходимость дать более детальную информацию для это- го действия, чтобы облегчить защиту данных в таблице.Кроме того, на процесс редактирования накладываются некоторые ог- раничения (см. гл. 10 - Вопросы повышенной сложности). В процессе присвоения режима Edit Personal Programmer задаст вам несколько вопросов: 1. Закажите таблицу/таблицы для использования. - 85 - 2. Если было заказано несколько таблиц, то создайте или закажите экран отображения для них. 3. Выберите режим All Records или используйте запрос для указания критерия выборки записей (для единичной табли- цы возможность указания записей для редактирования может быть использована, если для таблицы заданы ключевые поля). 4. Выберите форму редактирования записей (табличная или нет) и при наличии готовой формы - задайте ее. 5. За исключением случая, когда корректируются все за- писи в единичной таблице, не разрешается редактировать ин- формацию в ключевых полях (они должны быть защищены и объ- явлены в шаблоне формы как Display Only - "только для прос- мотра"). Если какие-либо ключевые поля были объявлены обыч- ными полями, у вас будет возможность внести изменения в шаблон формы, чтобы предохранить эти поля от изменения. 6. Задайте условия проверки на достоверность и устано- вочные значения. Вы также должны решить, дадите ли вы воз- можность пользователю вставлять новые записи или удалять старые. По умолчанию пользователи не могут ни вставлять, ни удалять записи. Если вам нужны эти операции, то вы должны задать их в явной форме. Пример 6-5. Добавление режима редактирования записей в приложение VIDEO. Если мы выберем режим Редактирования для меню "Ведение БД", то на экране должно появиться подменю, позволяющее пользователю корректировать записи в таблицах Customer, Films или Methods. Начните с меню выбора действий (конец примера 6-4) с режимом Edit меню "Ведение БД" в освещенной мигающем прямо- угольнике. 1. Создайте подменю редактирования. Для этого выберите режим Menu из меню выбора действий.(См. рис.6.5.1). В прямоугольнике ввода пунктов меню введите следующее: - 86 - -----Selection----------------Explanation--------------- Customers Add new custumers. Films Add new films. (см. пример 5-1). Нажмите клавишу [F2] для завершения процесса создания подменю. На экране снова появляется меню привязки действий и новое меню "Ведение БД" с пунктом "Customers" в освещенном мигающем прямоугольнике. Выбор ре- жима Customers должен позволить пользователю осуществить редактирование записей из таблицы Customer. 2. Выберите режим Specify Action для вывода на экран меню выбора действий.(См. рис.6.5.1). 3. Закажите режим Edit. ___________________________________________________________ Menu View Report DataEntry *Edit Script Help NotDefined Cancel Allow the user to modify records in one or more tables. ___________________________________________________________ 4. На запрос о таблицах выберите режим Select Table, чтобы заказать таблицу Customer. Нажмите клавишу [F2]. ___________________________________________________________ *SelectTable AllTables DO-IT! Cancel Select a table to use in the current operation. ___________________________________________________________ Теперь вы получите запрос о том, какие записи нужно включить. - 87 - 5. Для редактирования всех записей в таблице выберите режим All Records. ___________________________________________________________ SelectRecords *AllRecords Use all records in the current operation. ___________________________________________________________ Затем вы получите вопрос о том, в каком виде вам нужна информация по таблице Customer. 6. Для указания формы, выберите режим Form View. ___________________________________________________________ *FormView TableView FormToggle Display the information using form. ___________________________________________________________ Следующее меню запросит вас, какую форму вы хотите ис- пользовать. 7. Выберите режим Borrow и потом, когда появится список форм, закажите форму под названием "Форма ввода данных в таблицу Customer". ___________________________________________________________ Design *Borrow StandardReport Borrow an existing form to use in the current operation. ___________________________________________________________ Теперь Personal Programmer спросит вас, будете ли вы задавать условия на проверку достоверности данных или изме- нять установочные условия, позволите ли пользователю встав- лять или удалять записи. 8. Поскольку вы уже задавали условия на проверку досто- верности данных при работе с таблицей Customer в режиме Data Entry (см. пример 6-4), они распространяются и на ре- - 88 - жим редактирования этой таблицы. Одновременно с этим мы принимаем предлагаемое по умол- чанию запрещение ввода новых записей, поскольку эта возмож- ность предоставляется в режиме Data Entry. Но поскольку вы хотите дать возможность пользователю удалять записи из таб- лицы Customer, выберите режим Insert Delete. ___________________________________________________________ Settings *InseartDelete DO-IT! Cancel Specify whether to allow the user to inseart or delete records. ___________________________________________________________ Personal Programmer спрашивает вас, какую операцию вы хотите разрешить. 9. Выберите режим Delete и подтвердите это, введя ответ Yes. ___________________________________________________________ Inseart *Delete Specify whether or not to allow the user or delete records during the edit. ___________________________________________________________ 10. Нажмите клавишу [F2], чтобы запомнить ваши установ- ки. Поскольку на этом все действия с таблицей Customer за- канчиваются, на экране снова появится меню выбора действий. В меню редактирования режим Films находится в освещен- ном мигающем прямоугольнике.(См. рис.6.5.2). 11. Повторите вышеописанные действия для режима Films, по которму пользователь получит возможность редактировать записи о к/фильмах. - 89 - Ниже приводится укороченный вариант ваших действий: - Выберите режим Edit из меню выбора действий. - Выберите таблицу Films и Filmcat и нажмите клавишу [F2]. - При вопросе об экране отображения таблиц закажите ре- жим Borrow/Menu. Используйте клавиши со стрелками, [ENTER] и [ESC], чтобы попасть в режим Reports/Catalog. Затем наж- мите клавишу [F10] - "Меню" и закажите режим Borrow View. При этом Personal Programmer даст вам предупреждение, что в таблицах вывода (tаrget tables) отсутствует однознач- ная взаимосвязь между записями, записи из таблицы Filmcat в экране отображения появятся более чем один раз. Вы проигно- рируете это предупреждение из-за боязни испортить данные в таблицах. Однако, поскольку вы защитите поля Categоry, объ- явив его DisplayOnly и заполняете его автоматически, поль- зователи не могут испортить информацию в таблице Filmcat, если они будут менять информацию в поле Category. Таким об- разом, вы можете проигнорировать это предупреждение, нажав клавишу [F2]. - Выберите режим All Records. - Выберите режим Form View и затем Desing. Закажите форму номер 1 и назовите ее "Форма корректировки таблицы Film". Создайте форму по рис.6.5.3. Удостоверьтесь, что для полей film # и Category description были выполнены дейст- вия: Fild/Place/DisplayOnly (поле film # должно иметь режим DisplayOnly поскольку это ключевое поле таблицы Films). Нажмите [F2] для указания, что процесс создания формы за- кончен. - Поскольку вы не хотите менять форматы полей или уста- новочные значения, и не хотите, чтобы пользователь вашего приложения мог вставлять или удалять записи, на этом этапе снова нажмите клавишу [F2]. В примере 7-1 вы вернетесь к этому вопросу и произведе- те модификацию вашего приложения таким образом, чтобы поле Category description заполнялось автоматически. Поскольку на этом шаге заканчивается процесс привязки режима редактирования к пункту "Ведение БД", на экране сно- - 90 - ва появляется основное меню вашего приложения, пункт режи- мов работ которого "Заказы" находится в освещенном мигающем прямоугольнике. ОГРАНИЧЕНИЯ НА ПРОЦЕСС РЕДАКТИРОВАНИЯ Редактирование данных в таблицах с использованием зап- росов или экранов отображения для нескольких таблиц - весь- ма деликатная операция. Если вы будете придерживаться ниже приводимых правил, то вы избежите потерь записей и непонят- ностей с ключевыми значениями. -Одиночная таблица-------Экран отображения для------------- нескольких таблиц Режим All Records Все таблицы выхода (target tables) должны быть проиндексированы по ключам Таблица не обязательно Все ключевые поля таблицы выхода может быть проиндекси- должны присутствовать в исходной рована по ключам таблице (source table) Режим Select Records Ключевые поля должны быть защищены от редактирования Таблица должна быть Ни одна запись таблицы выхода не проиндексирована по может появиться более чем в одной ключам записи исходной таблицы Ключевые поля должны быть защищены от редактирования - 91 - ЗАЩИТА КЛЮЧЕВЫХ ПОЛЕЙ Использование запроса для определения того, что только определенные записи могут редактироваться - очень удобная вещь. Вы можете, например, позволить пользователю обновить информацию по таблице Customer только по определенному поч- товому индексу. При этом могут возникнуть некоторые проблеммы: Когда пользователь приложения заканчивает процесс редактирования, система PARADOX должна возвратить отредактированные записи в их соответствующие места в таблице. Система должна знать какая запись соответсвует какой записи. Та же самая проб- лемма возникает, когда вы производите процесс редактирова- ния, используя экран отображения для нескольких таблиц, да- же если вы и не используете запрос для выборки записей. Система PARADOX может определить, какая запись откуда, только используя информацию ключевого поля для записи! В связи с этим возникает одно из ограничений на процесс ре- дактирования в системе Personal Programmer. При осуществлении процесса редактирования с использо- ванием запросов или экранов отображения по нескольким таблицам, таблицы обязательно должны быть проиндексирова- ны по ключевым полям и данные в этих полях не должны ре- дактироваться. Для защиты ключевых полей от редактирования, используй- те режим Form View и определите их как Dislay Only при фор- мировании формы для таблицы (см. пример 6-5). Вы можете также защитить ключевые поля от редактирования введя дополнительные пароли, которые ограничат права пользо- вателя на поле до режима Read Only. Преимущество этого спо- соба состоит в том, что он может быть применен как для таб- - 92 - личной формы отображения, так и для нетабличной. Основным неудобством этого метода является то, что это ограничение распространяется уже и на все другие операции с таблицей. Плюс к этому, Personal Programmer не может контролировать этот вид защиты. При каждой возможности Personal Programmer позволяет вам перевести обычные поля в поля вывода Display Only. Например: - Когда вы создаете или вызываете форму редактирования для таблицы, имеющей запрос или входящей в экран отображения (для нескольких таблиц) вас спросят, будете ли вы модифици- ровать форму, чтобы защитить ключевые поля. Если вы закажите режим Modify, вы войдете в режим создания формы, где у вас появится возможность стереть (Erase), а потом заново ввести ключевое поле (Place). - Если вы заказываете табличный режим отображения для таблицы, имеющей запрос или входящей в экран отображения (для нескольких таблиц), вы получите напоминание, что следу- ет использовать нетабличное отображение (в виде формы) или ограничить права на использование ключевых полей. Поскольку Personal Programmer не может распространить данное правило на уже созданные формы, вы можете проигнори- ровать предупреждение от Personal Programmer. Вы это сделае- те на собственный страх и риск. Если вы позволите редактиро- вать ключевые поля, вы можете либо потерять записи, либо мо- жет измениться порядок их записи. Разрешение связей при работе с экранами отображения для нескольких таблиц. Возникают дополнительные трудности при работе с экранами отображения для нескольких таблиц. Предположим, что запись из таблицы назначения появляется более, чем один раз в ис- ходной таблице. Например, в экране отображения для таблиц Films и Filmcat заданная категория к/фильмов появляется в нескольких записях таблицы Films. Если при этом пользователь - 93 - редактирует поля в таблице Filmcat поля в одной из этих за- писей, то это приведет к конфликтной ситуации с другими за- писями. Отсюда появляется второе правило: При редактировании с экранами отображения для нес- кольких таблиц, записи в выходных таблицах должны иметь взаимно однозначное соответствие. Это означает, что ни одна запись выходной таблицы не может появиться более чем в одной исходной таблице, если ее поля не защищены от редактирования. Если записи выходных таблиц при использовании их в рабо- те с экранами отображения для нескольких таблиц не имеют взаимно одназначного соответствия, то Personal Programmer выдаст вам предупреждение, что это может повлеч за собой противоречивость информации. Хотя вам и будет предложено, выбрав режим Cancel, выйти ипровести редактирование в еди- ничной таблице или заказать другой экран редактирования, вы можете также окончить вашу работу и нажать клавишу [F2] - т.е. выполнить действие не беспокоясь о последствиях. Если вы все-таки хотите работать с экраном такого типа, вам следует защитить от редактирования все поля таблицы, за- писи с которыми могут встретиться более одного раза. И снова вы можете использовать режим отображения Display Only или ограничить права доступа пользователя к этим полям (см. при- мер 6-5). Более подробная информация по этому вопросу приво- дится в гл. 10 (Вопросы повышенной сложности). ВЫЗОВ ПРОГРАММ ___________________________________________________________ Menu View Report DataEntry Edit *Script Help NotDefined Cancel Attach a predefined script to the current selection. ___________________________________________________________ - 94 - Есть вещи, которые Personal Programmer делать не в сос- тоянии. К ним относятся: >> Осуществление действий по открытию и закрытию таблиц и записей в явном виде при многопользовательском режиме в сети; >> Сложные формы защиты по паролю; >> Сложные операции по вводу или редактированию данных (которые используют инструментарий ввода данных - Data Entry Toolkit); >> Действия, для выполнения которых требуется наличие таблиц, форм и т.п. в другом директории. Однако вы можете добавить эти возможности в ваше прило- жение. Для этого скопируйте или напишите программу, выпол- няемую в системе PARADOX (эти программы называются Scripts), которая будет выполнять нужные для вас действия, затем выберите режим Script в меню выбора действий с тем, чтобы привязать выполнение данной программы требуемому пун- кту меню вашего приложения. Поскольку вы можете связать режим Script только с опре- деленным пунктом вашего меню, вам придется в вашей програм- ме продублировать некоторые возможности Personal Programmer. Например, вам хочется воспользоваться расширен- ными возможностями инструментария по вводу данных (Data Entry Toolkit) в вашем приложении, поэтому создаваемая вами программа должна будет выполнять весь (!) процесс по вводу данных. Поскольку вы не можете к одному пункту меню вашего приложения привязать сразу два режима: Script и Data Entry (или же определить режим Script как подчиненный для режима Data Entry), ваша программа должна быть полным заменителем режима Data Entry. Когда вы выбираете режим Script из меню выбора дейст- вий, Personal Programmer спрашивает вас о названии вызывае- мой программы. - 95 - ___________________________________________________________ Script: Enter name of script to play, or press |