Системы управления базами данных (СУБД). Организации баз данных. Потребность в стандартных и общепринятых средствах сравнительного тестирования СУБД, страница 26

Теперь FoxPro содержит две подсистемы Wizards для построения запросов: SQL Query Wizard создает запрос только для чтения, удобный для подготовки отчетов, тогда как более мощный Updatable Query Wizard генерирует весь необходимый для построения редактируемого многотабличного образа код на языке xBASE. Выполнение этих действий традиционным способом ведет к большому объему программирования, поэтому Updatable query Wizard поможет сэкономить ваше время.

Имеющаяся в пакете подсистема Screen Wizard выполняет ответственную миссию по созданию основной экранной формы ввода, содержащей даже кнопки для перемещения по таблице. К сожалению, эти экранные формы могут выбирать данные только из одной таблицы и те же ограничения касаются подсистемы Report Wizards. Wizards доказали, что они очень полезны при создании обычных, но не сложных элементов прикладной программы.  Улучшенные Wizards для экранных форм и отчетов будут желанным дополнением.

При составлении прикладной программы FoxPro используется Project Manager (Диспетчер проекта) - средство из набора Power Toois (Мощные средства) пакета FoxPro,- управляющее различными файлами исходного текста и данных в файле (.PJX). Project Manager отслеживает индивидуальные элементы, такие, как программы, набор экранных форм, меню, отчеты и файлы базы данных, и позволяет компилировать прикладную программу в исполнимый файл.

Кроме Project Manager в число стандартных инструментальных средств Power Tools пакета FoxPro входят Screen Builder (Конструктор экранных форм), Menu Builder (Конструктор меню), Report Writer (Составитель отчетов), окно Relational Query By Example (RQBE - реляционный запрос по примеру) и Label Designer (Конструктор наклеек). Эти инструментальные средства относятся к числу лучших из тех, что можно найти в программах для DOS, и после овладения ими станут средством для мгновенного создания “кирпичиков” прикладных программ. Самые значительные нововведения - это Screen Builder и RQBE.

Screen Builder представляет собой сложный модуль, позволяющий создавать событийно-управляемый оконный итерфейс для прикладных программ. Однако тем, кто привык к схеме обработки событий, присущей другим программным продуктам, события FoxPro могут показаться несколько чужеродными. В пакете FoxPro применяется значительно расширенная версия команды READ, служащая основой событийно-управляемых форм. Для управления поведением и ответа на возникновение событий в экранных формах и содержащихся в них объектах используются различные варианты предложения READ. Для успешной разработки прикладных программ важно освоить подходы, применяемые в Screen Builder.

RQBE - управляемый с помощью мыши диалог,помогающий конструировать полноценные запросы с SQL-командой SELECT и выводить их в окно просмотра, cursor (cursor - CURzept Set Of Records - временный набор записей.- Примеч. ред.) или отчет. В окне RQBE строится синтаксически правильное SQL-предложение, которое можно видеть в нередактируемом (read-only) окне. Это мощное средство дает возможность быстро составлять сложные запросы и изучать SQL в процессе формирования запросов.

С помощью команды USE пакет FoxPro может непосредственно обращаться только к DBF-файлам. Однако допускается применять команды IMPORT и APPEND FROM для импорта данных из различных форматов, включая таблицы Lotus 1-2-3, Excel и Paradox 3.5 и 4.0. Благодаря включаемому набору SQL Connectivity Kit возможно обращение и к данным, хранящимся в базах  данных пакетов SQL Server фирм Microsoft и Sybase.

Досаду вызывает документация текущей редакции, которая не обновилась со времени выхода версии 2.5. Документация по Wizards и Catalog Manager размещена в системе оперативной подсказки. Тем не менее, несмотря на отсутствие существенных изменений по сравнению с 1993 г., пакет FoxPro for DOS все еще удерживает лидерство среди средств разработки класса xBase со своим неповторимым сочетанием высокой скорости и совместимости между разными платформами на уровне исходных текстов.