Лабораторная работа 11

Генератор прикладных программ

Цель работы:

Краткие теоретические сведения

Генератор прикладных программ

FoxPro предлагает пользователю эффективное инструментальное средство, с помощью которого можно очень быстро проектировать простые прикладные программы – Генератор прикладных программ FoxApp. FoxApp представляет собой специализированное приложение, которое может из одной или нескольких таблиц и одной экранной формы сконструировать по заказу пользователя прикладную программу, предназначенную для управления базой данных. Следует отметить, что пользователь, разрабатывая собственную прикладную программу с помощью FoxApp, не создает приложение в том смысле, который вкладывается в это слово в среде Windows: он не разрабатывает исполняемый ЕХЕ-файл. В среде FoxPro приложение оформляется как специальный файл с расширением АРР. Этот файл содержит последовательность FoxPro директив. Разрабатывая приложение с помощью FoxApp, пользователь не занимается программированием, он продолжает работать в знакомой ему атмосфере FoxPro привычными средствами, не выходя за пределы инструментальной оболочки.

Если для разработки прикладной программы используется FoxApp, то в приложение в обязательном порядке автоматически включается ряд компонентов:

  1. Экранная форма ввода, в которой можно индицировать и изменять отдельную запись данных таблицы.
  2. Управляющий экран (панель управления), с помощью которого можно перемещаться внутри таблицы от одной записи данных к другой.
  3. Система меню с краткими версиями FoxPro-меню File, Edit и Help, а также меню Application (Приложение) и Utilities (Служебные программы), с помощью которых можно получать доступ к данным таблицы и обрабатывать их.

Задание

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

Часть1.

  1. Выполните генерацию стандартного приложения, создавая или указывая базу данных на шаге 1.
  2. Проверьте работу стандартного приложения:

  1. Изучите структуру стандартного экрана (*.scx), стандартного меню (*.mnx).
  2. Посмотрите состав проекта (Открытьñ Проект).

Часть 2.

  1. Создать приложение, используя ранее подготовленные элементы: экраны, базы данных.

Технология работы

Для создания приложения необходимо вызвать директиву Запускñ Приложение... и нажать кнопку Создать.

Запускается генератор приложений, и на экране открывается диалоговое окно FoxApp.

Собственно процедура проектирования приложения состоит из нескольких шагов. В этом окне видны средства управления первыми двумя.

Первый шаг проектирования приложения

На первом шаге в области Step1 - Create or Modify а Table (Шаг- I - Создать или изменить таблицу) следует задать базы данных, для управления которыми предназначается проектируемое приложение.

В поле ввода Table Name введите имя главной таблицы и нажмите (Enter) или щелкните мышью на командной кнопке From File (Из файла). В последнем случае открывается диалог Открыть, в котором можно выбрать файл главной базы данных. Спецификация выбранного файла принимается в поле ввода Table Name. Командная кнопка Modify (Изменить) становится доступной. С ее помощью можно изменить структуру таблицы.

Далее следует задать дочерние таблицы, связанные с главной базой данных. Для связывания таблиц необходимо щелкнуть мышью на командной кнопке Related... (Связать). Открывается диалоговое окно.

В списке Related Tables (Связанные таблицы) стоит имя главной базы данных. Чтобы связать дочернюю базу данных с основной таблицей и интегрировать его в список, нажмите командную кнопку Add. Откроется диалоговое окно Открыть. В нем следует двойным щелчком мыши на имени файла выбрать второстепенную базу данных. После этого откроется диалоговое окно Options, где следует указать поле, с помощью которого выбранная таблица связана с родительской. FoxPro самостоятельно устанавливает, что существует общее поле. Это поле одновременно является полем главного индекса. Нажмите командную кнопку Advanced... (Дополнительные опции). Открывается окно Enhanced Deletion установки опции связанного удаления.

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

Активизируйте опцию связанного удаления и нажмите ОК.

Нажмите командную кнопку Show As Tree (Индицировать как дерево), и на экране появится окно с изображением дерева связи выбранных таблиц. С помощью командной кнопки Hide Tree (Скрыть дерево) окно дерева можно удалить с экрана.

Если в окне Related Tables нажать командную кнопку ОК. Все заданные связи между таблицами сохранятся, причем в процессе сохранения в правом верхнем углу экрана можно увидеть сообщение о сохранении.

Второй шаг проектирования приложения

На втором шаге (Step2 - Create or Modify а Screen - Создать или изменить форму) необходимо определить экран ввода или выбрать его из имеющихся. В этой экранной форме данные основной таблицы будут индицироваться на экране во время работы приложения.

Экранная форма является важнейшей составной частью прикладной программы. Фактически - это "лицо приложения", его интерфейс.

В поле Screen name стоит имя. По умолчанию FoxApp автоматически приписывает экрану то имя, которое имеет таблица, выбранным на первом шаге. Речь идет о новой экранной форме, которая должна еще быть спроектирована. Но в качестве экрана можно выбрать и один из уже существующих. Для этого достаточно изменить предустановленное имя, набирая в поле ввода полную спецификацию файла существующей экранной формы. После задания имени экрана следует нажать Enter.

