Освоение практикума
Для реализации БД и работающей с ней приложения в среде Visual FoxPro выполняется разработка проекта Visual FoxPro. Проект Visual FoxPro можно представить состоящим из набора модулей. Каждый модуль состоит из нескольких файлов определенных типов и является структурной единицей проекта. Сначала создается модуль самого проекта. Он состоит из двух файлов, имеющих разные расширения (.pjx,.pjt) и одинаковое имя, совпадающее с именем, присвоенным проекту Visual FoxPro при его сохранении. В этих файлах хранятся общие данные по проекту (параметры, текущий состав проекта). Далее к проекту добавляются в желаемой последовательности модули различного типа. Основными типами модулей являются: модули базы данных, модули таблиц данных, модули экранных форм, модули меню, модули запросов, модули форм отчетов, программные модули. Модуль базы данных включает три файла, имеющих разные расширения (.dbc,.dct,.dcx) и одинаковое имя, совпадающее с именем, присвоенным базе данных при сохранении. В этих файлах хранятся данные по параметрам и текущему составу базы данных в целом. В созданной базе данных размещаются таблицы, реализуемые модулями таблиц данных. Модуль таблицы данных включает набор файлов, имеющих разные расширения (обязательный файл.dbf, необязательные файлы.fpt и.cdx) и одинаковое имя, совпадающее с именем, присвоенным таблице при сохранении. В этих файлах хранятся данные по параметрам и структуре таблицы, а также размещаются данные при заполнении таблицы информацией. Модуль экранной формы включает два файла с расширениями.scx и.sct, в которых хранятся описание экранной формы и фрагменты программного кода, связанные с экранной формой. Файлы имеют одинаковое имя, совпадающее с именем, присвоенным экранной форме при сохранении. Модуль меню первоначально включает два файла описания меню с расширениями.mnx и.mnt, в которых хранятся данные по параметрам и текущему составу меню. После выполнения операции генерации программного кода по описанию автоматически формируется файл исходного программного кода меню с расширением.mpr, а после выполнения компиляции исходного кода меню создается файл исполняемого кода меню с расширением.mpx. Все указанные файлы имеют одинаковое имя, совпадающее с именем, присвоенным данному меню при сохранении. Модуль запроса первоначально содержит один файл с расширением.qpr, в котором хранится исходный текст запроса. После выполнения компиляции создается файл исполняемого программного кода запроса с расширением.qpx. Модуль формы отчета включает два файла с расширениями.frx и.frt, в которых хранятся описание формы отчета и фрагменты программного кода, связанные с формой отчета. Файлы имеют одинаковое имя, совпадающее с именем, присвоенным форме отчета при сохранении. Наконец, программный модуль первоначально содержит один файл исходного программного кода с расширением.prg, в котором хранится непосредственно вводимый разработчиком исходный программный код. После выполнения компиляции создается файл исполняемого программного кода с расширением.fxp, который собственно и выполняется. После формирования проекта и отладки составляющих его модулей (которая может выполняться автономно по модулям) следует соединить все составляющие проекта в единое целое. После отладки полученной конечной сборки по ней может быть создан конечный продукт в виде приложения Visual FoxPro (расширение.app) или исполняемого файла (расширение.exe). Размещение материала практикума по главам предполагает следующую последовательность освоения процесса разработки проекта в среде Visual FoxPro (рис.1). На первой лабораторной работе выполняется начальное знакомство со средой разработки Visual FoxPro и созданием модуля нового проекта. На второй лабораторной работе осваивается разработка БД в среде Visual FoxPro для поставленной учебной задачи. На третьей и четвертой лабораторных работах осваивается соответственно разработка модулей экранных форм и модулей меню.
Рисунок 1 – Последовательность освоения процесса разработки
На пятой лабораторной работе рассматриваются различные возможности реализации запросов информации, направляемых из приложения к БД, а также сохранение запросов в файлах запросов для накопления и дальнейшего их использования. На шестой лабораторной работе осваивается разработка модулей форм отчетов. В заключительной части практикума рассматривается вопрос соединения различных частей проекта в единое целое. 1 НАЧАЛЬНОЕ ЗНАКОМСТВО С VISUAL FOXPRO 1.1 ЗАПУСК VISUAL FOXPRO Запуск Visual FoxPro выполняется стандартными для Windows способами. Командная строка, используемая при этом, может быть дополнена параметрами (таблица 1.1). Таблица 1.1 – Параметры запуска
Примечание: между ключом и аргументом не должно быть пробелов. В результате отработки команды запуска открывается главное окно Visual FoxPro с системным меню и, возможно, одним или несколькими служебными окнами и инструментальными панелями (рис.2), что определяется текущими установками и предыдущим сеансом. Рисунок 2 – Главное окно Visual FoxPro На рисунке 2 системное меню представлено в минимальном составе, при наличии открытых служебных окон системное меню расширяется дополнительными пунктами. 1.2 СИСТЕМНОЕ МЕНЮ VISUAL FOXPRO Все пункты в меню являются иерархическими, при выборе пункта открывается его подменю. При отсутствии в главном окне Visual FoxPro других открытых окон строка меню содержит пункты File (Файл), Edit (Правка), View (Вид), Tool (Инструменты), Program (Программа), Windows (Окна) и Help (Справка). При открытии и активизации окон в системное меню могут добавляться пункты, связанные с активным окном. Работа с пунктами меню в Visual FoxPro осуществляется стандартными для Windows способами. Подменю File Подменю File (Файл) содержит команды, связанные с доступом к файлам. Эти команды позволяют создавать новые файлы различных типов, открывать существующие файлы, закрывать, сохранять и печатать их. Стандартные операции работы с файлами дополняет команда Revert (Возвратить), позволяющая отменить все изменения файла, сделанные в текущем сеансе редактирования. В нижней части подменю располагаются (если не отключена соответствующая установка) имена последних четырех открывавшихся проектов, которые предоставляют возможность быстрого открытия любого из них. Последней командой этого подменю является команда Exit (Выход), предназначенная для выхода из Visual FoxPro. Подменю Edit Команды этого подменю используются при создании форм и отчетов, редактировании текстов программ и других текстовых данных. Большая часть команд стандартна для Windows. Команды Paste Special (Специальная вставка), Insert Object (Вставить объект), Object (Объект) и Links (Связи) применимы только к специфическим полям таблиц данных (поля типа General и OLE). Команда Go to Line (Переход на строку) предназначена для работы с программами и позволяет переходить в тексте программы на строку с указанным номером. Последней в подменю является команда Properties (Свойства), при выборе которой открывается диалоговое окно Edit Properties (Параметры редактирования), позволяющее задавать параметры редактирования данного файла и других файлов данного типа. Подменю View Этот пункт меню содержит команды, управляющие просмотром текущего открытого файла. Если вы не просматриваете файл, то подменю содержит всего одну команду Toolbars (Панели инструментов). Эта команда позволяет редактировать, открывать и закрывать инструментальные панели Visual FoxPro. При открытии различных окон редактирования и просмотра в подменю появляются дополнительные команды, связанные с данными окнами. Подменю Tools Это подменю содержит вызовы мастеров и средств отладки программ. Первой располагается команда Wizards (Мастера), открывающая список мастеров Visual FoxPro. Мастера позволяют автоматизировать создание форм, отчетов, таблиц и решение других стандартных задач на основании ответов на последовательность задаваемых мастером запросов. Далее в подменю расположена команда Spelling (Орфография). Ее можно использовать для проверки правильности написания текста. Команда Macros (Макросы) позволяет создавать и редактировать макросы. Команда Class Browser открывает окно конструктора классов Visual FoxPro. Команда Beautify (Улучшение) дает возможность упорядочить внешний вид текста программы. Команда Debugger (Отладчик) открывает диалоговое окно Visual FoxPro Debugger, в котором вы можете просмотреть последовательность выполнения программы, значения выражений, переменных, элементов массивов и свойств объектов и т.д. Подробнее работа с отладчиком описана в п.1.6. При соответствующей установке вместо команды Debugger в подменю может присутствовать набор команд независимого открытия отдельных отладочных окон. Последняя команда в подменю Tools — команда Options (Параметры). С ее помощью можно настраивать конфигурацию Visual FoxPro. Подробнее настройка описана в п.1.3. Подменю Program Подменю Program (Программа) содержит команды, связанные с выполнением и компиляцией программ: Do (Выполнить), Suspend (Прервать), Resume (Продолжить), Cancel (Завершить), Compile (Компилировать). Подменю Windows В подменю Windows (Окна) имеются команды, которые управляют открытыми на экране окнами. С помощью этих команд можно упорядочивать, скрывать, очищать окна и переходить из одного окна в другое. Кроме того, команды данного подменю позволяют активизировать любое открытое окно. Команда Command Window (Командное окно) из подменю Windows активизирует окно Command (Команда), позволяющее использовать интерактивную работу с командами при работе с Visual FoxPro. Для открытия окна Data Session, которое содержит список всех открытых в данном сеансе таблиц и связей между ними, используется команда Data Session (Окно данных). В центре окна Data Session находятся кнопки управления таблицами. Кнопка Properties открывает окно, позволяющее просмотреть и изменить текущие свойства таблицы. Для открытия таблицы в новой рабочей области используется кнопка Open. Кнопка Browse (Просмотр) открывает таблицу для просмотра содержащихся в ней записей. Кнопка Close (Закрыть) окна Data Session закрывает таблицу в текущей рабочей области, а кнопка Relations (Отношения) позволяет определить связи между открытыми таблицами. Подменю Help Help (Справка) содержит команды доступа к помощи и другой информации по Visual FoxPro. Команда Microsoft Visual FoxPro Help (Справочная система Visual FoxPro) открывает окно справочной системы Visual FoxPro. По команде About Microsoft Visual FoxPro предоставляется информация об авторском праве на продукт, номере версии и идентификаторе продукта, о размещении файла ресурсов и каталога по умолчанию. Прочие команды подменю Help предназначены для поиска дополнительной информации с использованием сети Интернет: - MSDN Search (Поиск в MSDN) - выполнение поиска справочной информации в MSDN (Microsoft Developer Network - сборник документов Microsoft, содержащий сведения о ее разработках) - Technical Support (техническая поддержка) – доступ к информации о технической поддержке, оказываемой Microsoft - Visual FoxPro on the Web – выход на Web-страницу Visual FoxPro. 1.3 КОНФИГУРИРОВАНИЕ VISUAL FOXPRO 1.3.1 Окно настройки Options Диалоговое окно Options, открывающееся при выборе команды Options подменю Tools, является основным средством интерактивного задания и изменения установок в Visual FoxPro. Установки Visual FoxPro разделены на тематические группы, размещенные на соответствующих вкладках окна Options (рис.3).
Рисунок 3 – Окно настройки Options Общее назначение установок, расположенных на различных вкладках окна Options, приведено в таблице 1.2. Таблица 1.2 – Вкладки окна настройки Options
Для принятия сделанных во вкладках установок на время текущего запуска Visual FoxPro в диалоговом окне Options нажмите кнопку ОК. Если вы хотите запомнить изменения и для последующих запусков Visual FoxPro, нажмите Set As Default. В этом случае сделанные установки запоминаются в реестре Windows для последующего использования. Далее кратко описаны наиболее полезные установки. Вкладка View С помощью флагов вкладки View определяется, что требуется показывать на экране: - Status bar (отображение строки состояния в нижней части экрана, соответствует команде SET STATUS BAR); - Clock (отображение времени в строке состояния, соответствует команде SET CLOCK STATUS); - Command results (вывод результатов выполнения определенных команд, соответствует команде SET TALK); - System messages (отображение системных сообщений, соответствует команде SET NOTIFY); - Recently used project list (отображение имен последних четырех открывавшихся проектов в подменю File); - Open last project on startup (автоматическое открытие при запуске последнего открывавшегося проекта). Вкладка General На вкладке General настраиваются наиболее общие параметры Visual FoxPro, такие, как цвет, звуковые сигналы, опции, влияющие на совместимость с предыдущими версиями программ. В области Warning sound (Звуковое предупреждение) вы можете задать сигнал, который будет звучать при достижении конца поля или вводе недопустимых данных (соответствует команде SET BELL). Возможны варианты Off (Выключено), Default (Стандартный сигнал) и Play (Нестандартный сигнал), для которого нужно выбрать файл звукового сигнала с расширением WAV. Область Programming (Программирование) содержит три флага, управляющих выполнением программ, обработкой ошибок и проверкой изменения исходного файла перед запуском программы: - Cancel programs on escape (Прерывание исполнения программы нажатием клавиши Esc, соответствует команде SET ESCAPE); - Log compilation errors (Журнализация ошибок компиляции в файле ошибок, соответствует команде SET LOGERRORS); - SET DEVELOPMENT (Проверка актуальности компиляции файла и автоматическая перекомпиляция при необходимости перед выполнением, соответствует команде SET DEVELOPMENT). В области Data entry (Ввод данных) вкладки General вы можете настроить параметры ввода информации. Выбор Navigation keys соответствует выбору Windows или MS-DOS-совместимого использования клавиш перемещения (соответствует команде SET KEYCOMP). При установке флага Fill new records with current values содержимое текущей записи переносится в новую запись (соответствует команде SET CARRY). Если установлен флаг Enter or tab to exit fields, то пользователь может переходить в следующее поле, только нажав клавишу Enter или Таb (соответствует команде SET CONFIRM). Кроме этого на вкладке имеются еще четыре флага, наиболее важным из которых является флаг Confirm file replacement, который определяет необходимость выдачи предупреждающего сообщения перед перезаписью уже существующего файла (соответствует команде SET SAFETY). Вкладка Data На вкладке Data задаются параметры, определяющие режимы работы с данными. В верхней части вкладки содержатся следующие важные флаги. Флаг режима открытия таблицы Open exclusive устанавливает монопольный режим работы с таблицей (соответствует команде SET EXCLUSIVE). Флаг Prompt for code page устанавливает режим запроса кодовой страницы при открытии таблицы с неизвестной кодировкой (соответствует команде SET CPDIALOG). Определение кодовой страницы позволяет правильно обрабатывать и отображать текст. Флаг Ignore deleted records задает выключение из обработки записей, помеченных для удаления (соответствует команде SET DELETED). Флаг Rushmore optimization включает технологию оптимизации поиска (соответствует команде SET OPTIMIZE). Для управления процессом сравнения строк используется область String comparisons, содержащая следующие флаги. Флаг SET EXACT on управляет поиском символьных строк (соответствует команде SET EXACT). Если он установлен, то требуется точное совпадение образца с полем записи, т.е. совпадение длин строк и совпадение всех их символов. При сброшенном флаге строки сравниваются до длины той из них, которая в условии сравнения стоит справа. Флаг SET ANSI on при сравнении двух строк разной длины дополняет более короткую строку пробелами, чтобы длины строк стали одинаковыми (соответствует команде SET ANSI). Когда флаг сброшен, строки сравниваются до длины более короткой из них. Флаг SET NEAR on определяет действия при неудавшемся поиске. Если флаг не установлен, то указатель записи устанавливается в конце файла, в противном случае указатель устанавливается на следующую по порядку запись после той, в которой ожидалось найти нужное значение (соответствует команде SET NEAR). В правой части вкладки с помощью раскрывающегося списка Collating sequence выбирается подходящий для вас порядок символов при сортировке. Установка Memo block size задает в байтах размер блоков, в которых размещаются Memo-данные. Остальные установки в правой части предназначены для настройки работы в многопользовательском файл-серверном режиме и задают параметры передачи данных с файлового сервера. Вкладка File Locations При работе Visual FoxPro использует множество файлов разного назначения. Для определения расположения системных файлов и папок, используемых для хранения временных файлов, отчетов и т. п. применяется таблица, находящаяся на вкладке File Locations (Расположение файлов). Первый столбец таблицы содержит наименование типа файла, а второй столбец — полный путь к файлу или папке. Установку можно сменить путем непосредственного ввода или используя находящуюся рядом кнопку поиска. Основными командами, соответствующими установкам данной вкладки, являются SET DEFAULT и SET PATH. Вкладка Forms Вкладка используется для настройки параметров конструктора форм. Область Grid используется для управления линиями разметочной сетки и выравнивания объектов: включения вывода сетки на форме (Grid lines) и автовыравнивания объектов по сетке (Snap to grid), расстояния между линиями по вертикали и горизонтали (Vertical spacing, Horizontal spacing). Флаг Show position включает отображение в строке состояния положения и размера текущего объекта. Список Scale units позволяет выбрать единицу измерения. Установка Maximum design area задается максимальная область экрана, которую можно использовать при создании форм. Флаг Prompt to save changes before running form включает вывод запроса о сохранении формы перед запуском ее на выполнение. Вкладка Projects Вкладка Projects используется для установки параметров диспетчера проектов. В области Project double-click action выбирается реакция на двойной щелчок на имени файла в диспетчере проектов: Run selected file (запуск на выполнение) или Modify selected file (открытие для модификации). При установленном флаге Display user-defined container icons в окне проекта отображаются значки, определенные пользователем. Остальные установки касаются специфического вопроса контроля работы с проектом. Вкладка Controls Вкладка Controls позволяет выбирать библиотеки классов и ActiveX-компоненты. Библиотека классов содержит один или более определенных пользователем классов, которые определяются исходя из основных классов FoxPro. ActiveX-компоненты обеспечивают связь с другими приложениями, поддерживающими OLE. Выбранные на данной вкладке библиотеки классов и ActiveX-компоненты появляются на панели инструментов Form Controls (Элементы управления формы) при нажатии на кнопку View Classes (Просмотр классов) Вкладка Regional Вкладка Regional используется для настройки форматов дат, времени, валюты и числовых данных. Если флаг Use System Settings установлен, то будут действовать системные настройки, и вы не сможете устанавливать параметры вкладки (соответствует команде SET SYSFORMAT). Параметры отображения даты и времени задаются в области Date and Time. В раскрывающемся списке Date Format можно выбрать требуемый формат даты (соответствует команде SET DATE). В этой же области устанавливаются разделитель элементов даты (соответствует команде SET MARK), количество знаков, используемых для отображения года (соответствует команде SET CENTURY), и формат отображения времени (соответствует командам SET HOURS и SET SECONDS). Форматы отображения валюты и чисел устанавливаются в области Currency and Numbers. Список Currency Format указывает, где будет располагаться символ валюты относительно его значения, в поле Currency Symbol задается символ валюты (соответствует команде SET CURRENCY). Для разделения больших чисел используется символ, указанный в поле 1000 Separator (соответствует команде SET SEPARATOR). Этот символ отображается перед каждой третьей цифрой слева в целой части числа. Символ, отделяющий целую часть числа от дробной части, задается в поле ввода Decimal Separator (соответствует команде SET POINT). Счетчик Decimal Digits используется для определения числа отображаемых десятичных знаков (соответствует команде SET DECIMALS). Вкладка Debug Вкладка Debug позволяет настроить параметры средств отладки. В списке Environment выбирается способ открытия средств отладки: Debug Frame (открытие всех окон отладчика в едином автономном окне отладчика) или FoxPro Frame (открытие отдельных окон отладчика внутри окна Visual FoxPro). В зависимости от выбора меняется состав подменю Tools. Ниже во вкладке можно установить шрифт и цвета для отдельных окон отладчика, выбираемых в области Specify Window. Кроме того, для окон определяются специфические установки. Для окна Call Stack задаются установки: Show call stack order (показ глубины вложенности программы), Show current line indicator (индикация текущей строки), Show call stack indicator (индикация процедуры, отображаемой в окне Trace). Для окна Output задаются установки: Log Debug Output (Запись результатов отладки в задаваемый текстовый файл), Append (режим добавления новой информации к содержимому файла), Overwrite (режим перезаписи содержимого файла). Для окна Trace задаются установки: Show line numbers (отображение нумерации строк), Trace between breakpoints (режим трассировки выполнения программы между точками останова с задаваемой в Pause between line задержкой в секундах для каждой строки). Вкладка Editor Вкладка Editor используется для настройки цвета и шрифтов элементов программного кода. В раскрывающемся списке Area области Syntax color settings выбирается программный элемент. Для выбранного элемента с помощью списков Font style, Foreground и Background задается стиль отображения, цвет шрифта и цвет фона. Для восстановления исходных цветов и стилей программных элементов нужно нажать кнопку Reset All. Вкладка Field Mapping С помощью вкладки Field Mapping задается тип интерфейсного объекта, который будет автоматически создаваться в форме при перетаскивании в нее полей заданного типа из конструктора среды окружения, конструктора БД или диспетчера проектов. Вкладка IDE С помощью вкладки IDE устанавливаются настройки форматирования, представления и поведения для различных типов файлов. Группа Specify file/window задает тип файла или окна для которого задаются настройки, а также виды расширений для выбранных файлов.Флаг Override individual settings разрешает перекрытие индивидуальных настроек. Блок Indentation позволяет изменить размер табуляции и отступов. Группа переключателей Save options содержит флаги, определяющие параметры сохранения для выбранного файла: Make backup – при сохранении файла создается резервная копия; Save with line feeds – занесение в сохраняемый файл символов начала строки (CHR(13)+CHR(10)); Save with end-of-file marker – занесение в сохраненный файл символа CTRL+Z в конец файла; Compile before saving – компиляция файла перед его сохранением. Область Appearance and behavior содержит ряд настроек, определяющих внешний вид и поведение настраиваемого типа файлов. Список Alignment определяет выравнивание текста файла. Окно Font указывает вид и размер шрифта. Также могут быть установлены в зависимости от фида файла или окна ряд флагов: Use font script – указывает на необходимость использования шрифта, заданного в окне Font; Drag-and-Drop editing – разрешает использовать механизм перетаскивания; Automatic indent – включает автоматический отступ; Show line/column position– включает показ позиции курсора в строке состояния при нахождении курсора в memo-поле; Word wrap – разрешает перенос слов; Syntax coloring – включает цветовую разметку текста; Embedded hyperlinks – разрешает включать гиперссылки в файл; Display white space – позволяет увидеть непечатные символы. Кнопка Apply применяет заданные настройки, а кнопка Reset All восстанавливает параметры, используемые по умолчанию.
|