Опубликован: 19.05.2006 | Доступ: свободный | Студентов: 8143 / 1485 | Оценка: 4.04 / 3.81 | Длительность: 09:46:00
Лекция 6:

СУБД Microsoft Visual FoxPro. Отчеты, запросы, проекты и приложения

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >

Разработка проекта и исполняемой программы

Основой разработки программ для операционной системы Microsoft Windows в большинстве современных систем (VFP, Delphi, Visual C++, Visual Basic и пр.) является проект ( Project ).

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

Создать новый проект можно с помощью Мастера разработки проекта или самостоятельно. Более целесообразно использовать Мастер, зачастую с этого и следует начинать при разработке сложной системы (после разработки базы данных - сразу создать проект с помощью Мастера системы VFP 6.0 -7.0 - этот Мастер при генерации стандартного проекта предложит создать также необходимые вам экранные формы, панели инструментов, отчеты, меню и пр.).

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

Создаем новый файл проекта ( New - Project - New file ), выбираем для нее папку и даем имя Students.pjx. В соответствующие группы пустого окна проекта добавляем созданные нами ранее экранную форму и отчет. Если вы хотите добавить в проект базу данных, она должна быть помечена как внешняя ( \varnothing Exclude ). После этого окно проекта будет иметь вид, приведенный на рис. 6.23. (форма Spisok.scx выделена в нем жирно как головная программа).

Диаграмма, построенная по данным перекрестного запроса

Рис. 6.23. Диаграмма, построенная по данным перекрестного запроса

На странице All представлены все виды компонентов, которые могут входить в состав проекта. При работе с большими проектами удобнее пользоваться отдельными страницами проект ( Data, Documents, Classes, Code, Other ).

Справа в окне проект расположена группа кнопок, нижняя из которых - Build: - компиляция проекта. Если мы нажмем на нее, появится список для выбора типа компиляции проекта (для тех, кто забыл: компиляция - перевод исходного текста программы на машинный язык, исполняемый в данной операционной системе).

Если скомпилировать такой проект в exe-файл (рис. 6.24.), на диске появится файл students.exe, но для данного состава проекта запускаться и нормально работать он будет только из системы VFP (из Windows он запустится и тут же завершит свою работу), т.к. в нем нет головной программы с командой запуска процесса обработки событий read events.

Компиляция проекта

Рис. 6.24. Компиляция проекта

Для получения программы, работающей в операционной системе Windows, нужно сделать следующее:

  1. в окне проекта выбираем раздел Code - Programs (программные файлы), нажимаем New:, в чистом окне программы пишем 2 строки: do form spisok; read events сохраняем файл в своей папке с названием program1 или с другим названием и указываем в проекте, что это головная программа (правый клик на файле и выбрать команду Set Main );
  2. открываем форму Spisok и окно свойств, в окно события формы Destroy Event вписываем фразу: clear events (чтобы после закрытия формы завершался процесс обработки событий и завершалась работа программы) - рис. 6.25.
Процедура Destroy Event для формы Spisok

Рис. 6.25. Процедура Destroy Event для формы Spisok

Далее снова компилируем программу и проверяем ее работу, запуская ее из папки Windows. Мы увидим, что окно экранной формы при запуске программы появляется внутри другого окна, имеющего некоторое стандартное меню. Если вы хотите, чтобы на экране было только окно вашей формы Spisok, можно изменить свойство формы ShowWindow на 2-As Top-Level Form и добавить первой строкой в головной файл проекта команду: _SCREEN.Visible=.F. (Вместо 2-го пункта можно создать в папке программы файл config.fpw и в нем написать строку SCREEN = OFF ). В результате мы получим небольшую по размеру (около 250 Кб) программу, имеющую все основные возможности для работы с базой данных. Для запуска такой программы на другом компьютере потребуется сама база данных, файл этой программы (с расширением *.exe) и в доступном каталоге (например, Windows - System32) библиотечные файлы VFPVersionNumberR.dll and VFPVersionNumberRRUS.dll (для 9-й версии Vfp9r.dll - размер 4,49 Мб и Vfp9rrus.dll - 1,18 Мб). Может потребоваться также файл Msvcr70.dll.

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

Другой путь разработки проекта - использовать Мастер разработки приложения ( Application Wizard ). После выбора New - Project - Wizard появляется окно, в котором нужно задать название проекта ( student ) и путь его сохранения (оставим галочку у фразы "Создать структуру каталогов"). После генерации основы проекта и появления окна проекта ">проекта на экране, появляется также многостраничная форма построителя проекта ( Application Builder ), в которой на первой странице (рис. 6.26.) следует указать, будут ли использоваться окна информации о программе и авторе ( Splash и About ), окно Start для выбора формы или отчета в начале работы с программой и окно User login для задания имени пользователя и его пароля.

Первая страница Построителя приложений

Рис. 6.26. Первая страница Построителя приложений

Наиболее важной страницей построителя является третья (рис. 6.27.) - Data - раздел данных. На ней мы выбираем созданную ранее базу данных Students, после чего на этой странице появляется список всех таблиц базы с возможностью отметить те из них, для которых нужно сгенерировать экранные формы и отчеты.

Третья страница Построителя

Рис. 6.27. Третья страница Построителя

Далее нажимаем кнопку Generate, и для всех отмеченных таблиц базы создаются стандартные формы и отчеты.

На странице 4 Forms следует указать некоторые особенности использования каждой из форм в программе:

Name - название, которое будет показано для формы в окне Start ;

Single instance - открытие единственного экземпляра этого окна;

Use navigation toolbar - показывать навигационную панель (перемещения по таблице);

Use navigation menu - показывать навигационное меню;

Appear in File New dialog - форма появляется в пункте New меню и панели инструментов;

Appear in File Open dialog - форма появляется в пункте Open

На странице 5 Reports следует указать Name - название, которое будет показано для отчета в окне Start, и Appears in Print Report dialog - показывать или нет отчет в диалоге печати отчетов.

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

Как правило, экранные формы и отчеты в дальнейшем подвергаются автором значительной модификации.

Особенность разработанной таким образом программы: на экранной форме нет навигационных кнопок и кнопок редактирования. Эти функции берут на себя панели инструментов (стандартная и навигационная), которые взаимодействуют с формами. Недостаток данного типа проекта - большой размер исполняемого файла в результате использования значительного количества дополнительных библиотек VFP.

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >
Данил Корляков
Данил Корляков

Прошел весь курс всего за день, щёлкал ваши тесты, как орешки. Хочу вторую часть! laugh

Олеся Талдыкина
Олеся Талдыкина