Директорию и имя файла экранной формы выберем с помощью командной кнопки From File (Из файла) из диалога Открыть. Сразу после выбора файла экранной формы станет доступной командная кнопка Modify. Обратившись к ней, можно при необходимости переработать проект экрана. Этой же кнопкой можно воспользоваться, чтобы оценить, как выглядит выбранная экранная форма.

После нажатия кнопки Modify открывается окно проектирования экрана и в него загружается проект формы.

Размещение окон на экране

Итак, определены важнейшие компоненты прикладной программы - обрабатываемые таблицы и экран ввода. На следующем этапе проектирования необходимо определить конфигурацию экрана прикладной программы. По умолчанию прикладная программа, сгенерированная FoxApp, работает с тремя объектами, которые индицируются в собственных окнах. Эти окна можно разместить на экране произвольно.

Речь идет о следующих объектах:

  1. Экранная форма ввода, индицирующая данные из главной базы данных.
  2. Таблицы, в которой индицируются дочерние базы данных.
  3. Панель управления - окно, в котором сосредоточены средства навигации и редактирования данных.

После нажатия командной кнопки Arrange (Разместить) на экран через некоторое время выводятся рамки перечисленных окон. Заголовки этих окон позволяют разобраться, о каком объекте идет речь.

Теперь разместите окна объектов на экране. Завершив размещение, щелкните мышью в строке меню на элементе Save Arrangement! (Сохранить размещение!). FoxPro сохраняет выбранное размещение и возвращается в диалоговое окно FoxApp.

Генерирование прикладной программы

Список используемых приложением объектов и их размещение на экране определены. Можно приступать к собственно генерации приложения.

Перед запуском Генератора Приложений следует нажать командную кнопку Advanced... для установки опций.

FoxPro открывает маленькое диалоговое окно Advanced Options (Специальные опции генерирования).

В этом диалоге задается метод генерирования проекта и опции для ресурсного файла.

В области Project Generation (Генерирование проекта) находятся две селекторные кнопки. По умолчанию нажата селекторная кнопка Full (Целиком), поэтому генерируется весь проект целиком.

Следует согласиться с такой предустановкой, поскольку полные проекты легче изменять. Но при этом Вы должны помнить, что процесс генерации займет больше времени, чем при обращении к сокращенному (Abbreviated) варианту.

Селекторную кнопку Full следует использовать, когда предполагается дальнейшая доработка приложения (после того, как его сгенерирует FoxApp).

Генерирование сокращенного проекта происходит приблизительно в три раза быстрее, чем генерирование полного проекта. Однако изменить позднее сокращенный проект значительно сложнее. Используйте эту кнопку только в том случае, когда убеждены, что сгенерированный проект не подлежит изменениям.

В области Resource File Options (Опции ресурсного файла) расположены два контрольных индикатора, которые по умолчанию активизированы.

  1. Store Relations (Сохранить отношения). FoxPro сохраняет все отношения между таблицами, установленные пользователем, в ресурсном файле. Если прикладная программа генерируется повторно и перед этим отношения были изменены, то данная опция инициирует замену сохраненной ранее информации.
  2. Retrieve Relations (Восстановить отношения). Если отношения сохранены в ресурсном файле, а прикладную программу необходимо генерировать повторно, данная опция позволяет автоматически восстановить их.

Оставьте обе эти опции во включенном состоянии.

Нажмите OK в окне опций и вернитесь к генератору прикладных программ. Щелчок мышью на командной кнопке Generate запускает генерацию. В начале процесса генерации пользователь должен в диалоге Сохранить как задать имя файла приложения и директорию, в которой он будет храниться. FoxPro автоматически добавляет к имени файла расширение АРР.

Задав имя и директорию, нажмите Сохранить, и FoxPro начинает генерировать. В процессе генерации на экран выводятся сообщения о ходе построения проекта, компиляции модулей и пр. Чем сложнее прикладная программа, тем дольше продолжается генерирование.

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

Запуск прикладной программы

Если пользователь хочет работать с некоторым приложением, он должен его сначала запустить. Речь идет не о простой загрузке файла, как это было при открытии базы, а о выполнении приложения. Поэтому пользователь должен обратиться не к директиве Файлñ Открыть, а к директиве Запускñ Приложение....

После этого FoxPro открывает стандартный диалог Открыть, в котором представлен список доступных приложений.

Выберите запускаемую прикладную программу из списка и нажмите командную кнопку Выполнить.

Отчет по работе должен содержать:

  1. На диске Х:\ стандартное приложение (каталог, содержащий файлы стандартного приложения).

Контрольные вопросы

  1. Структурные элементы стандартного приложения.
  2. Возможности стандартного приложения. (Уметь прокомментировать назначение всех пунктов меню стандартного приложения).