Знакомство со стандартной панелью инструментов Visual FoxPro.

Быстрый старт - это краткое описание основополагающих принципов работы в среде программирования FoxPro для Windows версии 2.5, создано для того, чтобы Вы могли с наименьшими затратами времени познакомиться с возможностями и организацией системы. Это руководство не является полным описанием и содержит лишь основные принципы и моменты работы с базами данных. Данное описание рассчитано на новичков - пользователей, которые впервые столкнулись с FoxPro и не знают с какой стороны к нему подойти. Здесь Вы найдете описание основных правил просмотра, создания и редактирования баз данных DBF, получите основные навыки работы в среде программирования FoxPro 2.5 для Windows

Заметим, что при использовании FoxPro вся нужная информация всегда находится "под руками". FoxPro обеспечивает контекстно- зависимую справку, так что всегда можно получить информацию о любом окне системы, диалоге или команде меню во время их использования. Для получения справки достаточно нажать клавишу F1.

А теперь давайте начнем с самого простого.

Глава 1. Открытие и просмотр таблицы (файла DBF).

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

Таблица - это файл, содержащий упорядоченную информацию. Такие файлы иногда называют файлами.DBF, так как они имеют расширение.DBF.

Система FoxPro содержит очень мощный инструмент для просмотра и редактирования информации в таблице. Для ознакомления с этими возможностями мы воспользуемся уже созданной таблицей: CUSTOMER.DBF, которая содержит информацию о заказчиках.

Как открыть и просмотреть таблицу

Установите курсор в окно команд, щелкнув в нем. Наберите set default to c:\foxpro\tutorial и нажмите клавишу ENTER.

В меню "Файл" выберите команду "Открыть". Появится диалог "Открыть". Сделайте активным каталог TUTORIAL. В списке "Тип" выберите "Таблица/DBF". И, выбрав файл CUSTOMER.DBF, нажмите кнопку "Открыть".

Рис.1.1 Открытие таблицы

Теперь эта таблица является активной и для ее просмотра в меню "База" выберите команду "Просмотр". Появится окно просмотра. Информация в окне просмотра представлена в строках и столбцах. Столбцы называются полями, строки - записями. Окно просмотра обычно недостаточно велико, чтобы дать возможность увидеть всю таблицу сразу. Для того чтобы увидеть различные части таблицы, нужно прокрутить окно просмотра по горизонтали и по вертикали.

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

Как изменить ширину поля

Установите курсор мыши между заголовком поля COMPANY и заголовком поля CONTACT. Эта линия называется разделителем заголовков. При попадании на разделитель заголовков указатель мыши изменяет вид. И теперь, нажав кнопку мыши, установите требуемый размер поля.

Как переместить поле

Укажите с помощью мыши на заголовок поля CNO. И, нажав кнопку мыши, перемещайте заголовок, пока он не окажется между COMPANY и CONTACT.

Рис.1.2 Перемещение заголовка в таблице

Можно увидеть все поля одновременно, перейдя в режим просмотра по записям. В этом режиме поля каждой записи располагаются одно под другим.

Как просмотреть данные в режиме просмотра по записям

В меню "Просмотр" выберите команду "По записям". Режим просмотра изменится.

Рис.1.3 Режим просмотра по записям

Еще одним способом просмотра данных является разбиение окна просмотра на два раздела при помощи маркера разбиения - черного прямоугольника в левом нижнем углу окна просмотра.

Как разбить окно просмотра

Установите мышь на маркере разбиения. Указатель мыши изменится. Переместите маркер разбиения окна за поле CONTACT.

Разбиение окна просмотра позволяет:

    прокручивать поля в одном разделе, не перемещая поля в другом;

    работать с одним разделом в режиме просмотра по записям, а с другим в режиме табличного просмотра.

Как выбрать раздел и изменить его режим

Выберите правый раздел, установив на нем указатель мыши и щелкнув. В меню "Просмотр" выберите команду "По записям".

Рис.1.4 Выбор раздела

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

Как устранить связь между разделами

В меню "Просмотр" выберите команду "Связать разделы". Маркер, расположенный рядом с командой "Связать разделы", исчезнет. Прокрутите несколько записей.

Как закрыть окно просмотра

Закрытие окна производится стандартно для системы WINDOWS, дважды щелкните на кнопке управляющего меню окна просмотра, или нажмите клавиши CTRL+F4.

Работа с окном Memo

Теперь откроем еще одну таблицу, содержащую информацию о продавцах, участвовавших в некоторых коммерческих сделках, это файл: SALESMAN.DBF

В этой таблице определено поле NOTES, находящееся между полями ONO и NAME и содержащее слова Memo или memo. Это поле специального типа; оно может содержать неограниченное количество любой информации. Так как объем информации может быть очень большим, ее трудно отобразить в маленькой области. Для просмотра и редактирования этой информации служит окно редактирования memo-поля.

Глядя на memo-поле, по первой букве слова memo сразу можно определить, содержит данное поле информацию или нет. Прописная буква "M" указывает на то, что memo-поле содержит информацию, а строчная буква "m" - на то, что поле пусто.

Как просмотреть данные memo-полей

Откройте окно редактирования memo-поля. Для этого дважды щелкните на слове Memo.

Рис.1.5 Просмотр данных Memo полей

В окне редактирования memo-поля вы можете его не только просмотреть, но и отредактировать. Для закрытия окна просмотра memo поля щелкните дважды на кнопке управляющего меню окна просмотра.

Глава 2. Управление данными.

Из предыдущей главы Вы узнали, как просмотреть информацию в таблице. Но что делать, если окажется, что нужно просмотреть информацию заданного типа? Например, может потребоваться узнать все о покупателях, израсходовавших свыше $5000, или узнать лишь имя и номер каждого покупателя. FoxPro позволяет быстро извлекать и просматривать информацию, отвечающую заданным условиям. Процесс извлечения указанной информации называется "запросом".

Как открыть окно запроса

В меню "Файл" выберите команду "Открыть" и в каталоге FOXPROW\TUTORIAL\ выберите файл CUSTOMER.DBF и нажмите кнопку "Открыть". Затем, в меню "Файл" выберите команду "Создать". В диалоге "Создать файл" установите опцию "Запрос", а затем нажмите кнопку "Создать". Появится окно запроса.

Рис. 2.1. Как открыть окно запроса

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

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

В области "Критерий отбора" указывается, какие записи требуется извлечь из таблицы. Если область пуста - запрос извлекает все записи из таблицы.

Допустим, нет необходимости просматривать поля CNO, ADDRESS, ZIP и ONO. Тогда нам нужно указать только те поля, которые нужны.

Как задать поля для результата запроса

В окне запроса установите флажок "Поля". Появится диалог "Выбор полей запроса".

Рис. 2.2 Задание полей для запроса

Нажмите кнопку "Удалить все", чтобы очистить список "Выбранные поля". И поместите в список "Выбранные поля" COMPANY, CNO, CONTACT, PHONE, CITY, STATE и YTDPURCH, для этого выделите нужное поле в списке "Поля таблицы" и нажмите кнопку "Добавить". Каждое из перечисленных выше полей появится на экране с префиксом CUSTOMER, это означает принадлежность поля к таблице CUSTOMER. По окончании нажмите кнопку "Ok". Выбранные поля будут отображены в списке "Поля результата" окна запроса. При выполнении запроса поля в окне просмотра появляются в порядке, указанном в окне запроса.

Как выполнить запрос

В окне запроса нажмите кнопку "Выполнить". И у вас появится окно просмотра с выбранными полями.

Рис. 2.3 Выполнение запроса

Если в процессе работы с окном просмотра окажется, что больше нет необходимости в поле CONTACT, то его просто из запроса удалить.

Как удалить поле результата из запроса

Закройте окно просмотра, в котором отображен результат запроса. Установите флажок "Поля". Удалите поле CONTACT из списка "Выбранные поля", выделив его в списке и нажав кнопку "Удалить". Нажмите кнопку "Ok". Обратите внимание, что поля CONTACT больше нет в списке "Поля результата". И выполните запрос.

Теперь, когда выбраны поля результата, можно задать порядок, в котором будут представлены данные. Например, можно отобразить данные по городам в алфавитном порядке.

Как упорядочить поля в запросе

Закройте окно просмотра с отображенным результатом запроса. В окне запроса установите флажок "Порядок". В диалоге "Порядок полей запроса" поместите CUSTOMER.SITY в список "Критерий порядка", для этого выделите его и нажмите кнопку "Добавить". И установите флажок "По возрастанию".

Рис. 2.4 Как упорядочить поля в запросе

Для возвращения в окно запроса нажмите кнопку "ОK". Обратите внимание, что в списке "Поля результата" рядом с CITY появились символы 1 и стрелка вверх. Цифра 1 означает, что CITY имеет первый приоритет при упорядочении данных, а стрелка вверх означает, что данные отображаются в порядке возрастания.

Нажмите кнопку "Выполнить". Данные можно упорядочить любым способом. Например, можно упорядочить данные по штатам и по городам внутри штата.

Как упорядочить по нескольким полям

Закройте окно просмотра. Установите флажок "Порядок". Поместите CUSTOMER.STATE в список "Критерий порядка". Установите порядок полей, для этого мышью переместите кнопку слева от STATE так, чтобы поле STATE было выше поля CITY. Нажмите кнопку "Оk". Теперь перед STATE стоит цифра 1, а перед CITY - 2, что означает приоритет по упорядочению данных. И нажмите кнопку "Выполнить".

До сих пор в таблице CUSTOMER просматривались все записи. Но предположим, что нужно просмотреть только те компании, которые расположены в штате Огайо. Используя область "Критерий отбора" окна запроса, можно выполнить такой запрос почти сразу же.

Задание условий отбора

Чтобы извлечь только заданные записи, следует задать условия от- бора. Каждое условие отбора состоит из поля таблицы, варианта сравнения и значения, которое должно сравниваться с содержимым поля.

Как задать условия отбора.

Закройте окно просмотра. В окне запроса щелкните на прямоугольнике ниже "Имя поля", чтобы вывести список "Имя поля". Выделите CUSTOMER.STATE

Рис. 2.5 Как задать условия отбора

В списке вариантов сравнения по умолчанию устанавливается "похоже на". Наберите OH (Ohio) в текстовом поле ниже надписи "Образец". Так создано условие отбора для просмотра записей только о компаниях в штате Огайо. Таким же образом можно задать несколько условий отбора. Введенное условие отбора требует, чтобы поле STATE было похоже на OH. STATE - это поле, "похоже на" - это вариант сравнения, а OH - значение, с которым сравнивается содержимое поля. Вариант сравнения "похоже на" указывает, что поле STATE должно иметь значение OH для того, чтобы запись удовлетворяла требованиям запроса. Результат выполнения запроса показан на

Рис. 2.6 Результат выполнения запроса

Другие варианты условия отбора

Попробуем вывести компании, расположенные в штате Огайо или Мичиган. Закройте окно просмотра. Щелкните на поле ввода вариантов сравнения и выберите значение "в списке". В поле "Образец" наберите MI (Michigan) после OH. Не забудьте поставить запятую.

Рис. 2.7 Вариант сравнения: "в списке"

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

Другие условия отбора: равно, больше, меньше, в пределах; работа- ют аналогично. Для более подробного ознакомления обратитесь к справочнику: "Руководство пользователя. FoxPro. Система управления реляционными базами данных для Windows".

Глава 3. Работа с таблицей.

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

Создание структуры таблицы.

Во-первых, решите, какую информацию следует помещать в таблицу.

      Фамилия, имя, отчество сотрудника;

Дата рождения;

    Профессия;

    Заработная плата;

    Комментарий;

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

В меню "Файл" выберите команду "Создать". Появится диалог "Создать файл". Выберите опцию "Таблица/DBF", а затем нажмите кнопку "Создать". Появится диалог "Структура таблицы"

Рис. 3.1 Создание структуры таблицы

Курсор находится в текстовом поле "Имя". Теперь можно добавить имя, тип и ширину каждого поля.

Как описать поля таблицы

Наберите "фио" в текстовом поле "Имя". Нажмите клавишу Tab или щелкните мышью в списке "Тип". Установите тип "Character". Нажмите клавишу Tab или щелкните мышью на поле "Ширина", после чего наберите 25 или с помощью стрелок увеличьте ширину до 25. Далее опишите остальные поля. Результат показан на

Рис. 3.2 Описание полей таблицы

Поле "Дес" указывает число десятичных разрядов в числовом поле. Так как в поле "зарплата" хранится значение денежной суммы, то следует задать число 2.

После ввода всех значений нажмите кнопку "Ok". Появится диалог "Сохранить как". Введите имя таблицы: TEST, если необходимо укажите в какой каталог ее записать и нажмите кнопку "Сохранить". Затем FoxPro спросит: "Вводить записи данных сейчас?". Нажмите кнопку "Да".

Ввод данных в таблицу

Появится окно просмотра в режиме изменения по записям. Добавляем в таблицу следующие данные:

    Иванов Сергей Николаевич

    бухгалтер

Для ввода информации в поле memo нажмите клавиши CTRL+PGDN или дважды щелкните на этом поле. Появится memo-окно, в которое введите комментарии.

Рис. 3.3 Ввод комментариев в Memo-окно

Закройте memo-окно. Заметьте, что буква "M" в слове Memo прописная, это означает, что данные в поле уже введены. Добавьте еще нескольких сотрудников и закройте окно просмотра.

Теперь, предположим, Вы приобрели сканер и желаете добавить в таблицу фотографии своих сотрудников.

Как изменить структуру таблицы

В меню "База" выберите команду "Настройка". В левом верхнем углу диалога "Настройка базы" нажмите кнопку "Изменить" Появится диалог "Структура таблицы". Подведите курсор к полю "комментарий" и нажмите кнопку "Вставить". Над полем "комментарий" появится "новое_поле". Замените "новое_поле" на "фото". В списке "Тип" выберите значение "General", а затем нажмите кнопку "Ok". На запрос FoxPro о том, необходимо ли сохранить изменения нажмите кнопку "Да". В диалоге "Настройка базы" нажмите кнопку "Ok".

Ввод в таблицу графических данных

Прежде всего, Вам необходимо внести в буфер обмена фотографию сотрудника.

В меню "Запись" выберите команду "Править". В окне просмотра устанавливается режим изменения по записям. Дважды щелкните по полю "фото". Появится окно редактирования поля типа General. В меню "Правка" выберите команду "Вставить". Картинка, содержащаяся в буфере обмена, появится в окне.

Рис. 3.4 Запись картинки в таблицу

Как добавить новые записи

В меню "Запись" выберите команду "Добавить". Появится окно просмотра в режиме добавления, куда Вы можете добавить новых сотрудников.

Как удалить запись

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

Рис. 3.5 Удаление записи

Как упаковать таблицу

В меню "База" выберите команду "Упаковать". Появится сообщение с запросом о том, хотите ли Вы упаковать таблицу. Нажмите кнопку "Да". Теперь в меню "База" выберите команду "Просмотр" и убедитесь в том,что все выделенные записи были удалены.

Глава 4. Формирование отчетов

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

Во второй главе говорилось об отображении информации в окне просмотра с помощью запроса. Другим способом представления информации является отчет.

Для создания отчета необходим запрос. Мы воспользуемся запросом созданным в главе второй.

Как открыть запрос

В меню "Файл" выберите команду "Открыть". В появившемся диалог "Открыть" выберите каталог TUTORIAL. В списке "Тип" выберите "Запрос" Выберите нужный файл (GSCHAP5.QPR) и нажмите кнопку "Открыть".

В качестве первого отчета составим список телефонных номеров всех клиентов из Калифорнии.

Сформируйте отчет с телефонным списком, как показано на рис.4.1.

Рис. 4.1 Создание отчета с телефонным списком

Включите следующие поля: COMPANY, PHONE, CONTACT, CITY и STATE. Критерий отбора: STATE похоже на CA. И главное, в списке "Вывод" выберите значение "Отчет/Этикетка". Нажмите кнопку "Выполнить".

Отчет начинает прокручиваться на экране.

После просмотра отчета нажмите клавишу ESC.

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

Как сформировать бланк отчета

Установите флажок "Опции". В диалоге "Параметры ввода запроса" выберите опцию "Отчет", установите флажок "Стандартный отчет", и в диалоге "Стандартный отчет запроса" в поле "Сохранить как" наберите имя gschap6.frx.

Рис. 4.3 Формирование бланка отчета

Нажмите кнопку "Ok" и кнопку "Выполнить".

Полное изображение целой страницы отчета можно увидеть в окне "Просмотр страницы", как показано на рис.4.4.

Рис. 4.4 Изображение страницы отчета

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

В окне "Просмотр страницы" Вы можете увеличить изображение (кнопка Увеличить), можно уменьшить (кнопка Уменьшить), просмотреть следующую или предыдущую страницу (кнопки Вперед/Назад). Для выхода нажмите кнопку "OK".

Теперь рассмотрим созданный бланк отчета и внесем в него некоторые усовершенствования в окне разметки отчета.

Как открыть бланк отчета

В меню "Файл" выберите команду "Открыть". В списке "Тип" выберите значение "Отчет", и откройте файл: GSCHAP6.FRX.

В окне разметки отчета появится бланк отчета GSCHAP6, изображенный на рис.4.5.

Рис. 4.5 Бланк отчета

Бланк отчета разделен на три полосы:

    Полоса "Верхний колонтитул" содержит информацию, отображаемую вверху каждой страницы отчета.

    Полоса "Детали" печатается один раз для каждой записи, удовлетворяющей критерию отбора.

    Полоса "Нижний колонтитул" содержит информацию, отображаемую вниз каждой страницы отчета.

С помощью набора значков в левой части окна разметки можно внести необходимые изменения в отчет. Например, на рис.4.6 показан бланк отчета с внесенными изменениями.

Рис. 4.6 Внесение изменений в отчет

Как выполнить запрос

Сверните окно отчета. Нажмите кнопку "Выполнить". Обратите внимание, что отчет содержит внесенные изменения.


Рис. 4.7 Окончательный вид отчета

И этот отчет Вы можете распечатать на принтере.

Заключение

Мы рассмотрели элементарные возможности работы с базами данных в среде FoxPro, на этом его возможности не ограничиваются, но для дальнейшей работы необходимо иметь хотя бы элементарные знания о языке программирования FoxPro. Если Вы решите продолжить знакомство с возможностями использования FoxPro, или если у Вас возникли затруднения, то можно посоветовать воспользоваться справочником "Microsoft FoxPro для Windows", который Вы получите вместе с пакетом программ FoxPro.

Рассмотрим кратко другие основные возможности работы с базами данных:

Создание экрана.

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

Создание меню.

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

Создание проекта.

Все элементы: экраны, отчеты, запросы, меню... можно объединить в единое целое, называемое проектом.

Проект служит для управления элементами в процессе создания приложения. Создав проект и задав файлы, которые должны в него войти, можно использовать этот проект для сборки приложения (.APP) или исполняемого файла (если у Вас есть пакет FoxPro Distribution Kit)

Ok. В диалогекомментарий src=h4 style=m. Нажмите кнопку

Людмила Омельченко Дарья Шевякова САМОУЧИТЕЛЬ Санкт-Петербург «БХВ-Петербург» 2005 УДК 681.3.068+800.92Visual FoxPro 9 ББК 32.973.26-018.1 О-57 Омельченко Л. Н., Шевякова Д. А. О-57 Самоучитель Visual FoxPro 9.0. - СПб.: БХВ-Петербург, 2005. - 608 с.: ил. ISBN 5-94157-632-3 Рассмотрен Visual FoxPro 9.0 - мощный пакет программ, предназначенный для построения профессиональных приложений, работающих с базами данных. Описаны интегрированная среда разработки приложений и создание с ее помощью основных объектов, таких как классы, таблицы, запросы, формы, отчеты. Рассмотрены экспорт и импорт данных, а также публикация данных на Webсервере. Показано как разрабатывать, создавать и тестировать клиент-серверные приложения. Уделено внимание особенностям очередной версии популярного пакета, а также дополнительным возможностям для работы с XML Web-сервисами и взаимодействию с другими приложениями (Microsoft Visual Studio .NET и Microsoft SQL Server 2000). Многочисленные примеры и иллюстрации помогут быстро освоить и успешно применять на практике изложенный материал. Для программистов и разработчиков баз данных УДК 681.3.068+800.92Visual FoxPro 9 ББК 32.973.26-018.1 Группа подготовки издания: Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством Екатерина Кондукова Игорь Шишигин Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 18.03.05. Формат 70 1001/16. Печать офсетная. Усл. печ. л. 49. Тираж 5000 экз. Заказ № "БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б. Санитарно-эпидемиологическое заключение на продукцию № 77.99.02.953.Д.006421.11.04 от 11.11.2004 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, 12 ISBN 5-94157-632-3 © Омельченко Л. Н., Шевякова Д. А., 2005 © Оформление, издательство "БХВ-Петербург", 2005 Îãëàâëåíèå ВВЕДЕНИЕ........................................................................................................... 1 Как пользоваться книгой.................................................................................................... 2 Как построена книга........................................................................................................... 2 Специальные элементы книги............................................................................................ 3 ГЛАВА 1. ЗНАКОМСТВО С VISUAL FOXPRO ...................................................... 5 Современные реляционные СУБД..................................................................................... 7 Объекты Visual FoxPro ....................................................................................................... 10 Что нового появилось в Visual FoxPro 9.0....................................................................... 12 ГЛАВА 2. НАЧАЛО РАБОТЫ С VISUAL FOXPRO ............................................... 15 Запуск Visual FoxPro .......................................................................................................... 15 Главное окно Visual FoxPro .............................................................................................. 15 Менеджер панели задач.................................................................................................... 27 Справочная система Visual FoxPro ................................................................................... 30 ГЛАВА 3. ПРОЕКТ КАК СРЕДСТВО ОБЪЕДИНЕНИЯ ЭЛЕМЕНТОВ ПРИЛОЖЕНИЯ........................................................... 39 Создание проекта приложения......................................................................................... 39 Управление проектом с помощью меню......................................................................... 45 Управление элементами проекта...................................................................................... 46 Использование мастера при создании проекта.............................................................. 47 ГЛАВА 4. СОЗДАНИЕ БАЗЫ ДАННЫХ ПРОЕКТА............................................. 57 Создание базы данных в окне проекта............................................................................ 57 Создание базы данных вне проекта................................................................................. 61 Таблицы - основа базы данных...................................................................................... 62 Окно конструктора таблиц................................................................................................ 68 Индексы.............................................................................................................................. 78 Отношения между таблицами........................................................................................... 82 Целостность данных.......................................................................................................... 85 IV Îãëàâëåíèå ГЛАВА 5. ФОРМА КАК СРЕДСТВО ВВОДА И РЕДАКТИРОВАНИЯ ДАННЫХ........................................................ 89 Создание формы с помощью мастера............................................................................. 90 Запуск формы..................................................................................................................... 97 Объекты формы.................................................................................................................. 97 Действия, выполняемые с объектами формы............................................................... 101 Изменение последовательности ввода информации в поля формы.......................... 105 ГЛАВА 6. КОНСТРУКТОР ФОРМ.....................................................................109 Окно конструктора форм................................................................................................ 109 Создание формы.............................................................................................................. 113 Настройка параметров формы........................................................................................ 114 Среда окружения формы................................................................................................. 116 Последовательность действий при настройке параметров формы............................. 122 Размещение объектов в форме....................................................................................... 123 ГЛАВА 7. СОЗДАНИЕ И ПЕЧАТЬ ОТЧЕТОВ.....................................................157 Что такое отчет................................................................................................................. 157 Рекомендации по созданию отчета................................................................................ 157 Средства создания отчетов.............................................................................................. 158 Использование мастера для создания однотабличного отчета................................... 158 Просмотр подготовленного отчета................................................................................. 168 Печать отчета.................................................................................................................... 169 ГЛАВА 8. СОЗДАНИЕ ОТЧЕТА С ПОМОЩЬЮ КОНСТРУКТОРА ОТЧЕТОВ...............................................................173 Окно конструктора отчетов............................................................................................ 173 Использование команды Quick Report для размещения полей.................................... 175 Установка среды окружения отчета............................................................................... 179 Свойства объектов отчета................................................................................................ 182 Размещение объектов в отчете....................................................................................... 188 Добавление в отчет областей заголовка и итогов......................................................... 200 Создание простого отчета............................................................................................... 201 Создание отчета в свободной форме............................................................................. 203 Создание табличного отчета........................................................................................... 205 Группировка данных в отчете......................................................................................... 207 Использование в отчете переменных............................................................................. 211 Разметка страницы отчета............................................................................................... 213 Многоколоночный отчет................................................................................................. 215 ГЛАВА 9. ЗАПРОСЫ К БАЗЕ ДАННЫХ.............................................................217 Конструктор запросов..................................................................................................... 218 Формирование списка полей результирующей таблицы запроса............................... 221 Вкладка Order By конструктора запросов...................................................................... 225 Задание условий для выбора записей............................................................................ 227 Многотабличные запросы............................................................................................... 233 Группировка полей запроса............................................................................................ 237 Изменение наименований полей в запросе.................................................................. 241 Îãëàâëåíèå V ГЛАВА 10. ПЕРЕКРЕСТНЫЕ ТАБЛИЦЫ И ДИАГРАММЫ..............................243 Перекрестные таблицы.................................................................................................... 243 Экспорт данных............................................................................................................... 254 Построение диаграмм...................................................................................................... 254 ГЛАВА 11. МЕНЮ ПРИЛОЖЕНИЯ..................................................................261 Подготовка к созданию меню........................................................................................ 261 Действия, необходимые для создания меню................................................................ 262 Запуск конструктора меню............................................................................................. 262 Создание меню................................................................................................................. 264 Сохранение, генерация и запуск меню......................................................................... 278 Создание всплывающего меню...................................................................................... 279 ГЛАВА 12. СОЗДАНИЕ СПРАВОЧНОЙ СИСТЕМЫ ПРИЛОЖЕНИЯ...............281 Строка состояния............................................................................................................. 281 Использование диалоговых окон................................................................................... 282 Создание справочной системы в формате HTML ........................................................ 285 Использование справочной системы в приложениях.................................................. 293 ГЛАВА 13. УПРАВЛЕНИЕ ПРОЕКТОМ И СОЗДАНИЕ ПРИЛОЖЕНИЯ..........297 Определение свойств окна проекта............................................................................... 297 Задание параметров проекта........................................................................................... 299 Установка основной программы проекта...................................................................... 302 Использование опции Exclude ........................................................................................ 303 Очистка проекта от удаленных файлов......................................................................... 303 Построение проекта......................................................................................................... 303 Галерея компонентов Visual FoxPro ............................................................................... 306 ГЛАВА 14. УСЛОВИЯ ДОСТОВЕРНОСТИ, ХРАНИМЫЕ ПРОЦЕДУРЫ, ТРИГГЕРЫ, ПРЕДСТАВЛЕНИЯ ДАННЫХ......................................315 Условия достоверности ввода данных на уровне записей........................................... 315 Условия достоверности ввода данных на уровне поля таблицы................................ 323 Использование представлений данных......................................................................... 325 ГЛАВА 15. РАСШИРЕННЫЕ СРЕДСТВА ВВОДА ДАННЫХ..............................337 Отображение данных в форме в табличном виде......................................................... 337 Создание формы с вкладками........................................................................................ 356 Набор форм...................................................................................................................... 360 Таймер............................................................................................................................... 361 Добавление данных в список......................................................................................... 364 ГЛАВА 16. БИБЛИОТЕКИ КЛАССОВ И ACTIVEX-КОМПОНЕНТЫ.................367 Использование библиотек классов................................................................................ 367 Использование ActiveX-компонентов в форме............................................................. 374 Использование браузера объектов................................................................................. 390 ГЛАВА 17. РАСШИРЕННЫЕ СРЕДСТВА СОЗДАНИЯ ОТЧЕТОВ.....................395 Использование в отчетах представлений данных......................................................... 395 Этикетки........................................................................................................................... 396 Использование в отчетах отношения "один-ко-многим" ............................................ 404 VI Îãëàâëåíèå ГЛАВА 18. РАСШИРЕННЫЕ СРЕДСТВА ВЫБОРКИ ДАННЫХ.......................409 Вывод результатов запроса.............................................................................................. 409 Сохранение результатов запроса в формате HTML ..................................................... 412 Использование в программах команды Select ............................................................... 414 ГЛАВА 19. ВИЗУАЛЬНОЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ..................................................................419 Использование классов................................................................................................... 419 Использование вложенных объектов............................................................................. 434 Пользовательские классы................................................................................................ 437 Просмотр информации о классе и определение значка для его обозначения.......... 447 Формирование списка библиотек, используемых в конструкторах форм и классов.................................................................................... 450 Создание форм на основе пользовательских классов.................................................. 450 Использование формы для создания класса................................................................. 454 Средство Class Browser ..................................................................................................... 455 Создание панели инструментов..................................................................................... 458 ГЛАВА 20. МНОГОПОЛЬЗОВАТЕЛЬСКАЯ РАБОТА В ЛОКАЛЬНОЙ СЕТИ.......................................................................463 Типы блокировок............................................................................................................. 463 Автоматическая блокировка............................................................................................ 463 Полная блокировка таблицы и блокировка изменений.............................................. 465 Блокировка таблицы........................................................................................................ 466 Блокировка записей......................................................................................................... 466 Снятие блокировок таблиц и записей........................................................................... 468 Сеансы работы с данными.............................................................................................. 469 Использование буферов.................................................................................................. 470 Использование транзакций............................................................................................. 474 ГЛАВА 21. СВЯЗЫВАНИЕ И ВНЕДРЕНИЕ ОБЪЕКТОВ, ЭКСПОРТ И ИМПОРТ ДАННЫХ.....................................................................475 Visual FoxPro и OLE-объекты......................................................................................... 475 Связывание OLE-объекта................................................................................................ 481 Редактирование OLE-объекта......................................................................................... 484 Удаление OLE-объекта.................................................................................................... 484 Использование объектно-ориентированного программирования.............................. 484 Передача данных из Visual FoxPro в другие приложения........................................... 486 Импорт данных................................................................................................................ 488 Использование данных из Visual FoxPro в Microsoft Word ......................................... 491 ГЛАВА 22. УДАЛЕННЫЕ ПРЕДСТАВЛЕНИЯ ДАННЫХ...................................497 Определение источника данных ODBC ........................................................................ 497 Именованное соединение............................................................................................... 500 Конструктор соединений................................................................................................ 500 Настройка параметров удаленных представлений и соединений в диалоговом окне Options ............................................................................................... 503 Создание удаленного представления данных............................................................... 505 Îãëàâëåíèå VII Совместно используемые соединения........................................................................... 513 Комбинирование в представлении локальных и удаленных данных......................... 514 Настройка представления с помощью словаря базы данных...................................... 516 ГЛАВА 23. ПЕРЕНОС ДАННЫХ ИЗ VISUAL FOXPRO НА ПЛАТФОРМУ КЛИЕНТ-СЕРВЕР...............................................519 Использование мастера наращивания для переноса данных в базу данных SQL Server ................................................................................................ 519 ГЛАВА 24. ПУБЛИКАЦИЯ ДАННЫХ НА WEB-СЕРВЕРЕ.................................531 Мастер Web Publishing ...................................................................................................... 531 Настройка параметров Web-страницы с помощью мастера........................................ 535 Создание Web-страницы................................................................................................. 539 Редактирование созданной Web-страницы................................................................... 543 ГЛАВА 25. НАСТРОЙКА ПАРАМЕТРОВ VISUAL FOXPRO ................................545 Параметры вкладок окна Options .................................................................................... 546 ПРИЛОЖЕНИЕ. УСТАНОВКА VISUAL FOXPRO ..............................................573 Требования к системе...................................................................................................... 573 Установка Visual FoxPro .................................................................................................. 573 Настройка Visual FoxPro ................................................................................................. 575 ГЛОССАРИЙ.....................................................................................................579 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ............................................................................589 VIII Îãëàâëåíèå Ââåäåíèå В последние годы периодически возникают слухи о том, что Microsoft прекратит поддержку программного продукта Visual FoxPro. Но в который раз они оказываются происками недоброжелателей. И очередная новая версия Visual FoxPro 9.0 - прямое тому подтверждение. Несмотря на появление новых систем управления базами данных Visual FoxPro продолжает оставаться одной из наиболее популярных программ в этой области. Это, прежде всего, связано с тем, что при создании новых версий Microsoft сохраняет совместимость с предыдущими версиями. Поэтому созданные вами приложения можно будет использовать и в дальнейшем. В Visual FoxPro реализованы все атрибуты реляционных систем управления базами данных. В базе данных поддерживается целостность данных с помощью первичных ключей и связей между таблицами. Для обработки событий добавления, удаления или изменения записей таблиц средствами самой базы данных вы можете использовать триггеры и хранимые процедуры. Visual FoxPro - это объектно-ориентированный, визуально-программируемый язык, управляемый по событиям, который в полной мере соответствует новым требованиям, предъявляемым к современным средствам проектирования и реализации программного обеспечения. Visual FoxPro могут применять пользователи разных уровней подготовки. Если вы только начинаете осваивать Visual FoxPro и вам необходимо в кратчайшие сроки разработать простое приложение, вам помогут мастера создания баз данных, таблиц, приложений, форм, отчетов и т. д. Для разработки крупных и сложных проектов служат соответствующие конструкторы и объектно-ориентированный язык, который позволяет не только использовать базовые классы Visual FoxPro и внешние библиотеки, но и создавать пользовательские классы. Настоящая книга представляет интерес как для начинающих знакомство с Visual FoxPro 9.0, так и имеющих опыт работы с этой системой разработчиков. В книге последовательно описывается весь процесс создания законченных приложений: создание базы данных и входящих в нее таблиц, конструирование форм для ввода и просмотра данных, создание запросов и отчетов, а также других средств отображения и обработки информации баз данных. Книга содержит большое количество иллюстраций, которые помогут вам знакомиться с изложенным в ней материалом. 2 Ââåäåíèå Êàê ïîëüçîâàòüñÿ êíèãîé Если вы только приступаете к изучению Visual FoxPro, то предложенный порядок глав позволит вам последовательно идти от простого к сложному в освоении данного программного продукта. Если вы знакомы с Visual FoxPro, вам не обязательно читать книгу от начала и до конца. В оглавлении книги вы можете посмотреть, какие главы представляют для вас наибольший интерес, и изучить только их. Многое можно узнать, просто бегло просмотрев книгу. В ней есть специально выделенные моменты, которые попадутся вам на глаза, когда вы будете ее листать. Êàê ïîñòðîåíà êíèãà Книга предполагает последовательное изучение материала от более простого к сложному. Главы 1 и 2 книги являются вводными. Вы узнаете, как запустить Visual FoxPro, как получить в нем справочную информацию, познакомитесь с элементами главного окна программы и с тем новым, что появилось в Visual FoxPro 9.0 по сравнению с предыдущими версиями. В главе 3 вы познакомитесь с проектом, который является средством объединения элементов приложения. Изучив главу 4, вы научитесь создавать базу данных, входящие в нее таблицы, индексы, связи между таблицами, определять условия целостности данных. В главах 5 и 6 рассматривается создание форм для ввода и редактирования данных с помощью мастера и конструктора форм. Главы 7 и 8 посвящены разработке простых отчетов. Прочитав главу 9, вы сможете создать запрос любой сложности. Глава 10 познакомит вас с созданием перекрестных таблиц и диаграмм. Для запуска форм, отчетов и программ в приложении используется меню. В главе 11 рассказывается о создании такого меню приложения. Изучив первые одиннадцать глав и разобрав предложенные вашему вниманию примеры, вы сможете самостоятельно создавать приложения. Следующие главы базируются на знаниях, полученных в первых главах, и посвящены расширенным средствам создания форм, запросов, отчетов. О том, как разработать для своего приложения эффективную справочную систему в формате HTML, вы узнаете из главы 12. В главе 13 обсуждаются некоторые дополнительные вопросы управления проектом, включая создание исполняемого (exe) файла. В главах с 14 по 18 обсуждаются расширенные средства управления базой данных, создание многотабличных форм и отчетов, использование в формах компонентов ActiveX. Глава 19 познакомит вас с особенностями объектно-ориентированного подхода к созданию приложений, предназначенных для управления базами данных. Вы научитесь создавать классы и объекты на их основе. Глава 20 посвящена работе Visual FoxPro в локальной сети. Ââåäåíèå 3 Visual FoxPro не является изолированной системой и может эффективно взаимодействовать с другими приложения Windows. Прочитав главу 21, вы узнаете, как работать с составными объектами (OLE), экспортировать и импортировать данные. Как установить драйвер ODBC, как создать удаленное представление данных и настроить его параметры, вы узнаете из главы 22. Глава 23 познакомит вас с переносом данных из Visual FoxPro на платформу клиент/сервер с помощью мастера наращивания. В Visual FoxPro имеется возможность формирования Web-страницы с использованием информации, содержащейся в базе данных. Об этом речь пойдет в главе 24. Для эффективной работы с Visual FoxPro используются параметры, настройка которых рассмотрена в последней главе книги. В приложении вы познакомитесь с установкой Visual FoxPro 9.0. Книга также содержит глоссарий с описанием терминов Visual FoxPro. Ñïåöèàëüíûå ýëåìåíòû êíèãè В книге есть много особых вставок, выделенных специальным образом. В них содержится дополнительная информация, облегчающая чтение и поиск информации: ÇÀÌÅ×ÀÍÈÅ В замечаниях речь идет о последствиях, к которым приводят те или иные действия. ÑÎÂÅÒ В советах рассказывается о некоторых хитростях, которые следует знать, чтобы наиболее эффективно использовать возможности Visual FoxPro. ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ Предупреждения должны помочь вам избежать проблем. В них сказано, чего следует опасаться, а также что нужно делать, чтобы избежать ошибок. В книге используются различные виды шрифта: новые термины выделены курсивом; тот текст, который вы должны вводить с клавиатуры, выделен полужирным курсивом; команды меню, наименования кнопок, вкладок, опций, флажков, диалоговых окон, областей и т. п. выделены полужирным шрифтом; названия функций, свойств, методов, баз данных, таблиц, полей таблиц выделены моноширинным шрифтом. Две клавиши, соединенные знаком плюс, - это комбинация клавиш. Нажмите первую клавишу и, не отпуская ее, нажмите вторую. Затем отпустите обе. Авторы выражают свою признательность издательству "BHV-Петербург" за долгое плодотворное сотрудничество и помощь при подготовке и написании книги. 4 Ââåäåíèå Ãëàâà 1 Çíàêîìñòâî ñ Visual FoxPro Перемены, происходящие в нашей стране в последнее время, не могли не затронуть областей информатики и вычислительной техники. Еще десять лет назад работа с базами данных была уделом профессиональных программистов. Сами системы не были предназначены для простого пользователя. Основным потребителем таких систем был военно-промышленный комплекс. С появлением банков, акционерных обществ, частных компаний базы данных нашли более широкое применение. Люди понимают, что информация - это деньги. Ее потеря или несвоевременное получение могут дорого стоить. Именно этим можно объяснить столь бурный рост информационных технологий и стремительное развитие систем управления базами данных (СУБД). Ðåëÿöèîííûå áàçû äàííûõ Первые системы управления базами данных появились в середине шестидесятых годов прошлого века и поддерживали иерархическую модель данных, в которой между записями существовали отношения предок/потомок. Спустя короткое время, были разработаны сетевые базы данных, в основу которых была заложена значительно более сложная сетевая модель. У каждой из этих моделей имелись свои достоинства и недостатки, которые сыграли ключевую роль в развитии реляционной модели. В 1970 г. статья научного сотрудника компании IBM доктора Е. Ф. Кодда о реляционной модели данных произвела революцию в подходе к хранению и обработке информации. На основе этой модели в семидесятые годы прошлого столетия были разработаны первые реляционные базы данных, а в настоящее время они рассматриваются как стандарт для современных коммерческих СУБД. В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций1, поэтому модель стала называться реляционной. Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим 1 Отношение - математический термин из теории множеств, которая легла в основу реляционной модели данных. В английском языке слову "отношение" соответствует слово "relation", отсюда название "реляция". - Ред. Ãëàâà 1 6 набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей. Например, таблица регистрации междугородних телефонных разговоров может содержать следующие сведения: Íîìåð çàêàçà Êîä óñëóãè Íîìåð òåëåôîíà Äàòà ðàçãîâîðà Êîä ãîðîäà Ïðîäîëæèòåëüíîñòü ðàçãîâîðà Ñòîèìîñòü Ïðèìå÷àíèå Записи о междугородних разговорах заносятся в книгу регистрации в табличном виде в хронологическом порядке (рис. 1.1). Каждая строка имеет одинаковую структуру и состоит из восьми полей. В рассматриваемом примере это поля: Номер заказа, Код услуги, Номер телефона, Дата разговора, Код города, Продолжительность разговора, Стоимость. Ðèñ. 1.1. Êíèãà ðåãèñòðàöèè ìåæäóãîðîäíèõ ðàçãîâîðîâ ÇÀÌÅ×ÀÍÈÅ В реляционных базах данных поля могут иметь разные типы данных (числовой, строковый, типа даты и т. п.), но для каждой записи тип данных поля остается неизменным. Одним из важных достоинств базы данных является быстрая выборка хранимой в ней информации. Используя телефонно-адресную книгу, в которой данные упорядочены по фамилиям, вы можете найти номер телефона по фамилии его владельца. Однако если записи в книге регистрации междугородних разговоров упорядочены в хронологическом порядке, вам придется потратить значительное время на получе- Çíàêîìñòâî ñ Visual FoxPro 7 ние списка клиентов, заказывавших разговор с определенным городом, или на выяснение того, в каком районе проживают абоненты, приносящие наибольшую прибыль телефонной компании своими продолжительными разговорами. На помощь приходят компьютерные базы данных. Они, несмотря на огромный объем хранящейся в них информации, обеспечивают высокую скорость поиска необходимой информации. В таких базах данных пользователь может выполнить поиск по любому интересующему его параметру. Кроме того, компьютерные базы данных очень компактны. База данных, содержащая несколько тысяч записей, может поместиться на одной дискете. Ñîâðåìåííûå ðåëÿöèîííûå ÑÓÁÄ Для создания базы данных, изменения ее структуры, редактирования и выборки данных используются системы управления базами данных. Современные реляционные системы управления базами данных содержат: набор инструментов для создания таблиц и отношений между связанными таблицами; средства администрирования базы данных; развитый пользовательский интерфейс, который позволяет получить доступ к информации, хранящейся в базе данных; средства разработки приложений, использующих базы данных. На рис. 1.2 показан пример учета междугородних телефонных разговоров с помощью двух таблиц реляционной базы данных в Visual FoxPro. Ðèñ. 1.2. Ó÷åò ìåæäóãîðîäíèõ òåëåôîííûõ ðàçãîâîðîâ ñ ïîìîùüþ ðåëÿöèîííûõ òàáëèö Ãëàâà 1 8 Ðèñ. 1.3. Îò÷åò â òàáëè÷íîì âèäå, ñîäåðæàùèé èíôîðìàöèþ î êëèåíòàõ òåëåôîííîé êîìïàíèè Ðèñ. 1.4. Èíôîðìàöèîííîå ïèñüìî, èñïîëüçóþùåå ñâåäåíèÿ èç áàçû äàííûõ Çíàêîìñòâî ñ Visual FoxPro 9 Ðèñ. 1.5. Ãðàôè÷åñêîå ïðåäñòàâëåíèå èíôîðìàöèè î êîëè÷åñòâå ìåæäóãîðîäíèõ ïåðåãîâîðîâ ïî êëèåíòàì С помощью средств СУБД вы можете: выбрать информацию, представляющую для вас интерес. Например, вы можете получить сведения обо всех междугородних разговорах определенного клиента за любой интервал времени; вывести на печать всю таблицу или только выбранные записи и поля в различных форматах. Например, на рис. 1.3 показан табличный отчет, содержащий адреса клиентов телефонной компании. На рис. 1.4 приведен один из вариантов информационного письма, содержащего имена и фамилии клиентов из той же самой таблицы; отображать информацию базы данных в графическом виде. Например, на рис. 1.5 выведены в виде диаграммы данные о количестве междугородних переговоров по клиентам; осуществлять необходимые вычисления при формировании отчетов и выборке данных из таблиц. В настоящее время имеется более десяти популярных СУБД для персональных компьютеров. Традиционно одной из наиболее распространенных в России и странах СНГ является СУБД Visual FoxPro, новая версия которой Visual FoxPro 9.0 содержит дополнения и улучшения, расширяющие возможности системы. 10 Ãëàâà 1 Îáúåêòû Visual FoxPro Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение dbf. Каждая создаваемая таблица может иметь связанные с ней индексы, используемые для упорядочения данных и быстрого поиска необходимых записей, причем одна таблица может иметь несколько индексов. Для хранения значений полей типа Memo и General применяются отдельные файлы. Memo-поля таблиц содержат текстовую информацию, а поля типа General используются, как правило, для хранения двоичной информации и данных других приложений, работающих в среде Windows. В Visual FoxPro реализованы триггеры, которые позволяют централизованно обрабатывать события, возникающие при любых изменениях в базе данных. Вы также можете создавать хранимые процедуры, которые являются частью базы данных и могут использоваться при описании таблиц, для проверки введенных данных, определения значения по умолчанию и т. п. Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы. Для отображения и редактирования данных используются формы, отчеты, запросы и программы. При создании форм, отчетов и запросов применяются конструкторы. Поэтому эти компоненты часто называют конструкторскими объектами. Формы и отчеты являются составными объектами, т. к. они состоят из более мелких объектов (таких как поля, кнопки, диаграммы, рамки, OLE-компоненты и т. п.), которые называются объектами интерфейса. Формы используются для просмотра или ввода данных в таблицы. Данные можно вводить непосредственно в таблицы, но использование формы является более быстрым и более эффективным способом ввода. Форма содержит некоторые или все поля таблиц, в которые вы вводите информацию. Для создания форм вы можете использовать мастер создания форм или конструктор форм. Мастер форм содержит целый ряд шаблонов, которые определяют соотношение между помещаемыми в форму таб- Çíàêîìñòâî ñ Visual FoxPro 11 лицами, вид отображения данных и порядок размещения полей. Для создания сложных форм применяется конструктор форм. Отчеты используются для печати содержащейся в базе данных информации. Примерами отчетов являются прайс-лист товаров, список покупателей, оборотная складская ведомость. Как правило, отчеты создаются в том случае, если информацию необходимо передавать кому-либо в печатном виде. Для создания отчетов в Visual FoxPro, как и для форм, используются мастер и конструктор отчетов. С помощью мастера отчетов вы можете быстро создать собственный отчет на основе имеющихся шаблонов. Применение конструктора отчетов позволяет создавать отчеты произвольной сложности, включая многоуровневую группировку данных и размещение вычисляемых полей. Запросы являются средством выборки данных из одной или нескольких таблиц. В Visual FoxPro для создания запроса вы можете использовать как конструктор запросов, так и специализированный язык Structured Query Language (SQL). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчетов и диаграмм или сохраняться в указанной вами таблице. Программы, написанные на языке Visual FoxPro, являются объектно-ориентированными. С помощью них вы обрабатываете события в форме, создаете объекты, осуществляете различные вычисления, управляете базой данных. Для удобства работы вы можете объединить программы в библиотеки. Для создания форм в Visual FoxPro можно использовать не только базовые классы, но и создавать собственные. Например, вы можете определить класс форм, в котором задан определенный цвет фона и стандартный набор кнопок для управления данными. Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса. Классы, созданные в Visual FoxPro, хранятся в библиотеках классов. Для объединения компонентов создаваемого приложения используется проект, в который включаются все перечисленные выше компоненты. Использование проекта упрощает разработку приложения и его сопровождение. Каждый компонент хранится в отдельном файле, причем имена файлов, содержащих основные компоненты, вы задаете самостоятельно, а наименования файлов, содержащих объекты, связанные с таблицей, совпадают с именем таблицы. В зависимости от типа содержащегося в нем объекта Visual FoxPro автоматически присваивает каждому файлу расширение, которое помогает в идентификации объекта. Список расширений файлов приведен в табл. 1.1. Òàáëèöà 1.1. Ðàñøèðåíèÿ èìåí ôàéëîâ îáúåêòîâ Visual FoxPro Íàèìåíîâàíèå îáúåêòà Ðàñøèðåíèÿ Ïðîåêò prj, fpc, cat, pjx, pjt Áàçà äàííûõ dbc Òàáëèöà Visual FoxPro dbf Ñîñòàâíîé èíäåêñíûé ôàéë cdx Memo-ïîëå è ïîëå òèïà General frt Ãëàâà 1 12 Òàáëèöà 1.1 (îêîí÷àíèå) Íàèìåíîâàíèå îáúåêòà Ðàñøèðåíèÿ Ôîðìà scx Çàïðîñ qpr Îò÷åò frx, frm Ïî÷òîâàÿ íàêëåéêà lbx, lbl Ìåíþ mnx Áèáëèîòåêà êëàññà vcx Ïðîãðàììà, áèáëèîòåêà ïðîãðàìì, òåêñò ìåíþ, prg, fxp, mpr, qpr òåêñò çàïðîñà Ðèñóíîê bmp, jpg, gif, ico, dib, cur, ani Çâóêîçàïèñü wav ×òî íîâîãî ïîÿâèëîñü â Visual FoxPro 9.0 Visual FoxPro является постоянно развивающейся системой. По сравнению с предыдущей версией, в Visual FoxPro 9.0 сделан еще один шаг в расширении функциональных возможностей системы, улучшены имеющиеся средства, касающиеся интерфейса среды разработки и обработки ошибок, добавлены новые команды, базовые классы и функции и расширены имеющиеся. Новая версия обладает всеми возможностями для работы с XML Web-сервисами, а также улучшенной совместимостью с Microsoft Visual Studio.NET и Microsoft SQL Server 2000. В Visual FoxPro расширены средства конструктора таблицы. Для полей таблиц можно использовать новые типы данных: двоичный Blob и текстовый Varbinary. Тип данных Blob используется для структур, содержащих информацию о блоке данных. Применяется для хранения двоичной информации любого типа, например, символов ASCII, исполняемых файлов, потоков байтов. Тип данных Varbinary содержит шестнадцатеричные значения. Он аналогичен типу Character, но для данных этого типа не происходит заполнения свободных мест незначащей информацией. Появился новый тип индекса Binary (Двоичный), создаваемый на основе логических выражений и используемый как для свободных таблиц, так и таблиц, входящих в базу данных. Этот индекс занимает значительно меньше места и за счет этого позволяет увеличить скорость использования индексов. У объектов, размещаемых в форме, появились новые свойства. Рассмотрим наиболее интересные. Свойство Anchor (Закреплять) устанавливает абсолютные и относительные позиции и размеры объекта относительно всех четырех сторон объекта-контейнера, решая проблему автоматического позиционирования и изменения размеров объектов на форме при изменении ее размеров при возникновении события Resize (Изменять размеры). Çíàêîìñòâî ñ Visual FoxPro 13 Свойство Rotation (Вращение) объектов типа Label, Line и Shape позволяет выводить подписи к большим объектам класса EditBox в виде текста, идущего снизу вверх. Свойство AutoComplection (Автокомплектация) объекта TextBox позволяет запоминать вводимые в поле значения и при вводе нового значения показывать этот список для облегчения ввода. Это свойство удобно использовать при вводе данных в поле, значения которого имеют небольшой набор вариантов. Свойство AutoHideScrollBar (Автоматически скрывать полосу прокрутки) объекта ListBox позволяет скрывать полосу прокрутки, когда все строки видимы, и снова ее отображать, когда не все строки помещаются в ListBox. Свойства PictureMargin (Граница изображения) и PictureSpacing (Смещение изображения) у объектов CommandButton, OptionButton и CheckBox управляют положением изображения относительно края и текста объекта. Свойство MousePointer (Указатель мыши) для столбцов (объект Column) и заголовков (объект Header) объекта Grid на этапе редактирования класса или формы устанавливает требуемый вид указателя мыши при попадании его в поле данного объекта. У команды SET PATH TO появилось свойство ADDITIVE (Добавление), которое позволяет добавлять новые пути к существующим, а длина всех путей увеличилась с 1024 до 4096. В Project Manager (Менеджер проектов) появилась возможность выполнять команду Modify (Модифицировать) при выборе библиотеки классов, а не отдельного класса этой библиотеки. При этом Visual FoxPro 9.0 запускает Class Browser с выбранной библиотекой классов. Разработчиков порадуют изменения, произошедшие в конструкторе отчетов. Настройка всех объектов (расположение объекта в полосе отчета, стиль оформления, условия печати, защита от изменения), размещаемых в отчете, осуществляется с помощью диалогового окна свойств. Все параметры самого отчета (разметка страницы, добавление в отчет областей заголовка и итогов, группирование данных, задание переменных отчета, сохранение отчета в виде класса) также задаются с помощью диалогового окна Report Properties (Свойства отчета). Изменения затронули пользовательские свойства и методы. При создании новых свойств и методов им можно присваивать значения по умолчанию/начальное значение. Расширены возможности по настройке Visual FoxPro, осуществляемой из диалогового окна Options (Параметры), которое открывается командой Options (Параметры) из меню Tools (Сервис). Увеличен список групп файлов, задаваемых вкладкой File Locations (Расположение файлов). На вкладке View (Вид) появился счетчик List display count (Количество элементов в списке), позволяющий задать максимальное количество элементов списка, отображаемых при использовании IntelliSense. Значительно расширен набор параметров, задаваемый на вкладке Reports (Отчеты). 14 Ãëàâà 1 Ãëàâà 2 Íà÷àëî ðàáîòû ñ Visual FoxPro Вы приступаете к работе с Visual FoxPro 9.0. Многое из того, с чем вам придется работать (меню, панели инструментов, диалоговые окна), покажутся знакомыми, т. к. они характерны для среды Windows. Çàïóñê Visual FoxPro Для запуска программы из главного меню Windows выполните следующие действия: 1. Нажмите кнопку Пуск, расположенную в нижней части экрана. 2. В открывшемся главном меню Windows выберите команду Программы. Появится меню данной команды. 3. Выберите в меню команду Microsoft Visual FoxPro 9.0. На экране откроется главное окно Visual FoxPro 9.0 (рис. 2.1). СОВЕТ Для более быстрого запуска программы Visual FoxPro 9.0 можно создать на рабочем столе ярлык и назначить ему клавиши быстрого вызова. Тогда достаточно будет в любом окне Windows нажать заданную комбинацию клавиш, и программа запустится. Кроме того, для удобства запуска приложения можно использовать панель Быстрый запуск системы Windows, поместив на нее значок программы Visual FoxPro. Ãëàâíîå îêíî Visual FoxPro На рис. 2.1 показано главное окно Visual FoxPro, каким оно выглядит после запуска программы. В нем можно выделить семь основных объектов: заголовок окна, строка меню, панель инструментов, строка состояния, рабочая область, командное окно Command (Команда) и диалоговое окно Task Pane Manager (Менеджер панели задач). Заголовок находится в верхней части главного окна и содержит три объекта: копию значка программы Visual FoxPro, заголовок главного окна и значки управления этим окном. Строка меню содержит иерархическое меню Visual FoxPro. Список пунктов меню зависит от типа активного окна. 16 Ãëàâà 2 Ðèñ. 2.1. Ãëàâíîå îêíî Visual FoxPro 9.0 Visual FoxPro предоставляет в распоряжение пользователя много самых разнообразных панелей инструментов для работы с базами данных, формами, отчетами и запросами. Эти панели инструментов содержат набор кнопок, причем этот набор зависит от назначения конкретной панели инструментов. После запуска Visual FoxPro на экране отображается стандартная панель инструментов. В нижней части главного окна расположена строка состояния, в которую выводится информация о текущем состоянии активного окна, краткое описание выбранной кнопки панели инструментов или пункта меню. Вид отображаемой в строке состояния информации зависит от типа активного окна. Например, в окне конструктора форм в строке состояния выводится наименование активного объекта формы, а при просмотре таблицы в режиме Browse (Просмотр) в левой части строки состояния отображается наименование открытой таблицы, в середине строки состояния - номер текущей записи и индикатор режима работы. В Visual FoxPro 9.0 в главном окне по умолчанию отображается Task Pane Manager (Менеджер панели задач). Он содержит список проектов и баз данных, открывавшихся в последнее время, команды запуска справочной системы и мастеров по созданию базы данных и проекта, примеры, которые можно использовать в разработке, полезные ссылки на сайты в Интернете. Íà÷àëî ðàáîòû ñ Visual FoxPro 17 В процессе работы в главном окне Visual FoxPro открываются окна конструкторов форм, отчетов, запросов, проекта и другие окна. Все они являются дочерними по отношению к главному окну и закрываются при его закрытии. Кроме того, если при выходе из Visual FoxPro вы не закрыли окно проекта, с которым работали, то оно откроется по умолчанию в главном окне при следующем запуске программы. Ñèñòåìíîå ìåíþ è ñèñòåìíûå êíîïêè Заголовок главного окна содержит уменьшенную копию значка программы, текст "Microsoft Visual FoxPro" и кнопки управления размерами главного окна. При щелчке на значке пиктограммы открывается системное меню, содержащее команды перемещения и изменения размеров главного окна. В табл. 2.1 приведены команды, доступные из системного меню. Òàáëèöà 2.1. Íàçíà÷åíèå êîìàíä ñèñòåìíîãî ìåíþ Êîìàíäà Íàçíà÷åíèå Âîññòàíîâèòü Âîññòàíàâëèâàåò ïðåäûäóùèé ðàçìåð îêíà ïîñëå ìèíèìèçàöèè èëè ìàêñèìèçàöèè Ïåðåìåñòèòü Àêòèâèçèðóåò ãëàâíîå îêíî Visual FoxPro è ïîçâîëÿåò ïåðåìåùàòü åãî ñ ïîìîùüþ êëàâèø ïåðåìåùåíèÿ êóðñîðà Ðàçìåð Àêòèâèçèðóåò ãëàâíîå îêíî Visual FoxPro è ïîçâîëÿåò èçìåíÿòü åãî ðàçìåðû ñ ïîìîùüþ êëàâèø ïåðåìåùåíèÿ êóðñîðà Ñâåðíóòü Ñâåðòûâàåò ãëàâíîå îêíî FoxPro äî ðàçìåðà êíîïêè è ïîìåùàåò åå íà ïàíåëü çàäà÷ Windows Ðàçâåðíóòü Ðàçâåðòûâàåò ãëàâíîå îêíî Visual FoxPro âî âåñü ýêðàí Çàêðûòü Çàêðûâàåò ãëàâíîå îêíî ïðîãðàììû Visual FoxPro СОВЕТ Для быстрого закрытия программы Visual FoxPro дважды щелкните на уменьшенной копии значка программы в заголовке главного окна. Для того чтобы быстро восстановить/развернуть главное окно, дважды щелкните по панели заголовка. Текст Microsoft Visual FoxPro заголовка главного окна в случае необходимости можно легко изменить, присвоив главному окну Visual FoxPro любое другое название или удалив название вообще. Для этого введите в командном окне следующую команду: MODIFY WINDOW SCREEN TITLE "Новый заголовок главного окна" или _SCREEN.caption = "Новый заголовок главного окна" В правой стороне заголовка расположены кнопки управления окном. Их назначение описано в табл. 2.2. 18 Ãëàâà 2 Òàáëèöà 2.2. Íàçíà÷åíèå êíîïîê óïðàâëåíèÿ îêíîì Êíîïêà Íàçâàíèå Íàçíà÷åíèå Ñâåðíóòü Ñâîðà÷èâàåò ãëàâíîå îêíî FoxPro äî ðàçìåðà êíîïêè è ïîìåùàåò åå íà ïàíåëü çàäà÷ Windows Âîññòàíîâèòü îáðàòíî Óìåíüøàåò ðàçìåð ðàçâåðíóòîãî îêíà, ïîçâîëÿÿ â äàëüíåéøåì èçìåíÿòü åãî Ðàçâåðíóòü Ðàçâåðòûâàåò ãëàâíîå îêíî Visual FoxPro âî âåñü ýêðàí Çàêðûòü Çàêðûâàåò ãëàâíîå îêíî Visual FoxPro, òåì ñàìûì ïðåêðàùàÿ ðàáîòó ïðîãðàììû Çíàêîìñòâî ñî ñòàíäàðòíîé ïàíåëüþ èíñòðóìåíòîâ Visual FoxPro В Visual FoxPro имеется большое количество панелей инструментов, используемых при создании форм, отчетов и запросов. Подробно они будут рассмотрены в соответствующих главах. Сначала изучим стандартную панель инструментов (рис. 2.2), которая используется во всех режимах работы. Ðèñ. 2.2. Ñòàíäàðòíàÿ ïàíåëü èíñòðóìåíòîâ Visual FoxPro Назначение кнопок стандартной панели инструментов описано в табл. 2.3. Òàáëèöà 2.3. Íàçíà÷åíèå êíîïîê ñòàíäàðòíîé ïàíåëè èíñòðóìåíòîâ Êíîïêà Íàçâàíèå Íàçíà÷åíèå New (Íîâûé) Ïîçâîëÿåò ñîçäàòü íîâûé ôàéë (ïðîåêò, áàçó äàííûõ, òàáëèöó, çàïðîñ, ôîðìó, îò÷åò, êëàññ) Open (Îòêðûòü) Îòêðûâàåò ñóùåñòâóþùèé ôàéë Save (Ñîõðàíèòü) Ñîõðàíÿåò îòêðûòûé ôàéë Print One Copy (Ïå÷àòàòü îäíó êîïèþ) Ïå÷àòàåò ñîäåðæèìîå àêòèâíîãî îêíà Print Preview (Ïðîñìîòð ïå÷àòè) Îòêðûâàåò îêíî ïðåäâàðèòåëüíîãî ïðîñìîòðà ïå÷àòàåìîãî äîêóìåíòà Cut (Âûðåçàòü) Óäàëÿåò âûäåëåííûé òåêñò èëè âûäåëåííûå îáúåêòû è ïîìåùàåò èõ â áóôåð Copy (Êîïèðîâàòü) Êîïèðóåò â áóôåð âûäåëåííûé òåêñò èëè âûäåëåííûå îáúåêòû, íå óäàëÿÿ èõ Paste (Âñòàâèòü) Âñòàâëÿåò ñîäåðæèìîå áóôåðà. Äåéñòâèå ýòîé êíîïêè çàâèñèò îò òîãî, â êàêîì èç ðåæèìîâ âû ðàáîòàåòå Íà÷àëî ðàáîòû ñ Visual FoxPro 19 Òàáëèöà 2.3 (îêîí÷àíèå) Êíîïêà Íàçâàíèå Íàçíà÷åíèå Undo (Îòìåíèòü) Îòìåíÿåò âûïîëíåííûå äåéñòâèÿ Redo (Âîññòàíîâèòü) Âîññòàíàâëèâàåò îòìåíåííûå äåéñòâèÿ Run (Âûïîëíèòü) Çàïóñêàåò íà âûïîëíåíèå Modify Form (Ìîäèôèöèðîâàòü ôîðìó) Ïîçâîëÿåò ìîäèôèöèðîâàòü SÑX-ôàéë, ñâÿçàííûé ñ äàííîé ôîðìîé Databases (Áàçû äàííûõ) Ñîäåðæèò ñïèñîê îòêðûòûõ áàç äàííûõ Command Window (Êîìàíäíîå îêíî) Îòêðûâàåò êîìàíäíîå îêíî Data Session Window (Îêíî ñåàíñà äàííûõ) Îòêðûâàåò îêíî Data Session Properties Window (Îêíî ñâîéñòâ) Îòêðûâàåò îêíî Properties (Ñâîéñòâà), èñïîëüçóåìîå äëÿ íàñòðîéêè ñâîéñòâ Document View Window (Îêíî ïðîñìîòðà äîêóìåíòà) Îòêðûâàåò îêíî Document View (Ïðîñìîòð äîêóìåíòà), â êîòîðîì îòîáðàæàåòñÿ ñïèñîê ïðîöåäóð, ôóíêöèé îòêðûòîé â îêíå ðåäàêòîðà ïðîãðàììû Class Browser (Îáçîð êëàññîâ) Îòêðûâàåò îêíî Class Browser (Îáçîð êëàññîâ), ïðåäíàçíà÷åííîå äëÿ ðàáîòû ñ êëàññàìè Object Browser (Îáçîð îáúåêòîâ) Îòêðûâàåò îêíî Object Browser (Îáçîð îáúåêòîâ), ïîçâîëÿþùåå ïðîñìàòðèâàòü êëàññû, ñâîéñòâà, ìåòîäû, ñîáûòèÿ è êîíñòàíòû âûáðàííûõ áèáëèîòåê Task Pane (Ïàíåëü çàäà÷) Îòêðûâàåò îêíî Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) Toolbox (Èíñòðóìåíòàðèé) Îòêðûâàåò îêíî Toolbox (Èíñòðóìåíòàðèé), ñîäåðæàùåå ýëåìåíòû, êîòîðûå èñïîëüçîâàëèñü ðàçðàáîò÷èêîì ïðè ñîçäàíèè ïðèëîæåíèÿ ЗАМЕЧАНИЕ Если по внешнему виду кнопки вы не можете определить ее назначение, установите указатель мыши на кнопку. При этом под курсором появится всплывающая подсказка с ее наименованием, а в левой части строки состояния будет выведено краткое описание указанной кнопки. По умолчанию в главном окне программы Visual FoxPro всегда присутствует стандартная панель инструментов. Если она не отображается на экране, выполните следующие действия: 1. Выберите в меню View (Вид) команду Toolbars (Панели инструментов). Откроется диалоговое окно Toolbars (рис. 2.3), в котором расположен список всех панелей инструментов программы Visual FoxPro. 20 Ãëàâà 2 2. Установите флажки слева от наименований тех панелей, которые необходимо разместить в главном окне. 3. Нажмите кнопку OK. Используя флажки, расположенные в нижней части диалогового окна Toolbars (Панели инструментов), можно изменить вид кнопок панелей инструментов. Назначение этих флажков описано в табл. 2.4. Òàáëèöà 2.4. Íàçíà÷åíèå ôëàæêîâ äèàëîãîâîãî îêíà Toolbars Óñòàíîâêà ôëàæêà Íàçíà÷åíèå Color buttons (Öâåòíûå êíîïêè) Êíîïêè íà ïàíåëè èíñòðóìåíòîâ ñòàíîâÿòñÿ öâåòíûìè Large buttons (Áîëüøèå êíîïêè) Óâåëè÷èâàåòñÿ ðàçìåð êíîïîê ToolTips (Ïîäñêàçêà) Âûâîäèòñÿ êðàòêîå îïèñàíèå êíîïêè ïðè óñòàíîâêå êóðñîðà íà íåå Ðèñ. 2.3. Äèàëîãîâîå îêíî Toolbars После установки Visual FoxPro стандартная панель инструментов размещается в верхней части главного окна, но она, как и все остальные панели инструментов, может перемещаться в любое место экрана. Для этого нужно установить курсор мыши в любое свободное от кнопок место на панели инструментов, нажать кнопку мыши и, не отпуская ее, переместить панель на новое место. Если поместить панель инструментов не по краю главного окна Visual FoxPro, то можно изменять ее размер (рис. 2.4). Íà÷àëî ðàáîòû ñ Visual FoxPro 21 Ðèñ. 2.4. Ïàíåëü èíñòðóìåíòîâ ìîæíî ðàñïîëîæèòü â ëþáîì ìåñòå ãëàâíîãî îêíà Êðàòêèé îáçîð ìåíþ Visual FoxPro При работе с Visual FoxPro можно использовать как кнопки панели инструментов, так и строку меню, все команды которого являются иерархическими. При выборе определенной команды открывается ее подменю. При отсутствии в главном окне Visual FoxPro других открытых окон, строка меню содержит пункты File (Файл), Edit (Правка), View (Вид), Tools (Инструменты), Program (Программа), Window (Окно) и Help (Справка). При открытии окон в меню добавляются команды, применимые только к объектам данного окна. Например, при работе с таблицами в главное меню добавляется пункт меню Table (Таблица), при открытии на экране формы в меню появляется пункт Form (Форма). ЗАМЕЧАНИЕ При выборе команды в строке состояния появляется ее краткое описание. 22 Ãëàâà 2 Âûïîëíåíèå êîìàíä ìåíþ Выполнение команд меню в Visual FoxPro осуществляется стандартными для Windows действиями. Перечислим возможные способы. При использовании мыши достаточно установить курсор на пункт меню, содержащий выбираемую команду, и нажать кнопку мыши. Если команда содержит подменю, следует выбрать в нем требуемую команду. При использовании клавиатуры сначала нужно активизировать строку меню нажатием клавиши или . Затем установить указатель на требуемую команду с помощью клавиш <←>, <→> , <> , <↓> и нажать . Клавиша <←> используется для перемещения на команду, находящуюся левее текущей. При нажатии на эту клавишу, когда текущая команда является самой левой, вы переместитесь в системное меню. Дальнейшее нажатие клавиши <←> установит указатель на самую правую команду строки меню. Остальные клавиши используются аналогично. Для наиболее часто выполняемых команд можно запомнить связанные с ними "горячие" клавиши, которые состоят из комбинации символа и подчеркнутого символа в имени команды. При использовании "горячих" клавиш не требуется нажимать клавишу . Îòêàç îò âûïîëíåíèÿ êîìàíäû ìåíþ Если строка меню активизирована, но необходимо отказаться от выполнения команды меню, следует воспользоваться одним из следующих способов: нажать клавишу ; щелкнуть мышью в любом свободном месте основного окна Visual FoxPro. Для возврата из подменю в меню предыдущего уровня нужно нажать клавишу . Êîìàíäû ìåíþ File Меню File (Файл) содержит команды, связанные с доступом к файлам. Эти команды позволяют создавать новые файлы разных типов, открывать существующие файлы, закрывать, сохранять и печатать их. Команда Save As HTML (Сохранить файл в формате HTML) открывает соответствующее диалоговое окно, позволяющее сохранить текущую форму, меню, отчет или таблицу в формате HTML (HyperText Markup Language). Очень удобна команда Revert (Возвратить), позволяющая отменить все изменения файла, сделанные в текущем сеансе редактирования. В нижней части меню располагаются имена последних четырех открывавшихся проектов, которые предоставляют возможность быстрого открытия любого из них. Последней командой этого меню является команда Exit (Выход). Она аналогична действию команды QUIT в командном окне и предназначена для выхода из Visual FoxPro. Êîìàíäû ìåíþ Edit Меню Edit (Правка) имеется во многих приложениях Windows. В Visual FoxPro команды этого меню используются при создании форм и отчетов и при редактировании программ. Íà÷àëî ðàáîòû ñ Visual FoxPro 23 Команды Paste Special (Специальная вставка), Insert Object (Вставить объект), Object (Объект) и Links (Связи) применимы только к полям типа General и OLE-объектам. Остальные команды применяются при редактировании как программ, так и полей таблиц. Незнакомой по другим приложениям Windows может оказаться команда Go to Line (Переход на строку), предназначенная в Visual FoxPro для работы с программами. С помощью данной команды можно переходить к строке с указанным номером в тексте программы. При вводе имени объекта, свойства, команды или функции после ввода активирующего символа (как правило, точка, пробел или открывающая скобка) команда List Members (Список значений) Visual FoxPro активизирует список допустимых значений (свойств, методов, событий и объектов) для указанного в редакторе объекта. Команда Quick Info (Быстрая информация) отображает допустимый вариант записи данной команды, функции, переменной. Последняя в меню - команда Properties (Свойства), при выборе которой открывается диалоговое окно Edit Properties (Редактирование свойств), позволяющее задавать параметры сохранения программных файлов, просматривать их свойства, дату последнего редактирования и занимаемый объем на диске. Êîìàíäû ìåíþ View Этот пункт меню содержит команды, управляющие просмотром текущего открытого файла. Если нет открытых файлов, то меню содержит всего одну команду Toolbars (Панели инструментов). Эта команда открывает диалоговое окно, в котором перечислены панели инструментов, используемые при работе в Visual FoxPro. При работе в конструкторах меню View (Вид) содержит команды, управляющие отображением используемых в данном режиме работы панелей инструментов. Так, например, при работе в конструкторе форм в меню появляются команды для выбора следующих панелей: Color Palette (Цветовая палитра), Layout (Расположение) и Form Controls (Элементы управления формы). При просмотре таблиц или редактировании форм, меню или отчетов в меню появляются дополнительные команды. Например, при работе с таблицами в меню появляется несколько новых команд. Команды Edit (Редактирование) и Browse (Обзор) переводят таблицу в режим просмотра и редактирования содержащихся в ней записей. Отличие между этими двумя командами состоит в стиле отображения содержимого таблицы. Êîìàíäû ìåíþ Format Этот пункт меню доступен при работе в конструкторе форм, отчетов, программ, текстовых файлов и этикеток. Меню Format (Формат) содержит команды, управляющие характеристиками шрифта, выравниванием текста и объектов, определением интервалов между объектами. Однако при работе с различными конструкторами становятся доступными и дополнительные команды. Êîìàíäû ìåíþ Tools Это меню содержит мастера и средства отладки программ. Первой в меню Tools (Сервис) располагается команда Wizards (Мастера), открывающая список мастеров Visual FoxPro. Мастер - это программа, которая помогает 24 Ãëàâà 2 пользователю в решении таких задач, как создание форм, отчетов, таблиц. Процесс создания при этом заключается в ответах на вопросы мастера относительно создаваемого объекта. Далее в меню расположена команда Macros (Макрос), предназначенная для создания макросов. Команда Debugger (Отладчик) предназначена для отладки программ. Она открывает диалоговое окно Visual FoxPro Debugger, в котором можно просмотреть значения переменных, элементов массива, полей, возвращаемые функциями Visual FoxPro значения и т. д. Команда Component Gallery (Галерея компонентов) открывает окно Catalogs - Component Gallery (Каталоги - Галерея компонентов) для работы в Галерее компонентов Visual FoxPro. Команда Coverage Profiler (Анализ выполнения) позволяет просмотреть информацию о выполненной программе. Команда Object Browser (Браузер объектов) открывает одноименное окно, позволяющее просматривать классы, свойства, методы, события и константы выбранных библиотек. Команда IntelliSense Manager (Менеджер IntelliSense) открывает окно настройки параметров, управляющих анализом синтаксиса вводимых в окне редактора программных конструкций. Команда Task List (Список заданий) позволяет запомнить место, в которое можно вернуться впоследствии нажатием оперативной клавиши. Кроме того, данная команда позволяет вводить список необходимых задач аналогично Microsoft Outlook. Команда Document View (Просмотр документа) открывает диалоговое окно, в котором отображается список процедур, функций, а также операторов для открытой в окне редактора программы. При выборе элемента списка осуществляется переход на этот элемент в окне редактора. Команды Task Pane (Панель задач) и Toolbox (Инструментарий) открывают соответственно диалоговые окна Task Pane Manager (Менеджер панели задач) и ToolBox (Инструментарий). Окно ToolBox (Инструментарий) отображает элементы, которые использовались при создании приложений. Последняя команда в меню Tools (Инструменты) - Options (Параметры). С ее помощью можно настраивать конфигурацию Visual FoxPro. Êîìàíäû ìåíþ Program Меню Program (Программа) содержит команды, связанные с выполнением и компиляцией программ. Êîìàíäû ìåíþ Window В меню Window (Окно) имеются команды, которые управляют открытыми на экране окнами. С помощью этих команд можно упорядочивать, скрывать, очищать окна и переходить из одного окна в другое. Кроме того, команды данного меню позволяют активизировать любое открытое окно. Команда Command Window (Командное окно) меню Window активизирует командное окно Command, позволяющее использовать команды при работе с Visual FoxPro. Íà÷àëî ðàáîòû ñ Visual FoxPro 25 Команда Properties Window (Окно свойств) открывает диалоговое окно Properties (Свойства), позволяющее просмотреть и изменить свойства объектов, расположенных в форме курсоров и отношений. Для открытия окна Data Session (Окно данных), которое содержит список всех открытых в данном сеансе таблиц и отношений между ними (рис. 2.5), используется команда Data Session (Окно данных). Ðèñ. 2.5. Îêíî Data Session ïîêàçûâàåò ðàáî÷èå îáëàñòè ñ îòêðûòûìè òàáëèöàìè è îòíîøåíèÿìè ìåæäó íèìè В центре окна Data Session (Окно данных) находятся кнопки управления таблицами. Кнопка Properties (Свойства) открывает окно, позволяющее просмотреть и изменить текущие свойства таблицы. Для открытия таблицы в новой рабочей области используется кнопка Open (Открыть). Кнопка Browse (Табличный режим) открывает таблицу для просмотра содержащихся в ней записей. Кнопка Close (Закрыть) окна Data Session (Окно данных) закрывает таблицу в текущей рабочей области, а кнопка Relations (Отношения) позволяет определить отношения между открытыми таблицами. Êîìàíäû ìåíþ Help Help (Справка) - последняя команда меню главного окна. Табл. 2.5 содержит список команд, доступных в этом меню. Òàáëèöà 2.5. Íàçíà÷åíèå êîìàíä ìåíþ Help Êîìàíäà ìåíþ Íàçíà÷åíèå Microsoft Visual FoxPro Help Îòêðûâàåò îêíî ñïðàâî÷íîé ñèñòåìû Visual FoxPro 9.0 (Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro) MSDN Search (Ïîèñê â MSDN) 1 Ïîèñê ñïðàâî÷íîé èíôîðìàöèè â MSDN1 Microsoft Developer Network, собрание документов компании Microsoft, содержащее сведения обо всех ее разработках. - Ред. 26 Ãëàâà 2 Òàáëèöà 2.5 (îêîí÷àíèå) Êîìàíäà ìåíþ Íàçíà÷åíèå Technical Support (Òåõíè÷åñêàÿ ïîääåðæêà) Îòîáðàæàåò èíôîðìàöèþ î òåõíè÷åñêîé ïîääåðæêå, îêàçûâàåìîé Microsoft Visual FoxPro on the Web (Visual FoxPro íà Web-ñòðàíèöàõ) Îòêðûâàåò Web-ñòðàíèöó Microsoft Visual FoxPro. Äëÿ èñïîëüçîâàíèÿ ýòîé êîìàíäû íåîáõîäèì äîñòóï â Èíòåðíåò About Microsoft Visual FoxPro (Î ïðîãðàììå Microsoft Visual FoxPro) Îòêðûâàåò äèàëîãîâîå îêíî About Microsoft Visual FoxPro, â êîòîðîì ñîäåðæèòñÿ èíôîðìàöèÿ îá àâòîðñêèõ ïðàâàõ íà ïðîãðàììó, íîìåð âåðñèè ïðîãðàììû è åå èäåíòèôèêàòîð, èìÿ ôàéëà ðåñóðñîâ è èñïîëüçóåìûé ïî óìîë÷àíèþ êàòàëîã.  ýòîì îêíå ìîæíî òàêæå ïîñìîòðåòü ðàçíîîáðàçíóþ èíôîðìàöèþ î êîìïüþòåðå, ðåñóðñàõ ñèñòåìû Âûõîä èç Visual FoxPro Чтобы завершить работу с программой Visual FoxPro, необходимо ее закрыть. Для этого можно воспользоваться одним из следующих способов: выбрать в меню File (Файл) команду Exit (Выход); выбрать команду Закрыть в системном меню главного окна Visual FoxPro; дважды щелкнуть на значке Visual FoxPro в заголовке главного окна; ввести в командном окне команду QUIT. Если форма, отчет, запрос или какой-либо другой объект приложения не сохранен, Visual FoxPro предложит сохранить его. Для этого на экране появляется диалоговое окно, аналогичное представленному на рис. 2.6. Ðèñ. 2.6. Äèàëîãîâîå îêíî, ïîÿâëÿþùååñÿ ïðè ïîïûòêå âûõîäà èç Visual FoxPro áåç ñîõðàíåíèÿ èíôîðìàöèè Для продолжения операции следует нажать одну из кнопок (табл. 2.6.). Òàáëèöà 2.6. Íàçíà÷åíèå êíîïîê äèàëîãîâîãî îêíà, ïîÿâëÿþùåãîñÿ ïðè ïîïûòêå âûõîäà èç Visual FoxPro áåç ñîõðàíåíèÿ èíôîðìàöèè Êíîïêà Íàçíà÷åíèå Yes (Äà) Ñîõðàíåíèå ôàéëà è âûõîä èç Visual FoxPro; åñëè ôàéëó åùå íå ïðèñâîåíî èìÿ, Visual FoxPro îòêðûâàåò äèàëîãîâîå îêíî Save As (Ñîõðàíèòü Êàê) No (Íåò) Âûõîä èç Visual FoxPro áåç ñîõðàíåíèÿ ôàéëà Cancel (Îòìåíà) Çàêðûòèå òåêóùåãî äèàëîãîâîãî îêíà è âîçâðàùåíèå â Visual FoxPro Íà÷àëî ðàáîòû ñ Visual FoxPro 27 Ìåíåäæåð ïàíåëè çàäà÷ В Visual FoxPro 9.0 имеется менеджер задач, призванный облегчить разработку приложения. Содержащиеся в его окне ссылки позволяют запустить мастера создания приложения и базы данных, открыть справочную систему, приложение или базу данных из списка открывавшихся в последнее время приложений или баз данных и многое другое. Для открытия окна менеджера панели задач Task Pane Manager (Менеджер панели задач) (рис. 2.7) можно воспользоваться одним из следующих способов: выбрать в меню Tools (Сервис) команду Task Pane (Панель задач); нажать кнопку Task Pane (Панель задач) стандартной панели инструментов. Кроме того, окно менеджера задач открывается в главном окне Visual FoxPro каждый раз после запуска, если в диалоговом окне Task Pane Options (Параметры панели задач) установлен флажок Open the Task Pane Manager when Visual FoxPro starts (Открывать панель менеджера задач при запуске Visual FoxPro). Ðèñ. 2.7. Îñíîâíàÿ ñòðàíèöà äèàëîãîâîãî îêíà Task Pane Manager Панель инструментов (табл. 2.7). менеджера содержит кнопки следующего назначения 28 Ãëàâà 2 Òàáëèöà 2.7. Íàçíà÷åíèå êíîïîê ïàíåëè èíñòðóìåíòîâ Task Pane Manager Êíîïêà Íàçíà÷åíèå Îòêðûâàåò îñíîâíóþ ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, ñîäåðæàùóþ ñïèñîê íåäàâíî èñïîëüçóåìûõ ïðîåêòîâ è áàç äàííûõ, êíîïêè äëÿ ñîçäàíèÿ íîâûõ, à òàêæå ññûëêè, ñîäåðæàùèå èíôîðìàöèþ î Microsoft Visual FoxPro Îòîáðàæàåò â îêíå ìåíåäæåðà ïàíåëè çàäà÷ ññûëêè íà îñíîâíûå ñàéòû ñ èíôîðìàöèåé è ïîñëåäíèìè íîâîñòÿìè î Visual FoxPro Ïîçâîëÿåò îïðåäåëèòü íàñòðîéêè ñðåäû Visual FoxPro è ñâÿçàòü ñîáñòâåííûé ïðîåêò ñ íèìè Ñîäåðæèò ñïèñîê ïðèìåðîâ èñïîëüçîâàíèÿ ýëåìåíòîâ Visual FoxPro Îòêðûâàåò ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, êîòîðàÿ ïîìîãàåò â èñïîëüçîâàíèè ñóùåñòâóþùèõ XML Web-ñåðâèñîâ è ñîçäàíèè íîâûõ Ïðåäíàçíà÷åíà äëÿ ïîèñêà ôàéëîâ íà êîìïüþòåðå, íå âûõîäÿ èç Microsoft Visual FoxPro Ïðîâîäíèê äàííûõ. Ïîçâîëÿåò ïðîñìàòðèâàòü ïåðå÷åíü óñòàíîâëåííûõ ñîåäèíåíèé ê áàçàì äàííûõ, äîáàâëÿòü íîâûå ñîåäèíåíèÿ Çàïóñêàåò èãðó Minesweeper (Ñàïåð) Îáíîâëÿåò ñîäåðæèìîå äèàëîãîâîãî îêíà Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) Îòêðûâàåò äèàëîãîâîå îêíî Task Pane Options (Ïàðàìåòðû ïàíåëè çàäà÷), ïîçâîëÿþùåå íàñòðîèòü ïàðàìåòðû êàê ñòàíäàðòíîé, òàê è èíäèâèäóàëüíî ñîçäàííîé ïàíåëè çàäà÷ Основная страница менеджера панели задач (см. рис. 2.7), открываемая при нажатии на панели инструментов кнопки Start (Начало), содержит ссылки (табл. 2.8). Òàáëèöà 2.8. Íàçíà÷åíèå ññûëîê ñòðàíèöû Start Ññûëêà Íàçíà÷åíèå What’s new in Visual FoxPro? Îòêðûâàåò îêíî ñïðàâî÷íîé ñèñòåìû íà ñòðàíèöå, îïèñû(×òî íîâîãî â Visual FoxPro?) âàþùåé íîâûå âîçìîæíîñòè Visual FoxPro 9.0 Customize my development Îòêðûâàåò ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, ñîäåðæàùóþ environment (Íàñòðîèòü ñðåäó íàñòðîéêè ñðåäû Visual FoxPro ðàçðàáîòêè) Create a new application (Ñîç- Çàïóñêàåò ìàñòåðà ñîçäàíèÿ ïðîåêòà äàòü íîâûé ïðîåêò) Create a new database (Ñîç- Çàïóñêàåò ìàñòåðà ñîçäàíèÿ áàçû äàííûõ äàòü íîâóþ áàçó äàííûõ) Go to the Visual FoxPro web Îòêðûâàåò îôèöèàëüíûé ñàéò Microsoft Visual FoxPro. Äàííàÿ site (Ïåðåéòè íà ñàéò Visual âîçìîæíîñòü äîñòóïíà ïðè ïîäêëþ÷åíèè êîìïüþòåðà ê Èíòåðíåòó FoxPro) Íà÷àëî ðàáîòû ñ Visual FoxPro 29 Òàáëèöà 2.8 (îêîí÷àíèå) Ññûëêà Íàçíà÷åíèå Manage (Óïðàâëÿòü) Îòêðûâàåò äèàëîãîâîå îêíî My Tools (Ìîè èíñòðóìåíòû) Open Project (Îòêðûòü ïðîåêò) Îòêðûâàåò äèàëîãîâîå îêíî Open (Îòêðûòü) äëÿ âûáîðà íåîáõîäèìîãî ïðîåêòà New Project (Íîâûé ïðîåêò) Îòêðûâàåò äèàëîãîâîå îêíî Create (Ñîçäàòü) äëÿ ñîçäàíèÿ íîâîãî ïðîåêòà Open Database (Îòêðûòü áàçó Îòêðûâàåò äèàëîãîâîå îêíî Open (Îòêðûòü) äëÿ âûáîðà íåäàííûõ) îáõîäèìîé áàçû äàííûõ New Database äàííûõ) (Íîâàÿ áàçà Îòêðûâàåò äèàëîãîâîå îêíî Create (Ñîçäàòü) äëÿ ñîçäàíèÿ íîâîé áàçû äàííûõ Для настройки параметров менеджера панели задач используется диалоговое окно Task Pane Options (Параметры панели задач) (рис. 2.8), открываемое нажатием кнопки Options (Параметры) панели инструментов. Ðèñ. 2.8. Äèàëîãîâîå îêíî Task Pane Options В левой части окна Task Pane Options (Параметры панели задач) находятся папки для настройки страниц диалогового окна Task Pane Manager (Менеджер панели задач). Общие параметры настраиваются с помощью папки Task Pane Manager (Менеджер панели задач), которая содержит три раздела General (Общие), Proxy Server (Прокси сервер) и Customize (Пользовательские). При выборе пункта General (Общие) 30 Ãëàâà 2 (см. рис. 2.8) в правой части окна появляется список Pane (Панель), из которого выбирается страница, отображаемая при открытии менеджера панели задач, и опции, задающие частоту обновления информации из Интернета (табл. 2.9). Расположенный ниже флажок Open the Task Pane Manager when Visual FoxPro starts (Открывать менеджер панели задач при запуске Visual FoxPro) указывает, надо ли запускать менеджер панели задач при запуске Visual FoxPro. Òàáëèöà 2.9. Îïöèè íàñòðîéêè ÷àñòîòû îáíîâëåíèÿ èíôîðìàöèè èç Èíòåðíåòà Ññûëêà Íàçíà÷åíèå Every time you start the Task Pane Îáíîâëÿåò ñîäåðæèìîå ìåíåäæåðà ïàíåëè çàäà÷ Manager (Êàæäûé ðàç ïðè çàïóñêå êàæäûé ðàç ïðè åãî çàïóñêå ìåíåäæåðà ïàíåëè çàäà÷) Every time the pane is loaded (Êàæäûé Îáíîâëÿåò ñòðàíèöó, ñîäåðæàùóþ èíôîðìàöèþ èç ðàç ïðè çàãðóçêå ïàíåëè) Èíòåðíåòà, ïðè êàæäîì åå îòêðûòèè Every x days (Êàæäûå x äíåé) Îñóùåñòâëÿåò îáíîâëåíèå èíôîðìàöèè êàæäûå x äíåé, çàäàííûõ ñ ïîìîùüþ ñ÷åò÷èêà Never (Íå îáíîâëÿòü) Íå îáíîâëÿåò ñîäåðæèìîå äèàëîãîâîãî îêíà Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) ЗАМЕЧАНИЕ Обновление содержимого диалогового окна Task Pane Manager (Менеджер панели задач) можно осуществить с помощью кнопки Refresh (Обновить), расположенной на панели инструментов. Можно создать свою панель задач, изменить существующую или установить панель задач с диска. Для этого необходимо выполнить следующие действия: 1. В окне Task Pane Manager (Менеджер панели задач) нажмите кнопку Options (Параметры) панели инструментов. 2. В левой части открывшегося окна Task Pane Options (Параметры панели задач) выберите папку Task Pane Manager (Менеджер панели задач), а затем пункт Customize (Настроить). 3. На открывшейся страничке нажмите одну из следующих кнопок: Install Pane (Установить панель) - устанавливает новую панель; Customize Pane (Настроить панель) - изменяет существующую или создает новую панель. Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro При разработке приложений в Visual FoxPro, как и в любой другой системе, неоднократно возникает необходимость просмотра возможностей средств программирования, отдельных команд и функций. В Visual FoxPro, кроме традиционной справочной системы, можно найти интересующую информацию во встроенной документации, многочисленных примерах, а также на Web-страницах. Все эти средства выбираются из меню Help (Справка). Íà÷àëî ðàáîòû ñ Visual FoxPro 31 Подобно большинству наиболее популярных программ Visual FoxPro имеет контекстнозависимую справочную систему, т. е. можно получить справку по применению средства, с которым вы работаете в настоящий момент. Для этого можно воспользоваться одним из следующих способов: выбрать в меню Help (Справка) команду Microsoft Visual FoxPro Help (Справочная система Visual FoxPro); в диалоговом окне Task Pane Manager (Менеджер панели задач) выбрать ссылку What’s new in Visual FoxPro? (Что нового в Visual FoxPro?); нажать в любой момент сеанса работы с Visual FoxPro. Справочная система выберет раздел справочника, касающийся информации о текущей операции; некоторые из диалоговых окон содержат кнопку Help (Справка) на панели инструментов или непосредственно в окне. Если кнопка Help (Справка) была нажата при работе в одном из них, Visual FoxPro сообщит о том, как пользоваться этим диалоговым окном (рис. 2.9). Ðèñ. 2.9. Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro ïîäñêàçûâàåò, êàê ðàáîòàòü ñ òåêóùèì äèàëîãîâûì îêíîì Îêíî ñïðàâî÷íîé ñèñòåìû На рис. 2.10 представлено окно справочной системы Visual FoxPro, открывающееся при выборе в меню Help (Справка) команды Microsoft Visual FoxPro Help (Справочная система Visual FoxPro). 32 Ãëàâà 2 Ðèñ. 2.10. Îêíî ñïðàâî÷íîé ñèñòåìû Microsoft Visual FoxPro 9.0 Это окно разделено на две области. В левой области окна справочной системы расположены четыре вкладки, на которых осуществляется поиск требуемой информации. Правая область окна содержит информацию выбранного раздела. С помощью курсора можно управлять шириной областей окна справки. Для этого нужно выполнить следующие действия: 1. Установить курсор на разделительную полосу между областями. 2. Когда курсор примет вид двунаправленной стрелки, нажать левую кнопку мыши и, удерживая ее в нажатом состоянии, переместить в ту или иную сторону в зависимости от того, какую область надо расширить. 3. После задания нужного размера области отпустить кнопку мыши. Окно справочной системы имеет панель инструментов. Левая область окна справочной системы содержит четыре вкладки, предназначенные для упрощения поиска необходимой информации (табл. 2.10). Òàáëèöà 2.10. Íàçíà÷åíèå âêëàäîê, ïðåäíàçíà÷åííûõ äëÿ óïðîùåíèÿ ïîèñêà èíôîðìàöèè Âêëàäêà Íàçíà÷åíèå Ñîäåðæàíèå Ïîèñê èíôîðìàöèè ïî îãëàâëåíèþ ñïðàâî÷íîé ñèñòåìû Óêàçàòåëü Ïîèñê òåì ïî íà÷àëüíûì áóêâàì íàçâàíèÿ òåìû Ïîèñê Ïîèñê êëþ÷åâûõ ñëîâ è ôðàç â òåìàõ Èçáðàííîå Ñîäåðæèò èçáðàííûå òåìû ñïðàâî÷íîé ñèñòåìû Рассмотрим более подробно работу с вкладками справочной системы. Íà÷àëî ðàáîòû ñ Visual FoxPro 33 Èñïîëüçîâàíèå âêëàäêè Ñîäåðæàíèå Первой вкладкой окна справочной системы является вкладка Содержание (см. рис. 2.10). Эта вкладка реализует наиболее традиционный подход к получению справочной информации. Вкладка Содержание включает перечень разделов справочной системы. Перед наименованием каждого раздела отображается значок. В начальный момент все разделы закрыты, чему соответствует значок закрытой книги. Для открытия какого-либо из разделов нужно установить курсор на открываемый раздел и нажать кнопку мыши. В результате значок примет вид открытой книги. При повторном нажатии кнопки мыши на значке открытой книги раздел закрывается. Открытый раздел может содержать подразделы и темы (рис. 2.11). Теме соответствует значок со знаком вопроса. Для вывода содержимого определенной темы в правой области окна справки необходимо установить курсор на ее название или соответствующий ей значок и нажать кнопку мыши. Ðèñ. 2.11. Ïåðåìåùàÿñü ïî èåðàðõèè íà âêëàäêå Ñîäåðæàíèå, ìîæíî íàéòè ðàçäåë ñ íóæíîé ñïðàâî÷íîé èíôîðìàöèåé Можно последовательно получить справку по нескольким темам одного раздела, не прибегая к помощи кнопок справочной системы, поскольку в тексте справки имеются ссылки, по которым может быть осуществлен переход. 34 Ãëàâà 2 Ïîèñê ñïðàâêè ïî ïðåäìåòíîìó óêàçàòåëþ Для поиска справки по предметному указателю используется вкладка Указатель (рис. 2.12) окна справочной системы. В верхней части вкладки расположено поле, предназначенное для ввода ключевого слова, по которому будет осуществляться поиск. Ниже него находится список ключевых слов, упорядоченный по алфавиту. По мере ввода букв в поле ввода в списке ключевых слов появляются разделы, первые буквы названий которых совпадают с уже введенными буквами. Ðèñ. 2.12. Âêëàäêà Óêàçàòåëü äëÿ ïîèñêà ðàçäåëà ïî íà÷àëüíûì áóêâàì íàçâàíèÿ òåìû Можно просто просмотреть список ключевых слов с помощью полосы прокрутки, выделить нужный раздел, а затем нажать кнопку Показать. В правой области окна появится текст справки. Для поиска информации с использованием вкладки Указатель следует ввести начальные буквы темы, которую надо найти. В качестве примера было введено properties (рис. 2.12). Если справочная система обнаружит в списке названия темы, начинающиеся с указанной буквы, они будут выделены цветом или яркостью. Если условию поиска удовлетворяет несколько тем, появится окно Найденные разделы (рис. 2.13) со списком разделов. Из этого списка выбирается нужная тема и нажимается кнопка Показать. Информация об указанной теме будет выведена в правой области окна справочной системы. Íà÷àëî ðàáîòû ñ Visual FoxPro 35 Ðèñ. 2.13. Äèàëîãîâîå îêíî Íàéäåííûå ðàçäåëû Èñïîëüçîâàíèå âêëàäêè Ïîèñê Для поиска по ключевым словам и фразам используется вкладка Поиск. В поле ввода Искать следующие слова вводится слово или фраза, предназначенная для поиска. Если требуется найти фразу, нужно заключить ее в одинарные или двойные кавычки. При поиске можно использовать также знаки "?" (для обозначения одного произвольного символа) и "*" (для обозначения любого количества символов). Кроме того, для поиска можно использовать логические выражения, составленные из слов, с применением логических операторов, представленных в табл. 2.11. Òàáëèöà 2.11. Ëîãè÷åñêèå îïåðàòîðû, èñïîëüçóåìûå ïðè ïîñòðîåíèè âûðàæåíèé äëÿ ïîèñêà Îïåðàòîð Ïðèìåð âûðàæåíèÿ äëÿ ïîèñêà Ðåçóëüòàò AND properties AND form Îòîáðàæàþòñÿ òîëüêî òå òåìû ñïðàâêè, êîòîðûå ñîäåðæàò îáà ñëîâà èëè properties & form OR properties OR form èëè Îòîáðàæàþòñÿ òåìû ñïðàâêè, â êîòîðûõ ñîäåðæèòñÿ ëþáîå èç äâóõ ñëîâ properties | form NEAR properties NEAR form Îòîáðàæàþòñÿ òåìû ñïðàâêè, â êîòîðûõ ïåðâîå ñëîâî íàõîäèòñÿ ðÿäîì ñî âòîðûì ñëîâîì â ïðåäåëàõ âîñüìè ñîñåäíèõ ñëîâ NOT properties NOT form Âûáèðàþòñÿ òîëüêî òå òåìû ñïðàâêè, â êîòîðûõ ñîäåðæèòñÿ ïåðâîå ñëîâî è íå ñîäåðæèòñÿ ñëîâî, ðàñïîëîæåííîå ïîñëå îïåðàòîðà NOT èëè properties ! form Построив выражение для поиска, необходимо нажать кнопку Разделы. Начнется поиск разделов, содержащих заданное выражение, и на вкладке Поиск в таблице Раздел отобразится их список. 36 Ãëàâà 2 Ðèñ. 2.14. Ïîèñê ïî êëþ÷åâûì ñëîâàì Таблица Раздел состоит из трех столбцов. Столбец Заголовок содержит заголовки найденных тем справочной системы, столбец Местонахождение - информацию о местонахождении темы справки, а столбец Ранг - частоту вхождения элемента поиска. В окончательном списке тем будут отражены первые 500 тем справок, удовлетворяющих заданному условию поиска. Для упорядочения тем справок таблицы Раздел можно использовать заголовки столбцов таблицы. Для этого нужно щелкнуть на заголовке того столбца, по которому следует осуществить упорядочение. Из списка найденных тем выбирается нужная и нажимается кнопка Показать. В правой области окна справки будет выведена информация по данной теме (рис. 2.14). В тексте темы справки можно выделить те слова, которые были заданы для поиска. Для этого на панели инструментов нужно нажать кнопку Параметры и выбрать из появившегося списка команду Подсвечивание результатов. Для определения параметров поиска на вкладке добавлены флажки, при установке которых пользователю предоставляются дополнительные возможности (табл. 2.12). Òàáëèöà 2.12. Íàçíà÷åíèå ôëàæêîâ äëÿ îïðåäåëåíèÿ ïàðàìåòðîâ ïîèñêà Ôëàæîê Íàçíà÷åíèå Ïðåäûäóùèé ïîèñê Ïîèñê ñðåäè òåì ñïðàâî÷íîé ñèñòåìû, êîòîðûå áûëè îòîáðàíû â ïðåäûäóùåì ïîèñêå Ïîõîæèå ñëîâà Ïîèñê íå òîëüêî ñëîâ, çàäàííûõ â âûðàæåíèè ïîèñêà, íî è ïîõîæèõ íà íèõ Òîëüêî â çàãîëîâêàõ Ïîèñê òîëüêî â çàãîëîâêàõ òåì ñïðàâîê Íà÷àëî ðàáîòû ñ Visual FoxPro 37 Âêëàäêà Èçáðàííîå Вкладка Избранное позволяет сформировать список наиболее часто используемых тем справочной системы, выбор которых должен осуществляться достаточно просто. По умолчанию данная вкладка пуста. Для добавления темы справки на вкладку Избранное необходимо выполнить следующие действия: 1. Используя другие вкладки окна справочной системы, найти тему, название которой нужно расположить на данной вкладке. 2. Отобразить найденную информацию в правой области окна справки. 3. Перейти на вкладку Избранное. Название просматриваемой темы отображается в поле Текущий раздел данной вкладки. 4. Нажать кнопку Добавить. Наименование текущей темы справочной системы будет добавлено в список избранных тем. Аналогичным образом можно добавить в данную область все необходимые разделы справочной системы. Для удаления разделов с этой вкладки используется кнопка Удалить. Ïðîñìîòð ñïðàâî÷íîé èíôîðìàöèè â Èíòåðíåòå Справочная система Visual FoxPro содержит огромный объем информации, необходимой для разработки приложений. Для получения последних новостей о Visual FoxPro Ðèñ. 2.15. Ñòðàíèöà íîâîñòåé Visual FoxPro 38 Ãëàâà 2 можно открыть соответствующую Web-страницу непосредственно из главного окна Visual FoxPro. Для этого предназначена команда Microsoft on the Web (Visual FoxPro на Web-страницах) меню Help. ЗАМЕЧАНИЕ Просмотр Web-страниц невозможен, если нет доступа к Интернету. Для получения доступа необходимо установить на компьютере модем и зарегистрироваться у местного провайдера услуг Интернета. На рис. 2.15 приведена страница новостей Visual FoxPro, поддерживаемая Microsoft. В левой части расположены разделы, посвященные Visual FoxPro. После щелчка на названии интересующего раздела начнет загружаться Web-страница, содержащая информацию по данному разделу. Ãëàâà 3 Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ При создании приложения используется проект, который объединяет элементы приложения Visual FoxPro и группирует их по типам. Информация о проекте хранится в специальной таблице, которая в отличие от обычных таблиц Visual FoxPro имеет расширение pjx. Memo-поля таблицы содержат наименование элемента проекта, его описание и другие текстовые атрибуты. Файл с Memo-полями таблицы имеет расширение pjt. Использование проекта упрощает разработку приложения, т. к. в проекте базы данных, программы, формы, отчеты, запросы и другие элементы приложения располагаются в соответствующих разделах, а также запоминается расположение каждого включенного в проект элемента. Создав проект и определив входящие в него элементы, можно использовать его для сборки приложения, построив файл с расширением app, или для создания исполняемого файла с расширением exe. При построении приложения из проекта осуществляется поиск и сборка файлов, на которые ссылаются элементы приложения, отслеживаются версии файлов, входящих в проект. Ñîçäàíèå ïðîåêòà ïðèëîæåíèÿ Приступая к разработке нового приложения, прежде всего, нужно создать проект приложения. В дальнейшем в него добавляются различные элементы приложения. Для создания нового проекта можно использовать мастер Application Wizard (Мастер приложения) или команду New (Новый) меню File (Файл). При выполнении команды New (Новый) на экране открывается соответствующее диалоговое окно с перечислением всех типов элементов приложения, которые возможны в Visual FoxPro (рис. 3.1). По умолчанию установлена опция Project (Проект). Для создания нового проекта выполните следующие действия: 1. Нажмите кнопку New file (Новый файл). 1. В поле ввода Enter project file (Введите имя проекта) диалогового окна Create (Создать) задайте имя создаваемого проекта, убедившись, что в поле Тип файла установлен тип сохраняемого файла Project (Проект), а в поле Папка правильно выбрана папка, в которой будет располагаться проект (рис. 3.2). 2. Для сохранения созданного проекта нажмите кнопку Сохранить. Visual FoxPro создаст файлы проекта и запишет их в указанное место. После этого откроется окно проекта Project Manager (Менеджер проекта) (рис. 3.3). 40 Ãëàâà 3 Ðèñ. 3.1. Äèàëîãîâîå îêíî New, â êîòîðîì ìîæíî óêàçàòü òèï ñîçäàâàåìîãî ôàéëà Ðèñ. 3.2. Äèàëîãîâîå îêíî Create äëÿ çàäàíèÿ èìåíè ñîçäàâàåìîãî ïðîåêòà Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 41 Ðèñ. 3.3. Îêíî ïðîåêòà Project Manager В верхней части окна проекта находятся вкладки, которые управляют отображением определенных типов файлов проекта, значительно облегчая разработку приложения (табл. 3.1). Òàáëèöà 3.1. Âêëàäêè îêíà Project Manager Âêëàäêà Îòîáðàæàåìûå ôàéëû All (Âñå) Âñå ôàéëû Data (Äàííûå) Áàçû äàííûõ, òàáëèöû, çàïðîñû, ïðåäñòàâëåíèÿ äàííûõ, õðàíèìûå ïðîöåäóðû Documents (Äîêóìåíòû) Ôîðìû, îò÷åòû è ýòèêåòêè Classes (Êëàññû) Êëàññû Code (Êîäû) Ïðîãðàììû è áèáëèîòåêè Other (Îñòàëüíûå) Ìåíþ, òåêñòîâûå è ãðàôè÷åñêèå ôàéëû, êëàâèøíûå ìàêðîêîìàíäû В Visual FoxPro используется иерархическое отображение элементов проекта. На самом верхнем уровне находятся категории элементов проекта: Data (Данные), 42 Ãëàâà 3 Documents (Документы), Class Libraries (Библиотеки классов), Code (Исходный код) и Other (Другие). ЗАМЕЧАНИЕ Для каждой категории элементов в окне проекта имеется отдельная вкладка. На следующем уровне находятся типы файлов данной категории. Например, для категории Documents (Документы) имеются следующие типы файлов: Forms - формы; Reports - отчеты; Labels - этикетки. Некоторые типы файлов могут иметь последующие уровни иерархии. Например, база данных может содержать таблицы, представления данных, а каждая таблица - поля. Каждый иерархический список может находиться в свернутом или развернутом состоянии. Если элемент иерархического списка содержит элементы следующего уровня, то в свернутом состоянии с левой стороны наименования элемента отображается знак плюс. На рис. 3.3 видно, что все элементы списка кроме Class Libraries (Библиотеки классов) содержат вложенные уровни элементов. Для раскрытия списка элементов следующего уровня необходимо щелкнуть мышью на знаке плюс. При раскрытии списка знак плюс изменяется на знак минус. На рис. 3.4 приведен пример иерархического списка Data (Данные), имеющего глубину в четыре уровня. Для свертывания вложенного списка элементов необходимо щелкнуть мышью на знаке минус. В окне проекта имеется одна очень интересная и полезная кнопка. Расположена она в правом верхнем углу окна проекта и содержит направленную вверх стрелку. При нажатии на эту кнопку окно проекта сворачивается, остаются видимыми только наименования вкладок, а значок кнопки меняется на стрелку, направленную вниз. Тем самым на экране освобождается место для других окон (рис. 3.5). При этом вкладки проекта остаются активными, и при нажатии на них открывается часть окна проекта, содержащая информацию выбранной вкладки (рис. 3.6). Для возврата окна проекта в развернутый вид нажмите кнопку, содержащую стрелку, направленную вниз. Visual FoxPro предоставляет возможность перемещать открытую вкладку по экрану. Для этого нужно щелкнуть на ярлыке и, не отпуская кнопки мыши, переместить вкладку в любое место главного окна Visual FoxPro (рис. 3.7). Кроме того, можно изменять размеры вкладки. Для этого необходимо выполнить следующие действия: 1. Поместить курсор в нижний правый угол. 2. Когда курсор примет вид двунаправленной стрелки, нажать левую кнопку мыши и, удерживая ее в нажатом состоянии, переместить в ту или иную сторону. 3. После задания нужного размера области отпустить кнопку мыши. Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ Ðèñ. 3.4. Èåðàðõè÷åñêèé ñïèñîê ýëåìåíòîâ ïðîåêòà Ðèñ. 3.5. Ñâåðíóòîå îêíî ïðîåêòà 43 44 Ãëàâà 3 Ðèñ. 3.6. Îäíà âêëàäêà ïðîåêòà ðàñêðûòà Ðèñ. 3.7. Ïåðåìåùåíèå îòêðûòûõ âêëàäîê ïî ýêðàíó Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 45 Óïðàâëåíèå ïðîåêòîì ñ ïîìîùüþ ìåíþ При открытии окна проекта в основное меню Visual FoxPro добавляется новый пункт меню Project (Проект), который содержит команды, позволяющие работать с файлами, входящими в проект. Назначение этих команд описано в табл. 3.2. Òàáëèöà 3.2. Íàçíà÷åíèå êîìàíä ìåíþ Project Êîìàíäà Íàçíà÷åíèå New File (Íîâûé ôàéë) Ñîçäàåò íîâûé ôàéë, êîòîðûé àâòîìàòè÷åñêè äîáàâëÿåòñÿ â ïðîåêò Add File (Äîáàâèòü ôàéë) Äîáàâëÿåò ñîçäàííûå ðàíåå ôàéëû â ïðîåêò Modify File (Èçìåíèòü ôàéë) Îòêðûâàåò âûáðàííûé ôàéë ïðîåêòà äëÿ ðåäàêòèðîâàíèÿ Browse File (Ïðîñìîòð ôàéëà â òàáëè÷íîì âèäå) Îòêðûâàåò òàáëèöó â ðåæèìå ïðîñìîòðà Preview File (Ïðîñìîòð ôàéëà) Îòêðûâàåò ôàéë (íàïðèìåð, îò÷åò) â îêíå ïðåäâàðèòåëüíîãî ïðîñìîòðà Run File (Âûïîëíèòü ôàéë) Çàïóñêàåò ôàéë íà âûïîëíåíèå Remove File (Óäàëèòü ôàéë) Óäàëÿåò ôàéë èç ïðîåêòà Rename File (Ïåðåèìåíîâàòü ôàéë) Ïåðåèìåíîâûâàåò ôàéë, âõîäÿùèé â ïðîåêò Exclude (Èñêëþ÷èòü) Èñêëþ÷àåò ôàéë èç ïðîåêòà Include (Âêëþ÷èòü) Âêëþ÷àåò ôàéë â ïðîåêò Set Main (Îñíîâíàÿ ïðîãðàììà) Óñòàíàâëèâàåò ôàéë â êà÷åñòâå îñíîâíîé ïðîãðàììû ïðîåêòà Edit Description (Ïðàâêà îïèñàíèÿ) Îòêðûâàåò îêíî ðåäàêòèðîâàíèÿ îïèñàíèÿ ôàéëà Project Info (Èíôîðìàöèÿ ïðîåêòà) Îòîáðàæàåò èíôîðìàöèþ î ïðîåêòå è âõîäÿùèõ â íåãî ôàéëàõ Errors (Îøèáêè) Îòîáðàæàåò îøèáêè, âîçíèêøèå ïðè ïîñòðîåíèè ïðîåêòà Build (Ïîñòðîèòü) Ñòðîèò ïðèëîæåíèå èëè ïåðåñòðàèâàåò ïðîåêò Refresh (Îáíîâèòü) Îáíîâëÿåò èíôîðìàöèþ â îêíå ïðîåêòà Clean Up Project (Î÷èñòèòü) Î÷èùàåò ïðîåêò, óáèðàÿ èç íåãî óäàëåííûå ôàéëû Для работы с файлами проекта можно использовать контекстное меню, раскрываемое при нажатии на нем правой кнопки мыши (рис. 3.8) и содержащее некоторые команды меню Project (Проект), а также команду Expand All (Раскрыть все), раскрывающую все уровни вложенности данных в окне Project Manager (Менеджер проекта). 46 Ãëàâà 3 Ðèñ. 3.8. Êîíòåêñòíîå ìåíþ äëÿ âûáðàííîãî ôàéëà ïðîåêòà Óïðàâëåíèå ýëåìåíòàìè ïðîåêòà Для управления элементами проекта используются кнопки, расположенные в правой части окна проекта. Часть кнопок можно применять при работе с файлами всех типов, а часть - только с определенными. В табл. 3.3. приведен список кнопок, которые можно использовать для всех типов файлов проекта. Òàáëèöà 3.3. Íàçíà÷åíèå êíîïîê îêíà ïðîåêòà Êíîïêà Íàçíà÷åíèå New (Íîâûé) Ñîçäàåò íîâûé ôàéë, êîòîðûé àâòîìàòè÷åñêè äîáàâëÿåòñÿ â ïðîåêò Add (Äîáàâèòü) Äîáàâëÿåò ñîçäàííûé ðàíåå ôàéë â ïðîåêò Modify (Èçìåíèòü) Èçìåíÿåò âûáðàííûé ôàéë ïðîåêòà Remove (Óäàëèòü) Óäàëÿåò ôàéë èç ïðîåêòà Для исполняемых файлов (формы, запросы, программы и меню) может использоваться кнопка Run (Выполнить), которая запускает выбранный файл проекта на выполнение. Для отчетов и этикеток можно использовать кнопку Preview (Просмотр), Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 47 которая открывает файл в окне предварительного просмотра. Для просмотра данных, содержащихся в таблице, предназначена кнопка Browse (Обзор). Кнопка Build (Построить) окна проекта открывает диалоговое окно Build Options (Опции построения), позволяющее создать проект, исполняемое приложение, динамическую библиотеку или обновить существующий проект. Èñïîëüçîâàíèå ìàñòåðà ïðè ñîçäàíèè ïðîåêòà В Visual FoxPro 9.0 при создании проекта с помощью мастера в него можно включить таблицы, формы, отчеты, а также добавить в проект элементы, созданные ранее. Чтобы создать новый проект с помощью мастера, необходимо выполнить следующие действия: 1. В меню File (Файл) нужно выбрать команду New (Новый) или нажать кнопку New (Новый) на панели инструментов. 2. Откроется диалоговое окно New (Новый), в котором следует выбрать опцию Project (Проект) и нажать кнопку Wizard (Мастер). СОВЕТ В Microsoft Visual FoxPro 9.0 мастер для создания проекта также можно запустить из окна Task Pane Manager (Менеджер панели задач). Для этого в окне менеджера задач нужно воспользоваться ссылкой Create a new application (Создание нового приложения). Откроется диалоговое окно, представленное на рис. 3.9. Ðèñ. 3.9. Çàäàíèå èìåíè ïðîåêòà è åãî ðàñïîëîæåíèÿ 3. Откроется диалоговое окно, представленное на рис. 3.9. В поле ввода Project name (Имя проекта) этого окна необходимо задать имя создаваемого проекта, а в поле ввода Project file (Файл проекта) указать его расположение. Чтобы разместить проект в требуемой папке, следует воспользоваться кнопкой Browse (Обзор), которая открывает диалоговое окно, позволяющее найти на компьютере необходимую папку. 4. После определения имени файла и его расположения нужно нажать кнопку OK для создания нового проекта. Мастер переходит к созданию нового проекта, и на экране появляется диалоговое окно построителя приложения Application Builder (Построитель приложения) (рис. 3.10). 48 Ãëàâà 3 Ðèñ. 3.10. Äèàëîãîâîå îêíî ïîñòðîèòåëÿ ïðèëîæåíèÿ Нижняя часть диалогового окна содержит следующие кнопки: Help - открывает файл справки; Cancel - отменяет работу мастера; OK - создает новый проект. Кроме того, диалоговое окно содержит шесть вкладок, на которых определяется следующая информация (табл. 3.4). Òàáëèöà 3.4. Âêëàäêè äèàëîãîâîãî îêíà Application Builder Âêëàäêà Èíôîðìàöèÿ General (Îáùèå) Îñíîâíûå ïàðàìåòðû ñîçäàâàåìîãî ïðîåêòà Credits (Îá àâòîðå) Èíôîðìàöèÿ îá àâòîðàõ ïðîåêòà Data (Äàííûå) Ïàðàìåòðû ñîçäàíèÿ áàç äàííûõ è òàáëèö Forms (Ôîðìû) Èíôîðìàöèÿ î ôîðìàõ, âõîäÿùèõ â ïðîåêò Reports (Îò÷åòû) Èíôîðìàöèÿ îá îò÷åòàõ, âõîäÿùèõ â ïðîåêò Advanced (Äîïîëíèòåëüíûå) Ïàðàìåòðû ñîçäàíèÿ ñïðàâî÷íîé ñèñòåìû, ìåíþ ïðîåêòà Çàäàíèå îáùèõ ïàðàìåòðîâ ïðîåêòà Вкладка General (Общие) (см. рис. 3.10) предназначена для задания таких параметров проекта, как его имя, размещаемый в проекте рисунок, тип создаваемого приложения, общие диалоговые окна, значок проекта. Поле ввода Name (Имя) позволяет задать имя приложения, отображаемое в его заголовке, диалоговом окне О программе, а также внутри приложения. Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 49 В поле ввода Image (Рисунок) можно задать имя файла рисунка, который будет появляться в окне при запуске приложения и в диалоговом окне О программе. Область Application Type (Тип приложения) позволяет задать тип создаваемого приложения (табл. 3.5). Òàáëèöà 3.5. Îïöèè îáëàñòè Application Type Îïöèÿ Òèï ïðèëîæåíèÿ Normal (Îáû÷íîå) Ñîçäàííîå ïðèëîæåíèå áóäåò çàïóñêàòüñÿ â ãëàâíîì îêíå Visual FoxPro, çàìåíÿÿ âñå îêðóæåíèå è ñèñòåìíîå ìåíþ Visual FoxPro Module (Àâòîíîìíîå) Ïðèëîæåíèå äîáàâëÿåòñÿ â ñóùåñòâóþùèé ïðîåêò èëè áóäåò âûçûâàòüñÿ èç äðóãîãî ïðèëîæåíèÿ. Ìåíþ ïðèëîæåíèÿ äîáàâëÿåòñÿ â ñèñòåìíîå ìåíþ, è åãî ôóíêöèè èñïîëüçóþòñÿ êàê êîìïîíåíòû äðóãîãî ïðèëîæåíèÿ Top-Level (Âåðõíèé óðîâåíü) Ïðèëîæåíèå áóäåò çàïóñêàòüñÿ êàê îòäåëüíîå ïðèëîæåíèå Microsoft Windows Устанавливая флажки группы Common Dialogs (Общие диалоги), можно задать использование в приложении общих диалоговых окон, содержащих информацию о разработчиках, программе, правах доступа к файлам приложения (табл. 3.6). Òàáëèöà 3.6. Íàçíà÷åíèå ôëàæêîâ ãðóïïû Common Dialogs Ôëàæîê Íàçíà÷åíèå Splash screen (Âñïëûâàþùèé ýêðàí) Ïðè çàïóñêå ïðèëîæåíèÿ ïîÿâëÿåòñÿ îêíî, ñîäåðæàùåå ëîãîòèï ïðèëîæåíèÿ è ñâåäåíèÿ îá àâòîðå About dialog (Î ïðîãðàììå) Ïðèëîæåíèå ñîäåðæèò äèàëîãîâîå îêíî Î ïðîãðàììå, â êîòîðîì áóäåò îòðàæàòüñÿ ëîãîòèï ïðèëîæåíèÿ è ñâåäåíèÿ î ðàçðàáîò÷èêàõ Quick start (Áûñòðûé ñòàðò) Ïðîåêò ñîäåðæèò äèàëîãîâîå îêíî Quick Start, â êîòîðîì îïðåäåëÿþòñÿ ïðàâà äîñòóïà ê äîêóìåíòàì ïðèëîæåíèÿ è îñòàëüíûì ôàéëàì User logins (Îêíî ââîäà ïàðîëÿ) Ïðè óñòàíîâëåííîì ôëàæêå â ïðîåêò äîáàâëÿåòñÿ ôîðìà, ïðåäíàçíà÷åííàÿ äëÿ ââîäà ïàðîëÿ ïðè çàïóñêå ïðèëîæåíèÿ С помощью области Icon (Значок) можно определить значок приложения. Çàäàíèå èíôîðìàöèè î ðàçðàáîò÷èêàõ ïðîåêòà На вкладке Credits (Об авторе) (рис. 3.11) диалогового окна Application Builder (Построитель приложения) указывается следующая информация: список авторов, название предприятия, номер версии, права и торговая марка приложения. 50 Ãëàâà 3 Ðèñ. 3.11. Âêëàäêà Credits äèàëîãîâîãî îêíà Application Builder Для ввода этих данных используются поля (табл. 3.7). Òàáëèöà 3.7. Íàçíà÷åíèå ïîëåé âêëàäêè Credits äèàëîãîâîãî îêíà Application Builder Ïîëå ââîäà Íàçíà÷åíèå Author (Àâòîð) Ñïèñîê ðàçðàáîò÷èêîâ ïðèëîæåíèÿ Company (Ïðåäïðèÿòèå) Íàèìåíîâàíèÿ ïðåäïðèÿòèÿ Version (Âåðñèÿ) Âåðñèÿ ïðèëîæåíèÿ Copyright (Ïðàâà) Ïðàâà ïî èñïîëüçîâàíèþ ïðèëîæåíèÿ Trademark (Òîðãîâàÿ ìàðêà) Òîðãîâàÿ ìàðêà ïðèëîæåíèÿ Ôîðìèðîâàíèå ñïèñêà áàç äàííûõ è òàáëèö, èñïîëüçóåìûõ â ïðîåêòå Вкладка Data (Данные) (рис. 3.12) диалогового окна Application Builder (Построитель приложения) позволяет сформировать список баз данных и таблиц, включаемых в проект. В список, представленный на вкладке в табличном виде, можно добавлять как новые, так и уже существующие базы данных и таблицы (табл. 3.8). Òàáëèöà 3.8. Íàçíà÷åíèå ñòîëáöîâ âêëàäêè Data äèàëîãîâîãî îêíà Application Builder Ñòîëáåö Íàçíà÷åíèå Datasource (Èñòî÷íèê äàííûõ) Èìÿ òàáëèöû Form (Ôîðìà) Ñîäåðæèò ôëàæîê, óñòàíîâêà êîòîðîãî óêàçûâàåò íà íåîáõîäèìîñòü àâòîìàòè÷åñêîãî ñîçäàíèÿ ôîðìû äëÿ äàííîé òàáëèöû Report (Îò÷åò) Ñîäåðæèò ôëàæîê, óñòàíîâêà êîòîðîãî óêàçûâàåò íà íåîáõîäèìîñòü àâòîìàòè÷åñêîãî ñîçäàíèÿ îò÷åòà äëÿ äàííîé òàáëèöû Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 51 Ðèñ. 3.12. Âêëàäêà Data äèàëîãîâîãî îêíà Application Builder Для добавления в проект таблиц, их удаления и других действий над ними на вкладке расположены следующие кнопки (табл. 3.9). Òàáëèöà 3.9. Íàçíà÷åíèå êíîïîê âêëàäêè Data äèàëîãîâîãî îêíà Application Builder Êíîïêà Íàçíà÷åíèå Çàïóñêàåò ìàñòåð áàç äàííûõ, êîòîðûé ñîçäàåò äëÿ ïðîåêòà íîâóþ áàçó äàííûõ Çàïóñêàåò ìàñòåð òàáëèö äëÿ ñîçäàíèÿ íîâîé òàáëèöû Select (Âûáðàòü) Îòêðûâàåò äèàëîãîâîå îêíî äëÿ âûáîðà óæå ñóùåñòâóþùåé áàçû äàííûõ èëè òàáëèöû Clear (Î÷èñòèòü) Î÷èùàåò äèàëîãîâîå îêíî îò òàáëèö, êîòîðûå áûëè äîáàâëåíû â ïðîåêò Generate (Ïîñòðîèòü) Ïðè íàæàòèè êíîïêè ïðîèñõîäèò äîáàâëåíèå â ïðîåêò âñåõ ðàçìåùåííûõ íà âêëàäêå òàáëèö, îñóùåñòâëÿåòñÿ ñîçäàíèå ôîðì è îò÷åòîâ äëÿ òåõ òàáëèö, â êîòîðûõ óñòàíîâëåíû ñîîòâåòñòâóþùèå ôëàæêè. Ïîñëå âñåõ âûïîëíåííûõ äåéñòâèé ñïèñîê òàáëèö î÷èùàåòñÿ Для форм, создаваемых мастером проекта, можно задать стиль оформления, используя раскрывающийся список Form Style (Стиль формы), находящийся непосредственно под таблицей. На рис. 3.13 представлена форма, созданная с использованием стиля Embossed (Рельефный). При создании отчета, как и при создании форм, можно применять различные стили. Для задания стиля отчета используется раскрывающийся список Report Style (Стиль отчета). 52 Ãëàâà 3 Ðèñ. 3.13. Ôîðìà, ñîçäàííàÿ ñ èñïîëüçîâàíèåì ñòèëÿ Embossed Ôîðìèðîâàíèå ñïèñêà ôîðì ïðîåêòà Вкладка Forms (Формы) (рис. 3.14) предназначена для создания списка форм проекта. Ðèñ. 3.14. Âêëàäêà Forms äèàëîãîâîãî îêíà Application Builder Если для входящих в проект таблиц в столбце Form (Форма) вкладки Data (Данные) были установлены соответствующие флажки и нажата кнопка Generate (Построить), Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 53 то мастер создаст формы, причем их названия будут отображаться в списке форм на вкладке Forms (Формы). В этот список можно добавить формы, созданные ранее, используя диалоговое окно Open (Открыть), появляющееся при нажатии кнопки Add (Добавить). В правой части вкладки расположены поле ввода Name (Имя), содержащее название формы, и флажки, определяющие основные свойства форм (табл. 3.10). Òàáëèöà 3.10. Íàçíà÷åíèå ôëàæêîâ âêëàäêè Forms äèàëîãîâîãî îêíà Application Builder Ôëàæîê Íàçíà÷åíèå Single instance (Îäèí ýêçåìïëÿð) Ïîëüçîâàòåëü ñìîæåò îòêðûòü ôîðìó â ïðèëîæåíèè íå áîëüøå îäíîãî ðàçà Use Navigation toolbar (Èñïîëüçîâàòü ïàíåëü íàâèãàöèè) Ïðè îòêðûòèè ôîðìû íà ýêðàíå ïîÿâëÿåòñÿ ïàíåëü èíñòðóìåíòîâ, ïîçâîëÿþùàÿ ïåðåìåùàòüñÿ ïî çàïèñÿì Use Navigation menu (Èñïîëüçîâàòü ìåíþ íàâèãàöèè) Âî âðåìÿ âûïîëíåíèÿ ôîðìû â ñòðîêó ìåíþ äîáàâëÿåòñÿ ïóíêò Go, ñîäåðæàùèé ê

Людмила Омельченко Дарья Шевякова САМОУЧИТЕЛЬ Санкт-Петербург «БХВ-Петербург» 2005 УДК 681.3.068+800.92Visual FoxPro 9 ББК 32.973.26-018.1 О-57 Омельченко Л. Н., Шевякова Д. А. О-57 Самоучитель Visual FoxPro 9.0. - СПб.: БХВ-Петербург, 2005. - 608 с.: ил. ISBN 5-94157-632-3 Рассмотрен Visual FoxPro 9.0 - мощный пакет программ, предназначенный для построения профессиональных приложений, работающих с базами данных. Описаны интегрированная среда разработки приложений и создание с ее помощью основных объектов, таких как классы, таблицы, запросы, формы, отчеты. Рассмотрены экспорт и импорт данных, а также публикация данных на Webсервере. Показано как разрабатывать, создавать и тестировать клиент-серверные приложения. Уделено внимание особенностям очередной версии популярного пакета, а также дополнительным возможностям для работы с XML Web-сервисами и взаимодействию с другими приложениями (Microsoft Visual Studio .NET и Microsoft SQL Server 2000). Многочисленные примеры и иллюстрации помогут быстро освоить и успешно применять на практике изложенный материал. Для программистов и разработчиков баз данных УДК 681.3.068+800.92Visual FoxPro 9 ББК 32.973.26-018.1 Группа подготовки издания: Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством Екатерина Кондукова Игорь Шишигин Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 18.03.05. Формат 70 1001/16. Печать офсетная. Усл. печ. л. 49. Тираж 5000 экз. Заказ № "БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б. Санитарно-эпидемиологическое заключение на продукцию № 77.99.02.953.Д.006421.11.04 от 11.11.2004 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, 12 ISBN 5-94157-632-3 © Омельченко Л. Н., Шевякова Д. А., 2005 © Оформление, издательство "БХВ-Петербург", 2005 Îãëàâëåíèå ВВЕДЕНИЕ........................................................................................................... 1 Как пользоваться книгой.................................................................................................... 2 Как построена книга........................................................................................................... 2 Специальные элементы книги............................................................................................ 3 ГЛАВА 1. ЗНАКОМСТВО С VISUAL FOXPRO ...................................................... 5 Современные реляционные СУБД..................................................................................... 7 Объекты Visual FoxPro ....................................................................................................... 10 Что нового появилось в Visual FoxPro 9.0....................................................................... 12 ГЛАВА 2. НАЧАЛО РАБОТЫ С VISUAL FOXPRO ............................................... 15 Запуск Visual FoxPro .......................................................................................................... 15 Главное окно Visual FoxPro .............................................................................................. 15 Менеджер панели задач.................................................................................................... 27 Справочная система Visual FoxPro ................................................................................... 30 ГЛАВА 3. ПРОЕКТ КАК СРЕДСТВО ОБЪЕДИНЕНИЯ ЭЛЕМЕНТОВ ПРИЛОЖЕНИЯ........................................................... 39 Создание проекта приложения......................................................................................... 39 Управление проектом с помощью меню......................................................................... 45 Управление элементами проекта...................................................................................... 46 Использование мастера при создании проекта.............................................................. 47 ГЛАВА 4. СОЗДАНИЕ БАЗЫ ДАННЫХ ПРОЕКТА............................................. 57 Создание базы данных в окне проекта............................................................................ 57 Создание базы данных вне проекта................................................................................. 61 Таблицы - основа базы данных...................................................................................... 62 Окно конструктора таблиц................................................................................................ 68 Индексы.............................................................................................................................. 78 Отношения между таблицами........................................................................................... 82 Целостность данных.......................................................................................................... 85 IV Îãëàâëåíèå ГЛАВА 5. ФОРМА КАК СРЕДСТВО ВВОДА И РЕДАКТИРОВАНИЯ ДАННЫХ........................................................ 89 Создание формы с помощью мастера............................................................................. 90 Запуск формы..................................................................................................................... 97 Объекты формы.................................................................................................................. 97 Действия, выполняемые с объектами формы............................................................... 101 Изменение последовательности ввода информации в поля формы.......................... 105 ГЛАВА 6. КОНСТРУКТОР ФОРМ.....................................................................109 Окно конструктора форм................................................................................................ 109 Создание формы.............................................................................................................. 113 Настройка параметров формы........................................................................................ 114 Среда окружения формы................................................................................................. 116 Последовательность действий при настройке параметров формы............................. 122 Размещение объектов в форме....................................................................................... 123 ГЛАВА 7. СОЗДАНИЕ И ПЕЧАТЬ ОТЧЕТОВ.....................................................157 Что такое отчет................................................................................................................. 157 Рекомендации по созданию отчета................................................................................ 157 Средства создания отчетов.............................................................................................. 158 Использование мастера для создания однотабличного отчета................................... 158 Просмотр подготовленного отчета................................................................................. 168 Печать отчета.................................................................................................................... 169 ГЛАВА 8. СОЗДАНИЕ ОТЧЕТА С ПОМОЩЬЮ КОНСТРУКТОРА ОТЧЕТОВ...............................................................173 Окно конструктора отчетов............................................................................................ 173 Использование команды Quick Report для размещения полей.................................... 175 Установка среды окружения отчета............................................................................... 179 Свойства объектов отчета................................................................................................ 182 Размещение объектов в отчете....................................................................................... 188 Добавление в отчет областей заголовка и итогов......................................................... 200 Создание простого отчета............................................................................................... 201 Создание отчета в свободной форме............................................................................. 203 Создание табличного отчета........................................................................................... 205 Группировка данных в отчете......................................................................................... 207 Использование в отчете переменных............................................................................. 211 Разметка страницы отчета............................................................................................... 213 Многоколоночный отчет................................................................................................. 215 ГЛАВА 9. ЗАПРОСЫ К БАЗЕ ДАННЫХ.............................................................217 Конструктор запросов..................................................................................................... 218 Формирование списка полей результирующей таблицы запроса............................... 221 Вкладка Order By конструктора запросов...................................................................... 225 Задание условий для выбора записей............................................................................ 227 Многотабличные запросы............................................................................................... 233 Группировка полей запроса............................................................................................ 237 Изменение наименований полей в запросе.................................................................. 241 Îãëàâëåíèå V ГЛАВА 10. ПЕРЕКРЕСТНЫЕ ТАБЛИЦЫ И ДИАГРАММЫ..............................243 Перекрестные таблицы.................................................................................................... 243 Экспорт данных............................................................................................................... 254 Построение диаграмм...................................................................................................... 254 ГЛАВА 11. МЕНЮ ПРИЛОЖЕНИЯ..................................................................261 Подготовка к созданию меню........................................................................................ 261 Действия, необходимые для создания меню................................................................ 262 Запуск конструктора меню............................................................................................. 262 Создание меню................................................................................................................. 264 Сохранение, генерация и запуск меню......................................................................... 278 Создание всплывающего меню...................................................................................... 279 ГЛАВА 12. СОЗДАНИЕ СПРАВОЧНОЙ СИСТЕМЫ ПРИЛОЖЕНИЯ...............281 Строка состояния............................................................................................................. 281 Использование диалоговых окон................................................................................... 282 Создание справочной системы в формате HTML ........................................................ 285 Использование справочной системы в приложениях.................................................. 293 ГЛАВА 13. УПРАВЛЕНИЕ ПРОЕКТОМ И СОЗДАНИЕ ПРИЛОЖЕНИЯ..........297 Определение свойств окна проекта............................................................................... 297 Задание параметров проекта........................................................................................... 299 Установка основной программы проекта...................................................................... 302 Использование опции Exclude ........................................................................................ 303 Очистка проекта от удаленных файлов......................................................................... 303 Построение проекта......................................................................................................... 303 Галерея компонентов Visual FoxPro ............................................................................... 306 ГЛАВА 14. УСЛОВИЯ ДОСТОВЕРНОСТИ, ХРАНИМЫЕ ПРОЦЕДУРЫ, ТРИГГЕРЫ, ПРЕДСТАВЛЕНИЯ ДАННЫХ......................................315 Условия достоверности ввода данных на уровне записей........................................... 315 Условия достоверности ввода данных на уровне поля таблицы................................ 323 Использование представлений данных......................................................................... 325 ГЛАВА 15. РАСШИРЕННЫЕ СРЕДСТВА ВВОДА ДАННЫХ..............................337 Отображение данных в форме в табличном виде......................................................... 337 Создание формы с вкладками........................................................................................ 356 Набор форм...................................................................................................................... 360 Таймер............................................................................................................................... 361 Добавление данных в список......................................................................................... 364 ГЛАВА 16. БИБЛИОТЕКИ КЛАССОВ И ACTIVEX-КОМПОНЕНТЫ.................367 Использование библиотек классов................................................................................ 367 Использование ActiveX-компонентов в форме............................................................. 374 Использование браузера объектов................................................................................. 390 ГЛАВА 17. РАСШИРЕННЫЕ СРЕДСТВА СОЗДАНИЯ ОТЧЕТОВ.....................395 Использование в отчетах представлений данных......................................................... 395 Этикетки........................................................................................................................... 396 Использование в отчетах отношения "один-ко-многим" ............................................ 404 VI Îãëàâëåíèå ГЛАВА 18. РАСШИРЕННЫЕ СРЕДСТВА ВЫБОРКИ ДАННЫХ.......................409 Вывод результатов запроса.............................................................................................. 409 Сохранение результатов запроса в формате HTML ..................................................... 412 Использование в программах команды Select ............................................................... 414 ГЛАВА 19. ВИЗУАЛЬНОЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ..................................................................419 Использование классов................................................................................................... 419 Использование вложенных объектов............................................................................. 434 Пользовательские классы................................................................................................ 437 Просмотр информации о классе и определение значка для его обозначения.......... 447 Формирование списка библиотек, используемых в конструкторах форм и классов.................................................................................... 450 Создание форм на основе пользовательских классов.................................................. 450 Использование формы для создания класса................................................................. 454 Средство Class Browser ..................................................................................................... 455 Создание панели инструментов..................................................................................... 458 ГЛАВА 20. МНОГОПОЛЬЗОВАТЕЛЬСКАЯ РАБОТА В ЛОКАЛЬНОЙ СЕТИ.......................................................................463 Типы блокировок............................................................................................................. 463 Автоматическая блокировка............................................................................................ 463 Полная блокировка таблицы и блокировка изменений.............................................. 465 Блокировка таблицы........................................................................................................ 466 Блокировка записей......................................................................................................... 466 Снятие блокировок таблиц и записей........................................................................... 468 Сеансы работы с данными.............................................................................................. 469 Использование буферов.................................................................................................. 470 Использование транзакций............................................................................................. 474 ГЛАВА 21. СВЯЗЫВАНИЕ И ВНЕДРЕНИЕ ОБЪЕКТОВ, ЭКСПОРТ И ИМПОРТ ДАННЫХ.....................................................................475 Visual FoxPro и OLE-объекты......................................................................................... 475 Связывание OLE-объекта................................................................................................ 481 Редактирование OLE-объекта......................................................................................... 484 Удаление OLE-объекта.................................................................................................... 484 Использование объектно-ориентированного программирования.............................. 484 Передача данных из Visual FoxPro в другие приложения........................................... 486 Импорт данных................................................................................................................ 488 Использование данных из Visual FoxPro в Microsoft Word ......................................... 491 ГЛАВА 22. УДАЛЕННЫЕ ПРЕДСТАВЛЕНИЯ ДАННЫХ...................................497 Определение источника данных ODBC ........................................................................ 497 Именованное соединение............................................................................................... 500 Конструктор соединений................................................................................................ 500 Настройка параметров удаленных представлений и соединений в диалоговом окне Options ............................................................................................... 503 Создание удаленного представления данных............................................................... 505 Îãëàâëåíèå VII Совместно используемые соединения........................................................................... 513 Комбинирование в представлении локальных и удаленных данных......................... 514 Настройка представления с помощью словаря базы данных...................................... 516 ГЛАВА 23. ПЕРЕНОС ДАННЫХ ИЗ VISUAL FOXPRO НА ПЛАТФОРМУ КЛИЕНТ-СЕРВЕР...............................................519 Использование мастера наращивания для переноса данных в базу данных SQL Server ................................................................................................ 519 ГЛАВА 24. ПУБЛИКАЦИЯ ДАННЫХ НА WEB-СЕРВЕРЕ.................................531 Мастер Web Publishing ...................................................................................................... 531 Настройка параметров Web-страницы с помощью мастера........................................ 535 Создание Web-страницы................................................................................................. 539 Редактирование созданной Web-страницы................................................................... 543 ГЛАВА 25. НАСТРОЙКА ПАРАМЕТРОВ VISUAL FOXPRO ................................545 Параметры вкладок окна Options .................................................................................... 546 ПРИЛОЖЕНИЕ. УСТАНОВКА VISUAL FOXPRO ..............................................573 Требования к системе...................................................................................................... 573 Установка Visual FoxPro .................................................................................................. 573 Настройка Visual FoxPro ................................................................................................. 575 ГЛОССАРИЙ.....................................................................................................579 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ............................................................................589 VIII Îãëàâëåíèå Ââåäåíèå В последние годы периодически возникают слухи о том, что Microsoft прекратит поддержку программного продукта Visual FoxPro. Но в который раз они оказываются происками недоброжелателей. И очередная новая версия Visual FoxPro 9.0 - прямое тому подтверждение. Несмотря на появление новых систем управления базами данных Visual FoxPro продолжает оставаться одной из наиболее популярных программ в этой области. Это, прежде всего, связано с тем, что при создании новых версий Microsoft сохраняет совместимость с предыдущими версиями. Поэтому созданные вами приложения можно будет использовать и в дальнейшем. В Visual FoxPro реализованы все атрибуты реляционных систем управления базами данных. В базе данных поддерживается целостность данных с помощью первичных ключей и связей между таблицами. Для обработки событий добавления, удаления или изменения записей таблиц средствами самой базы данных вы можете использовать триггеры и хранимые процедуры. Visual FoxPro - это объектно-ориентированный, визуально-программируемый язык, управляемый по событиям, который в полной мере соответствует новым требованиям, предъявляемым к современным средствам проектирования и реализации программного обеспечения. Visual FoxPro могут применять пользователи разных уровней подготовки. Если вы только начинаете осваивать Visual FoxPro и вам необходимо в кратчайшие сроки разработать простое приложение, вам помогут мастера создания баз данных, таблиц, приложений, форм, отчетов и т. д. Для разработки крупных и сложных проектов служат соответствующие конструкторы и объектно-ориентированный язык, который позволяет не только использовать базовые классы Visual FoxPro и внешние библиотеки, но и создавать пользовательские классы. Настоящая книга представляет интерес как для начинающих знакомство с Visual FoxPro 9.0, так и имеющих опыт работы с этой системой разработчиков. В книге последовательно описывается весь процесс создания законченных приложений: создание базы данных и входящих в нее таблиц, конструирование форм для ввода и просмотра данных, создание запросов и отчетов, а также других средств отображения и обработки информации баз данных. Книга содержит большое количество иллюстраций, которые помогут вам знакомиться с изложенным в ней материалом. 2 Ââåäåíèå Êàê ïîëüçîâàòüñÿ êíèãîé Если вы только приступаете к изучению Visual FoxPro, то предложенный порядок глав позволит вам последовательно идти от простого к сложному в освоении данного программного продукта. Если вы знакомы с Visual FoxPro, вам не обязательно читать книгу от начала и до конца. В оглавлении книги вы можете посмотреть, какие главы представляют для вас наибольший интерес, и изучить только их. Многое можно узнать, просто бегло просмотрев книгу. В ней есть специально выделенные моменты, которые попадутся вам на глаза, когда вы будете ее листать. Êàê ïîñòðîåíà êíèãà Книга предполагает последовательное изучение материала от более простого к сложному. Главы 1 и 2 книги являются вводными. Вы узнаете, как запустить Visual FoxPro, как получить в нем справочную информацию, познакомитесь с элементами главного окна программы и с тем новым, что появилось в Visual FoxPro 9.0 по сравнению с предыдущими версиями. В главе 3 вы познакомитесь с проектом, который является средством объединения элементов приложения. Изучив главу 4, вы научитесь создавать базу данных, входящие в нее таблицы, индексы, связи между таблицами, определять условия целостности данных. В главах 5 и 6 рассматривается создание форм для ввода и редактирования данных с помощью мастера и конструктора форм. Главы 7 и 8 посвящены разработке простых отчетов. Прочитав главу 9, вы сможете создать запрос любой сложности. Глава 10 познакомит вас с созданием перекрестных таблиц и диаграмм. Для запуска форм, отчетов и программ в приложении используется меню. В главе 11 рассказывается о создании такого меню приложения. Изучив первые одиннадцать глав и разобрав предложенные вашему вниманию примеры, вы сможете самостоятельно создавать приложения. Следующие главы базируются на знаниях, полученных в первых главах, и посвящены расширенным средствам создания форм, запросов, отчетов. О том, как разработать для своего приложения эффективную справочную систему в формате HTML, вы узнаете из главы 12. В главе 13 обсуждаются некоторые дополнительные вопросы управления проектом, включая создание исполняемого (exe) файла. В главах с 14 по 18 обсуждаются расширенные средства управления базой данных, создание многотабличных форм и отчетов, использование в формах компонентов ActiveX. Глава 19 познакомит вас с особенностями объектно-ориентированного подхода к созданию приложений, предназначенных для управления базами данных. Вы научитесь создавать классы и объекты на их основе. Глава 20 посвящена работе Visual FoxPro в локальной сети. Ââåäåíèå 3 Visual FoxPro не является изолированной системой и может эффективно взаимодействовать с другими приложения Windows. Прочитав главу 21, вы узнаете, как работать с составными объектами (OLE), экспортировать и импортировать данные. Как установить драйвер ODBC, как создать удаленное представление данных и настроить его параметры, вы узнаете из главы 22. Глава 23 познакомит вас с переносом данных из Visual FoxPro на платформу клиент/сервер с помощью мастера наращивания. В Visual FoxPro имеется возможность формирования Web-страницы с использованием информации, содержащейся в базе данных. Об этом речь пойдет в главе 24. Для эффективной работы с Visual FoxPro используются параметры, настройка которых рассмотрена в последней главе книги. В приложении вы познакомитесь с установкой Visual FoxPro 9.0. Книга также содержит глоссарий с описанием терминов Visual FoxPro. Ñïåöèàëüíûå ýëåìåíòû êíèãè В книге есть много особых вставок, выделенных специальным образом. В них содержится дополнительная информация, облегчающая чтение и поиск информации: ÇÀÌÅ×ÀÍÈÅ В замечаниях речь идет о последствиях, к которым приводят те или иные действия. ÑÎÂÅÒ В советах рассказывается о некоторых хитростях, которые следует знать, чтобы наиболее эффективно использовать возможности Visual FoxPro. ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ Предупреждения должны помочь вам избежать проблем. В них сказано, чего следует опасаться, а также что нужно делать, чтобы избежать ошибок. В книге используются различные виды шрифта: новые термины выделены курсивом; тот текст, который вы должны вводить с клавиатуры, выделен полужирным курсивом; команды меню, наименования кнопок, вкладок, опций, флажков, диалоговых окон, областей и т. п. выделены полужирным шрифтом; названия функций, свойств, методов, баз данных, таблиц, полей таблиц выделены моноширинным шрифтом. Две клавиши, соединенные знаком плюс, - это комбинация клавиш. Нажмите первую клавишу и, не отпуская ее, нажмите вторую. Затем отпустите обе. Авторы выражают свою признательность издательству "BHV-Петербург" за долгое плодотворное сотрудничество и помощь при подготовке и написании книги. 4 Ââåäåíèå Ãëàâà 1 Çíàêîìñòâî ñ Visual FoxPro Перемены, происходящие в нашей стране в последнее время, не могли не затронуть областей информатики и вычислительной техники. Еще десять лет назад работа с базами данных была уделом профессиональных программистов. Сами системы не были предназначены для простого пользователя. Основным потребителем таких систем был военно-промышленный комплекс. С появлением банков, акционерных обществ, частных компаний базы данных нашли более широкое применение. Люди понимают, что информация - это деньги. Ее потеря или несвоевременное получение могут дорого стоить. Именно этим можно объяснить столь бурный рост информационных технологий и стремительное развитие систем управления базами данных (СУБД). Ðåëÿöèîííûå áàçû äàííûõ Первые системы управления базами данных появились в середине шестидесятых годов прошлого века и поддерживали иерархическую модель данных, в которой между записями существовали отношения предок/потомок. Спустя короткое время, были разработаны сетевые базы данных, в основу которых была заложена значительно более сложная сетевая модель. У каждой из этих моделей имелись свои достоинства и недостатки, которые сыграли ключевую роль в развитии реляционной модели. В 1970 г. статья научного сотрудника компании IBM доктора Е. Ф. Кодда о реляционной модели данных произвела революцию в подходе к хранению и обработке информации. На основе этой модели в семидесятые годы прошлого столетия были разработаны первые реляционные базы данных, а в настоящее время они рассматриваются как стандарт для современных коммерческих СУБД. В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций1, поэтому модель стала называться реляционной. Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим 1 Отношение - математический термин из теории множеств, которая легла в основу реляционной модели данных. В английском языке слову "отношение" соответствует слово "relation", отсюда название "реляция". - Ред. Ãëàâà 1 6 набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей. Например, таблица регистрации междугородних телефонных разговоров может содержать следующие сведения: Íîìåð çàêàçà Êîä óñëóãè Íîìåð òåëåôîíà Äàòà ðàçãîâîðà Êîä ãîðîäà Ïðîäîëæèòåëüíîñòü ðàçãîâîðà Ñòîèìîñòü Ïðèìå÷àíèå Записи о междугородних разговорах заносятся в книгу регистрации в табличном виде в хронологическом порядке (рис. 1.1). Каждая строка имеет одинаковую структуру и состоит из восьми полей. В рассматриваемом примере это поля: Номер заказа, Код услуги, Номер телефона, Дата разговора, Код города, Продолжительность разговора, Стоимость. Ðèñ. 1.1. Êíèãà ðåãèñòðàöèè ìåæäóãîðîäíèõ ðàçãîâîðîâ ÇÀÌÅ×ÀÍÈÅ В реляционных базах данных поля могут иметь разные типы данных (числовой, строковый, типа даты и т. п.), но для каждой записи тип данных поля остается неизменным. Одним из важных достоинств базы данных является быстрая выборка хранимой в ней информации. Используя телефонно-адресную книгу, в которой данные упорядочены по фамилиям, вы можете найти номер телефона по фамилии его владельца. Однако если записи в книге регистрации междугородних разговоров упорядочены в хронологическом порядке, вам придется потратить значительное время на получе- Çíàêîìñòâî ñ Visual FoxPro 7 ние списка клиентов, заказывавших разговор с определенным городом, или на выяснение того, в каком районе проживают абоненты, приносящие наибольшую прибыль телефонной компании своими продолжительными разговорами. На помощь приходят компьютерные базы данных. Они, несмотря на огромный объем хранящейся в них информации, обеспечивают высокую скорость поиска необходимой информации. В таких базах данных пользователь может выполнить поиск по любому интересующему его параметру. Кроме того, компьютерные базы данных очень компактны. База данных, содержащая несколько тысяч записей, может поместиться на одной дискете. Ñîâðåìåííûå ðåëÿöèîííûå ÑÓÁÄ Для создания базы данных, изменения ее структуры, редактирования и выборки данных используются системы управления базами данных. Современные реляционные системы управления базами данных содержат: набор инструментов для создания таблиц и отношений между связанными таблицами; средства администрирования базы данных; развитый пользовательский интерфейс, который позволяет получить доступ к информации, хранящейся в базе данных; средства разработки приложений, использующих базы данных. На рис. 1.2 показан пример учета междугородних телефонных разговоров с помощью двух таблиц реляционной базы данных в Visual FoxPro. Ðèñ. 1.2. Ó÷åò ìåæäóãîðîäíèõ òåëåôîííûõ ðàçãîâîðîâ ñ ïîìîùüþ ðåëÿöèîííûõ òàáëèö Ãëàâà 1 8 Ðèñ. 1.3. Îò÷åò â òàáëè÷íîì âèäå, ñîäåðæàùèé èíôîðìàöèþ î êëèåíòàõ òåëåôîííîé êîìïàíèè Ðèñ. 1.4. Èíôîðìàöèîííîå ïèñüìî, èñïîëüçóþùåå ñâåäåíèÿ èç áàçû äàííûõ Çíàêîìñòâî ñ Visual FoxPro 9 Ðèñ. 1.5. Ãðàôè÷åñêîå ïðåäñòàâëåíèå èíôîðìàöèè î êîëè÷åñòâå ìåæäóãîðîäíèõ ïåðåãîâîðîâ ïî êëèåíòàì С помощью средств СУБД вы можете: выбрать информацию, представляющую для вас интерес. Например, вы можете получить сведения обо всех междугородних разговорах определенного клиента за любой интервал времени; вывести на печать всю таблицу или только выбранные записи и поля в различных форматах. Например, на рис. 1.3 показан табличный отчет, содержащий адреса клиентов телефонной компании. На рис. 1.4 приведен один из вариантов информационного письма, содержащего имена и фамилии клиентов из той же самой таблицы; отображать информацию базы данных в графическом виде. Например, на рис. 1.5 выведены в виде диаграммы данные о количестве междугородних переговоров по клиентам; осуществлять необходимые вычисления при формировании отчетов и выборке данных из таблиц. В настоящее время имеется более десяти популярных СУБД для персональных компьютеров. Традиционно одной из наиболее распространенных в России и странах СНГ является СУБД Visual FoxPro, новая версия которой Visual FoxPro 9.0 содержит дополнения и улучшения, расширяющие возможности системы. 10 Ãëàâà 1 Îáúåêòû Visual FoxPro Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение dbf. Каждая создаваемая таблица может иметь связанные с ней индексы, используемые для упорядочения данных и быстрого поиска необходимых записей, причем одна таблица может иметь несколько индексов. Для хранения значений полей типа Memo и General применяются отдельные файлы. Memo-поля таблиц содержат текстовую информацию, а поля типа General используются, как правило, для хранения двоичной информации и данных других приложений, работающих в среде Windows. В Visual FoxPro реализованы триггеры, которые позволяют централизованно обрабатывать события, возникающие при любых изменениях в базе данных. Вы также можете создавать хранимые процедуры, которые являются частью базы данных и могут использоваться при описании таблиц, для проверки введенных данных, определения значения по умолчанию и т. п. Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы. Для отображения и редактирования данных используются формы, отчеты, запросы и программы. При создании форм, отчетов и запросов применяются конструкторы. Поэтому эти компоненты часто называют конструкторскими объектами. Формы и отчеты являются составными объектами, т. к. они состоят из более мелких объектов (таких как поля, кнопки, диаграммы, рамки, OLE-компоненты и т. п.), которые называются объектами интерфейса. Формы используются для просмотра или ввода данных в таблицы. Данные можно вводить непосредственно в таблицы, но использование формы является более быстрым и более эффективным способом ввода. Форма содержит некоторые или все поля таблиц, в которые вы вводите информацию. Для создания форм вы можете использовать мастер создания форм или конструктор форм. Мастер форм содержит целый ряд шаблонов, которые определяют соотношение между помещаемыми в форму таб- Çíàêîìñòâî ñ Visual FoxPro 11 лицами, вид отображения данных и порядок размещения полей. Для создания сложных форм применяется конструктор форм. Отчеты используются для печати содержащейся в базе данных информации. Примерами отчетов являются прайс-лист товаров, список покупателей, оборотная складская ведомость. Как правило, отчеты создаются в том случае, если информацию необходимо передавать кому-либо в печатном виде. Для создания отчетов в Visual FoxPro, как и для форм, используются мастер и конструктор отчетов. С помощью мастера отчетов вы можете быстро создать собственный отчет на основе имеющихся шаблонов. Применение конструктора отчетов позволяет создавать отчеты произвольной сложности, включая многоуровневую группировку данных и размещение вычисляемых полей. Запросы являются средством выборки данных из одной или нескольких таблиц. В Visual FoxPro для создания запроса вы можете использовать как конструктор запросов, так и специализированный язык Structured Query Language (SQL). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчетов и диаграмм или сохраняться в указанной вами таблице. Программы, написанные на языке Visual FoxPro, являются объектно-ориентированными. С помощью них вы обрабатываете события в форме, создаете объекты, осуществляете различные вычисления, управляете базой данных. Для удобства работы вы можете объединить программы в библиотеки. Для создания форм в Visual FoxPro можно использовать не только базовые классы, но и создавать собственные. Например, вы можете определить класс форм, в котором задан определенный цвет фона и стандартный набор кнопок для управления данными. Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса. Классы, созданные в Visual FoxPro, хранятся в библиотеках классов. Для объединения компонентов создаваемого приложения используется проект, в который включаются все перечисленные выше компоненты. Использование проекта упрощает разработку приложения и его сопровождение. Каждый компонент хранится в отдельном файле, причем имена файлов, содержащих основные компоненты, вы задаете самостоятельно, а наименования файлов, содержащих объекты, связанные с таблицей, совпадают с именем таблицы. В зависимости от типа содержащегося в нем объекта Visual FoxPro автоматически присваивает каждому файлу расширение, которое помогает в идентификации объекта. Список расширений файлов приведен в табл. 1.1. Òàáëèöà 1.1. Ðàñøèðåíèÿ èìåí ôàéëîâ îáúåêòîâ Visual FoxPro Íàèìåíîâàíèå îáúåêòà Ðàñøèðåíèÿ Ïðîåêò prj, fpc, cat, pjx, pjt Áàçà äàííûõ dbc Òàáëèöà Visual FoxPro dbf Ñîñòàâíîé èíäåêñíûé ôàéë cdx Memo-ïîëå è ïîëå òèïà General frt Ãëàâà 1 12 Òàáëèöà 1.1 (îêîí÷àíèå) Íàèìåíîâàíèå îáúåêòà Ðàñøèðåíèÿ Ôîðìà scx Çàïðîñ qpr Îò÷åò frx, frm Ïî÷òîâàÿ íàêëåéêà lbx, lbl Ìåíþ mnx Áèáëèîòåêà êëàññà vcx Ïðîãðàììà, áèáëèîòåêà ïðîãðàìì, òåêñò ìåíþ, prg, fxp, mpr, qpr òåêñò çàïðîñà Ðèñóíîê bmp, jpg, gif, ico, dib, cur, ani Çâóêîçàïèñü wav ×òî íîâîãî ïîÿâèëîñü â Visual FoxPro 9.0 Visual FoxPro является постоянно развивающейся системой. По сравнению с предыдущей версией, в Visual FoxPro 9.0 сделан еще один шаг в расширении функциональных возможностей системы, улучшены имеющиеся средства, касающиеся интерфейса среды разработки и обработки ошибок, добавлены новые команды, базовые классы и функции и расширены имеющиеся. Новая версия обладает всеми возможностями для работы с XML Web-сервисами, а также улучшенной совместимостью с Microsoft Visual Studio.NET и Microsoft SQL Server 2000. В Visual FoxPro расширены средства конструктора таблицы. Для полей таблиц можно использовать новые типы данных: двоичный Blob и текстовый Varbinary. Тип данных Blob используется для структур, содержащих информацию о блоке данных. Применяется для хранения двоичной информации любого типа, например, символов ASCII, исполняемых файлов, потоков байтов. Тип данных Varbinary содержит шестнадцатеричные значения. Он аналогичен типу Character, но для данных этого типа не происходит заполнения свободных мест незначащей информацией. Появился новый тип индекса Binary (Двоичный), создаваемый на основе логических выражений и используемый как для свободных таблиц, так и таблиц, входящих в базу данных. Этот индекс занимает значительно меньше места и за счет этого позволяет увеличить скорость использования индексов. У объектов, размещаемых в форме, появились новые свойства. Рассмотрим наиболее интересные. Свойство Anchor (Закреплять) устанавливает абсолютные и относительные позиции и размеры объекта относительно всех четырех сторон объекта-контейнера, решая проблему автоматического позиционирования и изменения размеров объектов на форме при изменении ее размеров при возникновении события Resize (Изменять размеры). Çíàêîìñòâî ñ Visual FoxPro 13 Свойство Rotation (Вращение) объектов типа Label, Line и Shape позволяет выводить подписи к большим объектам класса EditBox в виде текста, идущего снизу вверх. Свойство AutoComplection (Автокомплектация) объекта TextBox позволяет запоминать вводимые в поле значения и при вводе нового значения показывать этот список для облегчения ввода. Это свойство удобно использовать при вводе данных в поле, значения которого имеют небольшой набор вариантов. Свойство AutoHideScrollBar (Автоматически скрывать полосу прокрутки) объекта ListBox позволяет скрывать полосу прокрутки, когда все строки видимы, и снова ее отображать, когда не все строки помещаются в ListBox. Свойства PictureMargin (Граница изображения) и PictureSpacing (Смещение изображения) у объектов CommandButton, OptionButton и CheckBox управляют положением изображения относительно края и текста объекта. Свойство MousePointer (Указатель мыши) для столбцов (объект Column) и заголовков (объект Header) объекта Grid на этапе редактирования класса или формы устанавливает требуемый вид указателя мыши при попадании его в поле данного объекта. У команды SET PATH TO появилось свойство ADDITIVE (Добавление), которое позволяет добавлять новые пути к существующим, а длина всех путей увеличилась с 1024 до 4096. В Project Manager (Менеджер проектов) появилась возможность выполнять команду Modify (Модифицировать) при выборе библиотеки классов, а не отдельного класса этой библиотеки. При этом Visual FoxPro 9.0 запускает Class Browser с выбранной библиотекой классов. Разработчиков порадуют изменения, произошедшие в конструкторе отчетов. Настройка всех объектов (расположение объекта в полосе отчета, стиль оформления, условия печати, защита от изменения), размещаемых в отчете, осуществляется с помощью диалогового окна свойств. Все параметры самого отчета (разметка страницы, добавление в отчет областей заголовка и итогов, группирование данных, задание переменных отчета, сохранение отчета в виде класса) также задаются с помощью диалогового окна Report Properties (Свойства отчета). Изменения затронули пользовательские свойства и методы. При создании новых свойств и методов им можно присваивать значения по умолчанию/начальное значение. Расширены возможности по настройке Visual FoxPro, осуществляемой из диалогового окна Options (Параметры), которое открывается командой Options (Параметры) из меню Tools (Сервис). Увеличен список групп файлов, задаваемых вкладкой File Locations (Расположение файлов). На вкладке View (Вид) появился счетчик List display count (Количество элементов в списке), позволяющий задать максимальное количество элементов списка, отображаемых при использовании IntelliSense. Значительно расширен набор параметров, задаваемый на вкладке Reports (Отчеты). 14 Ãëàâà 1 Ãëàâà 2 Íà÷àëî ðàáîòû ñ Visual FoxPro Вы приступаете к работе с Visual FoxPro 9.0. Многое из того, с чем вам придется работать (меню, панели инструментов, диалоговые окна), покажутся знакомыми, т. к. они характерны для среды Windows. Çàïóñê Visual FoxPro Для запуска программы из главного меню Windows выполните следующие действия: 1. Нажмите кнопку Пуск, расположенную в нижней части экрана. 2. В открывшемся главном меню Windows выберите команду Программы. Появится меню данной команды. 3. Выберите в меню команду Microsoft Visual FoxPro 9.0. На экране откроется главное окно Visual FoxPro 9.0 (рис. 2.1). СОВЕТ Для более быстрого запуска программы Visual FoxPro 9.0 можно создать на рабочем столе ярлык и назначить ему клавиши быстрого вызова. Тогда достаточно будет в любом окне Windows нажать заданную комбинацию клавиш, и программа запустится. Кроме того, для удобства запуска приложения можно использовать панель Быстрый запуск системы Windows, поместив на нее значок программы Visual FoxPro. Ãëàâíîå îêíî Visual FoxPro На рис. 2.1 показано главное окно Visual FoxPro, каким оно выглядит после запуска программы. В нем можно выделить семь основных объектов: заголовок окна, строка меню, панель инструментов, строка состояния, рабочая область, командное окно Command (Команда) и диалоговое окно Task Pane Manager (Менеджер панели задач). Заголовок находится в верхней части главного окна и содержит три объекта: копию значка программы Visual FoxPro, заголовок главного окна и значки управления этим окном. Строка меню содержит иерархическое меню Visual FoxPro. Список пунктов меню зависит от типа активного окна. 16 Ãëàâà 2 Ðèñ. 2.1. Ãëàâíîå îêíî Visual FoxPro 9.0 Visual FoxPro предоставляет в распоряжение пользователя много самых разнообразных панелей инструментов для работы с базами данных, формами, отчетами и запросами. Эти панели инструментов содержат набор кнопок, причем этот набор зависит от назначения конкретной панели инструментов. После запуска Visual FoxPro на экране отображается стандартная панель инструментов. В нижней части главного окна расположена строка состояния, в которую выводится информация о текущем состоянии активного окна, краткое описание выбранной кнопки панели инструментов или пункта меню. Вид отображаемой в строке состояния информации зависит от типа активного окна. Например, в окне конструктора форм в строке состояния выводится наименование активного объекта формы, а при просмотре таблицы в режиме Browse (Просмотр) в левой части строки состояния отображается наименование открытой таблицы, в середине строки состояния - номер текущей записи и индикатор режима работы. В Visual FoxPro 9.0 в главном окне по умолчанию отображается Task Pane Manager (Менеджер панели задач). Он содержит список проектов и баз данных, открывавшихся в последнее время, команды запуска справочной системы и мастеров по созданию базы данных и проекта, примеры, которые можно использовать в разработке, полезные ссылки на сайты в Интернете. Íà÷àëî ðàáîòû ñ Visual FoxPro 17 В процессе работы в главном окне Visual FoxPro открываются окна конструкторов форм, отчетов, запросов, проекта и другие окна. Все они являются дочерними по отношению к главному окну и закрываются при его закрытии. Кроме того, если при выходе из Visual FoxPro вы не закрыли окно проекта, с которым работали, то оно откроется по умолчанию в главном окне при следующем запуске программы. Ñèñòåìíîå ìåíþ è ñèñòåìíûå êíîïêè Заголовок главного окна содержит уменьшенную копию значка программы, текст "Microsoft Visual FoxPro" и кнопки управления размерами главного окна. При щелчке на значке пиктограммы открывается системное меню, содержащее команды перемещения и изменения размеров главного окна. В табл. 2.1 приведены команды, доступные из системного меню. Òàáëèöà 2.1. Íàçíà÷åíèå êîìàíä ñèñòåìíîãî ìåíþ Êîìàíäà Íàçíà÷åíèå Âîññòàíîâèòü Âîññòàíàâëèâàåò ïðåäûäóùèé ðàçìåð îêíà ïîñëå ìèíèìèçàöèè èëè ìàêñèìèçàöèè Ïåðåìåñòèòü Àêòèâèçèðóåò ãëàâíîå îêíî Visual FoxPro è ïîçâîëÿåò ïåðåìåùàòü åãî ñ ïîìîùüþ êëàâèø ïåðåìåùåíèÿ êóðñîðà Ðàçìåð Àêòèâèçèðóåò ãëàâíîå îêíî Visual FoxPro è ïîçâîëÿåò èçìåíÿòü åãî ðàçìåðû ñ ïîìîùüþ êëàâèø ïåðåìåùåíèÿ êóðñîðà Ñâåðíóòü Ñâåðòûâàåò ãëàâíîå îêíî FoxPro äî ðàçìåðà êíîïêè è ïîìåùàåò åå íà ïàíåëü çàäà÷ Windows Ðàçâåðíóòü Ðàçâåðòûâàåò ãëàâíîå îêíî Visual FoxPro âî âåñü ýêðàí Çàêðûòü Çàêðûâàåò ãëàâíîå îêíî ïðîãðàììû Visual FoxPro СОВЕТ Для быстрого закрытия программы Visual FoxPro дважды щелкните на уменьшенной копии значка программы в заголовке главного окна. Для того чтобы быстро восстановить/развернуть главное окно, дважды щелкните по панели заголовка. Текст Microsoft Visual FoxPro заголовка главного окна в случае необходимости можно легко изменить, присвоив главному окну Visual FoxPro любое другое название или удалив название вообще. Для этого введите в командном окне следующую команду: MODIFY WINDOW SCREEN TITLE "Новый заголовок главного окна" или _SCREEN.caption = "Новый заголовок главного окна" В правой стороне заголовка расположены кнопки управления окном. Их назначение описано в табл. 2.2. 18 Ãëàâà 2 Òàáëèöà 2.2. Íàçíà÷åíèå êíîïîê óïðàâëåíèÿ îêíîì Êíîïêà Íàçâàíèå Íàçíà÷åíèå Ñâåðíóòü Ñâîðà÷èâàåò ãëàâíîå îêíî FoxPro äî ðàçìåðà êíîïêè è ïîìåùàåò åå íà ïàíåëü çàäà÷ Windows Âîññòàíîâèòü îáðàòíî Óìåíüøàåò ðàçìåð ðàçâåðíóòîãî îêíà, ïîçâîëÿÿ â äàëüíåéøåì èçìåíÿòü åãî Ðàçâåðíóòü Ðàçâåðòûâàåò ãëàâíîå îêíî Visual FoxPro âî âåñü ýêðàí Çàêðûòü Çàêðûâàåò ãëàâíîå îêíî Visual FoxPro, òåì ñàìûì ïðåêðàùàÿ ðàáîòó ïðîãðàììû Çíàêîìñòâî ñî ñòàíäàðòíîé ïàíåëüþ èíñòðóìåíòîâ Visual FoxPro В Visual FoxPro имеется большое количество панелей инструментов, используемых при создании форм, отчетов и запросов. Подробно они будут рассмотрены в соответствующих главах. Сначала изучим стандартную панель инструментов (рис. 2.2), которая используется во всех режимах работы. Ðèñ. 2.2. Ñòàíäàðòíàÿ ïàíåëü èíñòðóìåíòîâ Visual FoxPro Назначение кнопок стандартной панели инструментов описано в табл. 2.3. Òàáëèöà 2.3. Íàçíà÷åíèå êíîïîê ñòàíäàðòíîé ïàíåëè èíñòðóìåíòîâ Êíîïêà Íàçâàíèå Íàçíà÷åíèå New (Íîâûé) Ïîçâîëÿåò ñîçäàòü íîâûé ôàéë (ïðîåêò, áàçó äàííûõ, òàáëèöó, çàïðîñ, ôîðìó, îò÷åò, êëàññ) Open (Îòêðûòü) Îòêðûâàåò ñóùåñòâóþùèé ôàéë Save (Ñîõðàíèòü) Ñîõðàíÿåò îòêðûòûé ôàéë Print One Copy (Ïå÷àòàòü îäíó êîïèþ) Ïå÷àòàåò ñîäåðæèìîå àêòèâíîãî îêíà Print Preview (Ïðîñìîòð ïå÷àòè) Îòêðûâàåò îêíî ïðåäâàðèòåëüíîãî ïðîñìîòðà ïå÷àòàåìîãî äîêóìåíòà Cut (Âûðåçàòü) Óäàëÿåò âûäåëåííûé òåêñò èëè âûäåëåííûå îáúåêòû è ïîìåùàåò èõ â áóôåð Copy (Êîïèðîâàòü) Êîïèðóåò â áóôåð âûäåëåííûé òåêñò èëè âûäåëåííûå îáúåêòû, íå óäàëÿÿ èõ Paste (Âñòàâèòü) Âñòàâëÿåò ñîäåðæèìîå áóôåðà. Äåéñòâèå ýòîé êíîïêè çàâèñèò îò òîãî, â êàêîì èç ðåæèìîâ âû ðàáîòàåòå Íà÷àëî ðàáîòû ñ Visual FoxPro 19 Òàáëèöà 2.3 (îêîí÷àíèå) Êíîïêà Íàçâàíèå Íàçíà÷åíèå Undo (Îòìåíèòü) Îòìåíÿåò âûïîëíåííûå äåéñòâèÿ Redo (Âîññòàíîâèòü) Âîññòàíàâëèâàåò îòìåíåííûå äåéñòâèÿ Run (Âûïîëíèòü) Çàïóñêàåò íà âûïîëíåíèå Modify Form (Ìîäèôèöèðîâàòü ôîðìó) Ïîçâîëÿåò ìîäèôèöèðîâàòü SÑX-ôàéë, ñâÿçàííûé ñ äàííîé ôîðìîé Databases (Áàçû äàííûõ) Ñîäåðæèò ñïèñîê îòêðûòûõ áàç äàííûõ Command Window (Êîìàíäíîå îêíî) Îòêðûâàåò êîìàíäíîå îêíî Data Session Window (Îêíî ñåàíñà äàííûõ) Îòêðûâàåò îêíî Data Session Properties Window (Îêíî ñâîéñòâ) Îòêðûâàåò îêíî Properties (Ñâîéñòâà), èñïîëüçóåìîå äëÿ íàñòðîéêè ñâîéñòâ Document View Window (Îêíî ïðîñìîòðà äîêóìåíòà) Îòêðûâàåò îêíî Document View (Ïðîñìîòð äîêóìåíòà), â êîòîðîì îòîáðàæàåòñÿ ñïèñîê ïðîöåäóð, ôóíêöèé îòêðûòîé â îêíå ðåäàêòîðà ïðîãðàììû Class Browser (Îáçîð êëàññîâ) Îòêðûâàåò îêíî Class Browser (Îáçîð êëàññîâ), ïðåäíàçíà÷åííîå äëÿ ðàáîòû ñ êëàññàìè Object Browser (Îáçîð îáúåêòîâ) Îòêðûâàåò îêíî Object Browser (Îáçîð îáúåêòîâ), ïîçâîëÿþùåå ïðîñìàòðèâàòü êëàññû, ñâîéñòâà, ìåòîäû, ñîáûòèÿ è êîíñòàíòû âûáðàííûõ áèáëèîòåê Task Pane (Ïàíåëü çàäà÷) Îòêðûâàåò îêíî Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) Toolbox (Èíñòðóìåíòàðèé) Îòêðûâàåò îêíî Toolbox (Èíñòðóìåíòàðèé), ñîäåðæàùåå ýëåìåíòû, êîòîðûå èñïîëüçîâàëèñü ðàçðàáîò÷èêîì ïðè ñîçäàíèè ïðèëîæåíèÿ ЗАМЕЧАНИЕ Если по внешнему виду кнопки вы не можете определить ее назначение, установите указатель мыши на кнопку. При этом под курсором появится всплывающая подсказка с ее наименованием, а в левой части строки состояния будет выведено краткое описание указанной кнопки. По умолчанию в главном окне программы Visual FoxPro всегда присутствует стандартная панель инструментов. Если она не отображается на экране, выполните следующие действия: 1. Выберите в меню View (Вид) команду Toolbars (Панели инструментов). Откроется диалоговое окно Toolbars (рис. 2.3), в котором расположен список всех панелей инструментов программы Visual FoxPro. 20 Ãëàâà 2 2. Установите флажки слева от наименований тех панелей, которые необходимо разместить в главном окне. 3. Нажмите кнопку OK. Используя флажки, расположенные в нижней части диалогового окна Toolbars (Панели инструментов), можно изменить вид кнопок панелей инструментов. Назначение этих флажков описано в табл. 2.4. Òàáëèöà 2.4. Íàçíà÷åíèå ôëàæêîâ äèàëîãîâîãî îêíà Toolbars Óñòàíîâêà ôëàæêà Íàçíà÷åíèå Color buttons (Öâåòíûå êíîïêè) Êíîïêè íà ïàíåëè èíñòðóìåíòîâ ñòàíîâÿòñÿ öâåòíûìè Large buttons (Áîëüøèå êíîïêè) Óâåëè÷èâàåòñÿ ðàçìåð êíîïîê ToolTips (Ïîäñêàçêà) Âûâîäèòñÿ êðàòêîå îïèñàíèå êíîïêè ïðè óñòàíîâêå êóðñîðà íà íåå Ðèñ. 2.3. Äèàëîãîâîå îêíî Toolbars После установки Visual FoxPro стандартная панель инструментов размещается в верхней части главного окна, но она, как и все остальные панели инструментов, может перемещаться в любое место экрана. Для этого нужно установить курсор мыши в любое свободное от кнопок место на панели инструментов, нажать кнопку мыши и, не отпуская ее, переместить панель на новое место. Если поместить панель инструментов не по краю главного окна Visual FoxPro, то можно изменять ее размер (рис. 2.4). Íà÷àëî ðàáîòû ñ Visual FoxPro 21 Ðèñ. 2.4. Ïàíåëü èíñòðóìåíòîâ ìîæíî ðàñïîëîæèòü â ëþáîì ìåñòå ãëàâíîãî îêíà Êðàòêèé îáçîð ìåíþ Visual FoxPro При работе с Visual FoxPro можно использовать как кнопки панели инструментов, так и строку меню, все команды которого являются иерархическими. При выборе определенной команды открывается ее подменю. При отсутствии в главном окне Visual FoxPro других открытых окон, строка меню содержит пункты File (Файл), Edit (Правка), View (Вид), Tools (Инструменты), Program (Программа), Window (Окно) и Help (Справка). При открытии окон в меню добавляются команды, применимые только к объектам данного окна. Например, при работе с таблицами в главное меню добавляется пункт меню Table (Таблица), при открытии на экране формы в меню появляется пункт Form (Форма). ЗАМЕЧАНИЕ При выборе команды в строке состояния появляется ее краткое описание. 22 Ãëàâà 2 Âûïîëíåíèå êîìàíä ìåíþ Выполнение команд меню в Visual FoxPro осуществляется стандартными для Windows действиями. Перечислим возможные способы. При использовании мыши достаточно установить курсор на пункт меню, содержащий выбираемую команду, и нажать кнопку мыши. Если команда содержит подменю, следует выбрать в нем требуемую команду. При использовании клавиатуры сначала нужно активизировать строку меню нажатием клавиши или . Затем установить указатель на требуемую команду с помощью клавиш <←>, <→> , <> , <↓> и нажать . Клавиша <←> используется для перемещения на команду, находящуюся левее текущей. При нажатии на эту клавишу, когда текущая команда является самой левой, вы переместитесь в системное меню. Дальнейшее нажатие клавиши <←> установит указатель на самую правую команду строки меню. Остальные клавиши используются аналогично. Для наиболее часто выполняемых команд можно запомнить связанные с ними "горячие" клавиши, которые состоят из комбинации символа и подчеркнутого символа в имени команды. При использовании "горячих" клавиш не требуется нажимать клавишу . Îòêàç îò âûïîëíåíèÿ êîìàíäû ìåíþ Если строка меню активизирована, но необходимо отказаться от выполнения команды меню, следует воспользоваться одним из следующих способов: нажать клавишу ; щелкнуть мышью в любом свободном месте основного окна Visual FoxPro. Для возврата из подменю в меню предыдущего уровня нужно нажать клавишу . Êîìàíäû ìåíþ File Меню File (Файл) содержит команды, связанные с доступом к файлам. Эти команды позволяют создавать новые файлы разных типов, открывать существующие файлы, закрывать, сохранять и печатать их. Команда Save As HTML (Сохранить файл в формате HTML) открывает соответствующее диалоговое окно, позволяющее сохранить текущую форму, меню, отчет или таблицу в формате HTML (HyperText Markup Language). Очень удобна команда Revert (Возвратить), позволяющая отменить все изменения файла, сделанные в текущем сеансе редактирования. В нижней части меню располагаются имена последних четырех открывавшихся проектов, которые предоставляют возможность быстрого открытия любого из них. Последней командой этого меню является команда Exit (Выход). Она аналогична действию команды QUIT в командном окне и предназначена для выхода из Visual FoxPro. Êîìàíäû ìåíþ Edit Меню Edit (Правка) имеется во многих приложениях Windows. В Visual FoxPro команды этого меню используются при создании форм и отчетов и при редактировании программ. Íà÷àëî ðàáîòû ñ Visual FoxPro 23 Команды Paste Special (Специальная вставка), Insert Object (Вставить объект), Object (Объект) и Links (Связи) применимы только к полям типа General и OLE-объектам. Остальные команды применяются при редактировании как программ, так и полей таблиц. Незнакомой по другим приложениям Windows может оказаться команда Go to Line (Переход на строку), предназначенная в Visual FoxPro для работы с программами. С помощью данной команды можно переходить к строке с указанным номером в тексте программы. При вводе имени объекта, свойства, команды или функции после ввода активирующего символа (как правило, точка, пробел или открывающая скобка) команда List Members (Список значений) Visual FoxPro активизирует список допустимых значений (свойств, методов, событий и объектов) для указанного в редакторе объекта. Команда Quick Info (Быстрая информация) отображает допустимый вариант записи данной команды, функции, переменной. Последняя в меню - команда Properties (Свойства), при выборе которой открывается диалоговое окно Edit Properties (Редактирование свойств), позволяющее задавать параметры сохранения программных файлов, просматривать их свойства, дату последнего редактирования и занимаемый объем на диске. Êîìàíäû ìåíþ View Этот пункт меню содержит команды, управляющие просмотром текущего открытого файла. Если нет открытых файлов, то меню содержит всего одну команду Toolbars (Панели инструментов). Эта команда открывает диалоговое окно, в котором перечислены панели инструментов, используемые при работе в Visual FoxPro. При работе в конструкторах меню View (Вид) содержит команды, управляющие отображением используемых в данном режиме работы панелей инструментов. Так, например, при работе в конструкторе форм в меню появляются команды для выбора следующих панелей: Color Palette (Цветовая палитра), Layout (Расположение) и Form Controls (Элементы управления формы). При просмотре таблиц или редактировании форм, меню или отчетов в меню появляются дополнительные команды. Например, при работе с таблицами в меню появляется несколько новых команд. Команды Edit (Редактирование) и Browse (Обзор) переводят таблицу в режим просмотра и редактирования содержащихся в ней записей. Отличие между этими двумя командами состоит в стиле отображения содержимого таблицы. Êîìàíäû ìåíþ Format Этот пункт меню доступен при работе в конструкторе форм, отчетов, программ, текстовых файлов и этикеток. Меню Format (Формат) содержит команды, управляющие характеристиками шрифта, выравниванием текста и объектов, определением интервалов между объектами. Однако при работе с различными конструкторами становятся доступными и дополнительные команды. Êîìàíäû ìåíþ Tools Это меню содержит мастера и средства отладки программ. Первой в меню Tools (Сервис) располагается команда Wizards (Мастера), открывающая список мастеров Visual FoxPro. Мастер - это программа, которая помогает 24 Ãëàâà 2 пользователю в решении таких задач, как создание форм, отчетов, таблиц. Процесс создания при этом заключается в ответах на вопросы мастера относительно создаваемого объекта. Далее в меню расположена команда Macros (Макрос), предназначенная для создания макросов. Команда Debugger (Отладчик) предназначена для отладки программ. Она открывает диалоговое окно Visual FoxPro Debugger, в котором можно просмотреть значения переменных, элементов массива, полей, возвращаемые функциями Visual FoxPro значения и т. д. Команда Component Gallery (Галерея компонентов) открывает окно Catalogs - Component Gallery (Каталоги - Галерея компонентов) для работы в Галерее компонентов Visual FoxPro. Команда Coverage Profiler (Анализ выполнения) позволяет просмотреть информацию о выполненной программе. Команда Object Browser (Браузер объектов) открывает одноименное окно, позволяющее просматривать классы, свойства, методы, события и константы выбранных библиотек. Команда IntelliSense Manager (Менеджер IntelliSense) открывает окно настройки параметров, управляющих анализом синтаксиса вводимых в окне редактора программных конструкций. Команда Task List (Список заданий) позволяет запомнить место, в которое можно вернуться впоследствии нажатием оперативной клавиши. Кроме того, данная команда позволяет вводить список необходимых задач аналогично Microsoft Outlook. Команда Document View (Просмотр документа) открывает диалоговое окно, в котором отображается список процедур, функций, а также операторов для открытой в окне редактора программы. При выборе элемента списка осуществляется переход на этот элемент в окне редактора. Команды Task Pane (Панель задач) и Toolbox (Инструментарий) открывают соответственно диалоговые окна Task Pane Manager (Менеджер панели задач) и ToolBox (Инструментарий). Окно ToolBox (Инструментарий) отображает элементы, которые использовались при создании приложений. Последняя команда в меню Tools (Инструменты) - Options (Параметры). С ее помощью можно настраивать конфигурацию Visual FoxPro. Êîìàíäû ìåíþ Program Меню Program (Программа) содержит команды, связанные с выполнением и компиляцией программ. Êîìàíäû ìåíþ Window В меню Window (Окно) имеются команды, которые управляют открытыми на экране окнами. С помощью этих команд можно упорядочивать, скрывать, очищать окна и переходить из одного окна в другое. Кроме того, команды данного меню позволяют активизировать любое открытое окно. Команда Command Window (Командное окно) меню Window активизирует командное окно Command, позволяющее использовать команды при работе с Visual FoxPro. Íà÷àëî ðàáîòû ñ Visual FoxPro 25 Команда Properties Window (Окно свойств) открывает диалоговое окно Properties (Свойства), позволяющее просмотреть и изменить свойства объектов, расположенных в форме курсоров и отношений. Для открытия окна Data Session (Окно данных), которое содержит список всех открытых в данном сеансе таблиц и отношений между ними (рис. 2.5), используется команда Data Session (Окно данных). Ðèñ. 2.5. Îêíî Data Session ïîêàçûâàåò ðàáî÷èå îáëàñòè ñ îòêðûòûìè òàáëèöàìè è îòíîøåíèÿìè ìåæäó íèìè В центре окна Data Session (Окно данных) находятся кнопки управления таблицами. Кнопка Properties (Свойства) открывает окно, позволяющее просмотреть и изменить текущие свойства таблицы. Для открытия таблицы в новой рабочей области используется кнопка Open (Открыть). Кнопка Browse (Табличный режим) открывает таблицу для просмотра содержащихся в ней записей. Кнопка Close (Закрыть) окна Data Session (Окно данных) закрывает таблицу в текущей рабочей области, а кнопка Relations (Отношения) позволяет определить отношения между открытыми таблицами. Êîìàíäû ìåíþ Help Help (Справка) - последняя команда меню главного окна. Табл. 2.5 содержит список команд, доступных в этом меню. Òàáëèöà 2.5. Íàçíà÷åíèå êîìàíä ìåíþ Help Êîìàíäà ìåíþ Íàçíà÷åíèå Microsoft Visual FoxPro Help Îòêðûâàåò îêíî ñïðàâî÷íîé ñèñòåìû Visual FoxPro 9.0 (Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro) MSDN Search (Ïîèñê â MSDN) 1 Ïîèñê ñïðàâî÷íîé èíôîðìàöèè â MSDN1 Microsoft Developer Network, собрание документов компании Microsoft, содержащее сведения обо всех ее разработках. - Ред. 26 Ãëàâà 2 Òàáëèöà 2.5 (îêîí÷àíèå) Êîìàíäà ìåíþ Íàçíà÷åíèå Technical Support (Òåõíè÷åñêàÿ ïîääåðæêà) Îòîáðàæàåò èíôîðìàöèþ î òåõíè÷åñêîé ïîääåðæêå, îêàçûâàåìîé Microsoft Visual FoxPro on the Web (Visual FoxPro íà Web-ñòðàíèöàõ) Îòêðûâàåò Web-ñòðàíèöó Microsoft Visual FoxPro. Äëÿ èñïîëüçîâàíèÿ ýòîé êîìàíäû íåîáõîäèì äîñòóï â Èíòåðíåò About Microsoft Visual FoxPro (Î ïðîãðàììå Microsoft Visual FoxPro) Îòêðûâàåò äèàëîãîâîå îêíî About Microsoft Visual FoxPro, â êîòîðîì ñîäåðæèòñÿ èíôîðìàöèÿ îá àâòîðñêèõ ïðàâàõ íà ïðîãðàììó, íîìåð âåðñèè ïðîãðàììû è åå èäåíòèôèêàòîð, èìÿ ôàéëà ðåñóðñîâ è èñïîëüçóåìûé ïî óìîë÷àíèþ êàòàëîã.  ýòîì îêíå ìîæíî òàêæå ïîñìîòðåòü ðàçíîîáðàçíóþ èíôîðìàöèþ î êîìïüþòåðå, ðåñóðñàõ ñèñòåìû Âûõîä èç Visual FoxPro Чтобы завершить работу с программой Visual FoxPro, необходимо ее закрыть. Для этого можно воспользоваться одним из следующих способов: выбрать в меню File (Файл) команду Exit (Выход); выбрать команду Закрыть в системном меню главного окна Visual FoxPro; дважды щелкнуть на значке Visual FoxPro в заголовке главного окна; ввести в командном окне команду QUIT. Если форма, отчет, запрос или какой-либо другой объект приложения не сохранен, Visual FoxPro предложит сохранить его. Для этого на экране появляется диалоговое окно, аналогичное представленному на рис. 2.6. Ðèñ. 2.6. Äèàëîãîâîå îêíî, ïîÿâëÿþùååñÿ ïðè ïîïûòêå âûõîäà èç Visual FoxPro áåç ñîõðàíåíèÿ èíôîðìàöèè Для продолжения операции следует нажать одну из кнопок (табл. 2.6.). Òàáëèöà 2.6. Íàçíà÷åíèå êíîïîê äèàëîãîâîãî îêíà, ïîÿâëÿþùåãîñÿ ïðè ïîïûòêå âûõîäà èç Visual FoxPro áåç ñîõðàíåíèÿ èíôîðìàöèè Êíîïêà Íàçíà÷åíèå Yes (Äà) Ñîõðàíåíèå ôàéëà è âûõîä èç Visual FoxPro; åñëè ôàéëó åùå íå ïðèñâîåíî èìÿ, Visual FoxPro îòêðûâàåò äèàëîãîâîå îêíî Save As (Ñîõðàíèòü Êàê) No (Íåò) Âûõîä èç Visual FoxPro áåç ñîõðàíåíèÿ ôàéëà Cancel (Îòìåíà) Çàêðûòèå òåêóùåãî äèàëîãîâîãî îêíà è âîçâðàùåíèå â Visual FoxPro Íà÷àëî ðàáîòû ñ Visual FoxPro 27 Ìåíåäæåð ïàíåëè çàäà÷ В Visual FoxPro 9.0 имеется менеджер задач, призванный облегчить разработку приложения. Содержащиеся в его окне ссылки позволяют запустить мастера создания приложения и базы данных, открыть справочную систему, приложение или базу данных из списка открывавшихся в последнее время приложений или баз данных и многое другое. Для открытия окна менеджера панели задач Task Pane Manager (Менеджер панели задач) (рис. 2.7) можно воспользоваться одним из следующих способов: выбрать в меню Tools (Сервис) команду Task Pane (Панель задач); нажать кнопку Task Pane (Панель задач) стандартной панели инструментов. Кроме того, окно менеджера задач открывается в главном окне Visual FoxPro каждый раз после запуска, если в диалоговом окне Task Pane Options (Параметры панели задач) установлен флажок Open the Task Pane Manager when Visual FoxPro starts (Открывать панель менеджера задач при запуске Visual FoxPro). Ðèñ. 2.7. Îñíîâíàÿ ñòðàíèöà äèàëîãîâîãî îêíà Task Pane Manager Панель инструментов (табл. 2.7). менеджера содержит кнопки следующего назначения 28 Ãëàâà 2 Òàáëèöà 2.7. Íàçíà÷åíèå êíîïîê ïàíåëè èíñòðóìåíòîâ Task Pane Manager Êíîïêà Íàçíà÷åíèå Îòêðûâàåò îñíîâíóþ ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, ñîäåðæàùóþ ñïèñîê íåäàâíî èñïîëüçóåìûõ ïðîåêòîâ è áàç äàííûõ, êíîïêè äëÿ ñîçäàíèÿ íîâûõ, à òàêæå ññûëêè, ñîäåðæàùèå èíôîðìàöèþ î Microsoft Visual FoxPro Îòîáðàæàåò â îêíå ìåíåäæåðà ïàíåëè çàäà÷ ññûëêè íà îñíîâíûå ñàéòû ñ èíôîðìàöèåé è ïîñëåäíèìè íîâîñòÿìè î Visual FoxPro Ïîçâîëÿåò îïðåäåëèòü íàñòðîéêè ñðåäû Visual FoxPro è ñâÿçàòü ñîáñòâåííûé ïðîåêò ñ íèìè Ñîäåðæèò ñïèñîê ïðèìåðîâ èñïîëüçîâàíèÿ ýëåìåíòîâ Visual FoxPro Îòêðûâàåò ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, êîòîðàÿ ïîìîãàåò â èñïîëüçîâàíèè ñóùåñòâóþùèõ XML Web-ñåðâèñîâ è ñîçäàíèè íîâûõ Ïðåäíàçíà÷åíà äëÿ ïîèñêà ôàéëîâ íà êîìïüþòåðå, íå âûõîäÿ èç Microsoft Visual FoxPro Ïðîâîäíèê äàííûõ. Ïîçâîëÿåò ïðîñìàòðèâàòü ïåðå÷åíü óñòàíîâëåííûõ ñîåäèíåíèé ê áàçàì äàííûõ, äîáàâëÿòü íîâûå ñîåäèíåíèÿ Çàïóñêàåò èãðó Minesweeper (Ñàïåð) Îáíîâëÿåò ñîäåðæèìîå äèàëîãîâîãî îêíà Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) Îòêðûâàåò äèàëîãîâîå îêíî Task Pane Options (Ïàðàìåòðû ïàíåëè çàäà÷), ïîçâîëÿþùåå íàñòðîèòü ïàðàìåòðû êàê ñòàíäàðòíîé, òàê è èíäèâèäóàëüíî ñîçäàííîé ïàíåëè çàäà÷ Основная страница менеджера панели задач (см. рис. 2.7), открываемая при нажатии на панели инструментов кнопки Start (Начало), содержит ссылки (табл. 2.8). Òàáëèöà 2.8. Íàçíà÷åíèå ññûëîê ñòðàíèöû Start Ññûëêà Íàçíà÷åíèå What’s new in Visual FoxPro? Îòêðûâàåò îêíî ñïðàâî÷íîé ñèñòåìû íà ñòðàíèöå, îïèñû(×òî íîâîãî â Visual FoxPro?) âàþùåé íîâûå âîçìîæíîñòè Visual FoxPro 9.0 Customize my development Îòêðûâàåò ñòðàíèöó ìåíåäæåðà ïàíåëè çàäà÷, ñîäåðæàùóþ environment (Íàñòðîèòü ñðåäó íàñòðîéêè ñðåäû Visual FoxPro ðàçðàáîòêè) Create a new application (Ñîç- Çàïóñêàåò ìàñòåðà ñîçäàíèÿ ïðîåêòà äàòü íîâûé ïðîåêò) Create a new database (Ñîç- Çàïóñêàåò ìàñòåðà ñîçäàíèÿ áàçû äàííûõ äàòü íîâóþ áàçó äàííûõ) Go to the Visual FoxPro web Îòêðûâàåò îôèöèàëüíûé ñàéò Microsoft Visual FoxPro. Äàííàÿ site (Ïåðåéòè íà ñàéò Visual âîçìîæíîñòü äîñòóïíà ïðè ïîäêëþ÷åíèè êîìïüþòåðà ê Èíòåðíåòó FoxPro) Íà÷àëî ðàáîòû ñ Visual FoxPro 29 Òàáëèöà 2.8 (îêîí÷àíèå) Ññûëêà Íàçíà÷åíèå Manage (Óïðàâëÿòü) Îòêðûâàåò äèàëîãîâîå îêíî My Tools (Ìîè èíñòðóìåíòû) Open Project (Îòêðûòü ïðîåêò) Îòêðûâàåò äèàëîãîâîå îêíî Open (Îòêðûòü) äëÿ âûáîðà íåîáõîäèìîãî ïðîåêòà New Project (Íîâûé ïðîåêò) Îòêðûâàåò äèàëîãîâîå îêíî Create (Ñîçäàòü) äëÿ ñîçäàíèÿ íîâîãî ïðîåêòà Open Database (Îòêðûòü áàçó Îòêðûâàåò äèàëîãîâîå îêíî Open (Îòêðûòü) äëÿ âûáîðà íåäàííûõ) îáõîäèìîé áàçû äàííûõ New Database äàííûõ) (Íîâàÿ áàçà Îòêðûâàåò äèàëîãîâîå îêíî Create (Ñîçäàòü) äëÿ ñîçäàíèÿ íîâîé áàçû äàííûõ Для настройки параметров менеджера панели задач используется диалоговое окно Task Pane Options (Параметры панели задач) (рис. 2.8), открываемое нажатием кнопки Options (Параметры) панели инструментов. Ðèñ. 2.8. Äèàëîãîâîå îêíî Task Pane Options В левой части окна Task Pane Options (Параметры панели задач) находятся папки для настройки страниц диалогового окна Task Pane Manager (Менеджер панели задач). Общие параметры настраиваются с помощью папки Task Pane Manager (Менеджер панели задач), которая содержит три раздела General (Общие), Proxy Server (Прокси сервер) и Customize (Пользовательские). При выборе пункта General (Общие) 30 Ãëàâà 2 (см. рис. 2.8) в правой части окна появляется список Pane (Панель), из которого выбирается страница, отображаемая при открытии менеджера панели задач, и опции, задающие частоту обновления информации из Интернета (табл. 2.9). Расположенный ниже флажок Open the Task Pane Manager when Visual FoxPro starts (Открывать менеджер панели задач при запуске Visual FoxPro) указывает, надо ли запускать менеджер панели задач при запуске Visual FoxPro. Òàáëèöà 2.9. Îïöèè íàñòðîéêè ÷àñòîòû îáíîâëåíèÿ èíôîðìàöèè èç Èíòåðíåòà Ññûëêà Íàçíà÷åíèå Every time you start the Task Pane Îáíîâëÿåò ñîäåðæèìîå ìåíåäæåðà ïàíåëè çàäà÷ Manager (Êàæäûé ðàç ïðè çàïóñêå êàæäûé ðàç ïðè åãî çàïóñêå ìåíåäæåðà ïàíåëè çàäà÷) Every time the pane is loaded (Êàæäûé Îáíîâëÿåò ñòðàíèöó, ñîäåðæàùóþ èíôîðìàöèþ èç ðàç ïðè çàãðóçêå ïàíåëè) Èíòåðíåòà, ïðè êàæäîì åå îòêðûòèè Every x days (Êàæäûå x äíåé) Îñóùåñòâëÿåò îáíîâëåíèå èíôîðìàöèè êàæäûå x äíåé, çàäàííûõ ñ ïîìîùüþ ñ÷åò÷èêà Never (Íå îáíîâëÿòü) Íå îáíîâëÿåò ñîäåðæèìîå äèàëîãîâîãî îêíà Task Pane Manager (Ìåíåäæåð ïàíåëè çàäà÷) ЗАМЕЧАНИЕ Обновление содержимого диалогового окна Task Pane Manager (Менеджер панели задач) можно осуществить с помощью кнопки Refresh (Обновить), расположенной на панели инструментов. Можно создать свою панель задач, изменить существующую или установить панель задач с диска. Для этого необходимо выполнить следующие действия: 1. В окне Task Pane Manager (Менеджер панели задач) нажмите кнопку Options (Параметры) панели инструментов. 2. В левой части открывшегося окна Task Pane Options (Параметры панели задач) выберите папку Task Pane Manager (Менеджер панели задач), а затем пункт Customize (Настроить). 3. На открывшейся страничке нажмите одну из следующих кнопок: Install Pane (Установить панель) - устанавливает новую панель; Customize Pane (Настроить панель) - изменяет существующую или создает новую панель. Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro При разработке приложений в Visual FoxPro, как и в любой другой системе, неоднократно возникает необходимость просмотра возможностей средств программирования, отдельных команд и функций. В Visual FoxPro, кроме традиционной справочной системы, можно найти интересующую информацию во встроенной документации, многочисленных примерах, а также на Web-страницах. Все эти средства выбираются из меню Help (Справка). Íà÷àëî ðàáîòû ñ Visual FoxPro 31 Подобно большинству наиболее популярных программ Visual FoxPro имеет контекстнозависимую справочную систему, т. е. можно получить справку по применению средства, с которым вы работаете в настоящий момент. Для этого можно воспользоваться одним из следующих способов: выбрать в меню Help (Справка) команду Microsoft Visual FoxPro Help (Справочная система Visual FoxPro); в диалоговом окне Task Pane Manager (Менеджер панели задач) выбрать ссылку What’s new in Visual FoxPro? (Что нового в Visual FoxPro?); нажать в любой момент сеанса работы с Visual FoxPro. Справочная система выберет раздел справочника, касающийся информации о текущей операции; некоторые из диалоговых окон содержат кнопку Help (Справка) на панели инструментов или непосредственно в окне. Если кнопка Help (Справка) была нажата при работе в одном из них, Visual FoxPro сообщит о том, как пользоваться этим диалоговым окном (рис. 2.9). Ðèñ. 2.9. Ñïðàâî÷íàÿ ñèñòåìà Visual FoxPro ïîäñêàçûâàåò, êàê ðàáîòàòü ñ òåêóùèì äèàëîãîâûì îêíîì Îêíî ñïðàâî÷íîé ñèñòåìû На рис. 2.10 представлено окно справочной системы Visual FoxPro, открывающееся при выборе в меню Help (Справка) команды Microsoft Visual FoxPro Help (Справочная система Visual FoxPro). 32 Ãëàâà 2 Ðèñ. 2.10. Îêíî ñïðàâî÷íîé ñèñòåìû Microsoft Visual FoxPro 9.0 Это окно разделено на две области. В левой области окна справочной системы расположены четыре вкладки, на которых осуществляется поиск требуемой информации. Правая область окна содержит информацию выбранного раздела. С помощью курсора можно управлять шириной областей окна справки. Для этого нужно выполнить следующие действия: 1. Установить курсор на разделительную полосу между областями. 2. Когда курсор примет вид двунаправленной стрелки, нажать левую кнопку мыши и, удерживая ее в нажатом состоянии, переместить в ту или иную сторону в зависимости от того, какую область надо расширить. 3. После задания нужного размера области отпустить кнопку мыши. Окно справочной системы имеет панель инструментов. Левая область окна справочной системы содержит четыре вкладки, предназначенные для упрощения поиска необходимой информации (табл. 2.10). Òàáëèöà 2.10. Íàçíà÷åíèå âêëàäîê, ïðåäíàçíà÷åííûõ äëÿ óïðîùåíèÿ ïîèñêà èíôîðìàöèè Âêëàäêà Íàçíà÷åíèå Ñîäåðæàíèå Ïîèñê èíôîðìàöèè ïî îãëàâëåíèþ ñïðàâî÷íîé ñèñòåìû Óêàçàòåëü Ïîèñê òåì ïî íà÷àëüíûì áóêâàì íàçâàíèÿ òåìû Ïîèñê Ïîèñê êëþ÷åâûõ ñëîâ è ôðàç â òåìàõ Èçáðàííîå Ñîäåðæèò èçáðàííûå òåìû ñïðàâî÷íîé ñèñòåìû Рассмотрим более подробно работу с вкладками справочной системы. Íà÷àëî ðàáîòû ñ Visual FoxPro 33 Èñïîëüçîâàíèå âêëàäêè Ñîäåðæàíèå Первой вкладкой окна справочной системы является вкладка Содержание (см. рис. 2.10). Эта вкладка реализует наиболее традиционный подход к получению справочной информации. Вкладка Содержание включает перечень разделов справочной системы. Перед наименованием каждого раздела отображается значок. В начальный момент все разделы закрыты, чему соответствует значок закрытой книги. Для открытия какого-либо из разделов нужно установить курсор на открываемый раздел и нажать кнопку мыши. В результате значок примет вид открытой книги. При повторном нажатии кнопки мыши на значке открытой книги раздел закрывается. Открытый раздел может содержать подразделы и темы (рис. 2.11). Теме соответствует значок со знаком вопроса. Для вывода содержимого определенной темы в правой области окна справки необходимо установить курсор на ее название или соответствующий ей значок и нажать кнопку мыши. Ðèñ. 2.11. Ïåðåìåùàÿñü ïî èåðàðõèè íà âêëàäêå Ñîäåðæàíèå, ìîæíî íàéòè ðàçäåë ñ íóæíîé ñïðàâî÷íîé èíôîðìàöèåé Можно последовательно получить справку по нескольким темам одного раздела, не прибегая к помощи кнопок справочной системы, поскольку в тексте справки имеются ссылки, по которым может быть осуществлен переход. 34 Ãëàâà 2 Ïîèñê ñïðàâêè ïî ïðåäìåòíîìó óêàçàòåëþ Для поиска справки по предметному указателю используется вкладка Указатель (рис. 2.12) окна справочной системы. В верхней части вкладки расположено поле, предназначенное для ввода ключевого слова, по которому будет осуществляться поиск. Ниже него находится список ключевых слов, упорядоченный по алфавиту. По мере ввода букв в поле ввода в списке ключевых слов появляются разделы, первые буквы названий которых совпадают с уже введенными буквами. Ðèñ. 2.12. Âêëàäêà Óêàçàòåëü äëÿ ïîèñêà ðàçäåëà ïî íà÷àëüíûì áóêâàì íàçâàíèÿ òåìû Можно просто просмотреть список ключевых слов с помощью полосы прокрутки, выделить нужный раздел, а затем нажать кнопку Показать. В правой области окна появится текст справки. Для поиска информации с использованием вкладки Указатель следует ввести начальные буквы темы, которую надо найти. В качестве примера было введено properties (рис. 2.12). Если справочная система обнаружит в списке названия темы, начинающиеся с указанной буквы, они будут выделены цветом или яркостью. Если условию поиска удовлетворяет несколько тем, появится окно Найденные разделы (рис. 2.13) со списком разделов. Из этого списка выбирается нужная тема и нажимается кнопка Показать. Информация об указанной теме будет выведена в правой области окна справочной системы. Íà÷àëî ðàáîòû ñ Visual FoxPro 35 Ðèñ. 2.13. Äèàëîãîâîå îêíî Íàéäåííûå ðàçäåëû Èñïîëüçîâàíèå âêëàäêè Ïîèñê Для поиска по ключевым словам и фразам используется вкладка Поиск. В поле ввода Искать следующие слова вводится слово или фраза, предназначенная для поиска. Если требуется найти фразу, нужно заключить ее в одинарные или двойные кавычки. При поиске можно использовать также знаки "?" (для обозначения одного произвольного символа) и "*" (для обозначения любого количества символов). Кроме того, для поиска можно использовать логические выражения, составленные из слов, с применением логических операторов, представленных в табл. 2.11. Òàáëèöà 2.11. Ëîãè÷åñêèå îïåðàòîðû, èñïîëüçóåìûå ïðè ïîñòðîåíèè âûðàæåíèé äëÿ ïîèñêà Îïåðàòîð Ïðèìåð âûðàæåíèÿ äëÿ ïîèñêà Ðåçóëüòàò AND properties AND form Îòîáðàæàþòñÿ òîëüêî òå òåìû ñïðàâêè, êîòîðûå ñîäåðæàò îáà ñëîâà èëè properties & form OR properties OR form èëè Îòîáðàæàþòñÿ òåìû ñïðàâêè, â êîòîðûõ ñîäåðæèòñÿ ëþáîå èç äâóõ ñëîâ properties | form NEAR properties NEAR form Îòîáðàæàþòñÿ òåìû ñïðàâêè, â êîòîðûõ ïåðâîå ñëîâî íàõîäèòñÿ ðÿäîì ñî âòîðûì ñëîâîì â ïðåäåëàõ âîñüìè ñîñåäíèõ ñëîâ NOT properties NOT form Âûáèðàþòñÿ òîëüêî òå òåìû ñïðàâêè, â êîòîðûõ ñîäåðæèòñÿ ïåðâîå ñëîâî è íå ñîäåðæèòñÿ ñëîâî, ðàñïîëîæåííîå ïîñëå îïåðàòîðà NOT èëè properties ! form Построив выражение для поиска, необходимо нажать кнопку Разделы. Начнется поиск разделов, содержащих заданное выражение, и на вкладке Поиск в таблице Раздел отобразится их список. 36 Ãëàâà 2 Ðèñ. 2.14. Ïîèñê ïî êëþ÷åâûì ñëîâàì Таблица Раздел состоит из трех столбцов. Столбец Заголовок содержит заголовки найденных тем справочной системы, столбец Местонахождение - информацию о местонахождении темы справки, а столбец Ранг - частоту вхождения элемента поиска. В окончательном списке тем будут отражены первые 500 тем справок, удовлетворяющих заданному условию поиска. Для упорядочения тем справок таблицы Раздел можно использовать заголовки столбцов таблицы. Для этого нужно щелкнуть на заголовке того столбца, по которому следует осуществить упорядочение. Из списка найденных тем выбирается нужная и нажимается кнопка Показать. В правой области окна справки будет выведена информация по данной теме (рис. 2.14). В тексте темы справки можно выделить те слова, которые были заданы для поиска. Для этого на панели инструментов нужно нажать кнопку Параметры и выбрать из появившегося списка команду Подсвечивание результатов. Для определения параметров поиска на вкладке добавлены флажки, при установке которых пользователю предоставляются дополнительные возможности (табл. 2.12). Òàáëèöà 2.12. Íàçíà÷åíèå ôëàæêîâ äëÿ îïðåäåëåíèÿ ïàðàìåòðîâ ïîèñêà Ôëàæîê Íàçíà÷åíèå Ïðåäûäóùèé ïîèñê Ïîèñê ñðåäè òåì ñïðàâî÷íîé ñèñòåìû, êîòîðûå áûëè îòîáðàíû â ïðåäûäóùåì ïîèñêå Ïîõîæèå ñëîâà Ïîèñê íå òîëüêî ñëîâ, çàäàííûõ â âûðàæåíèè ïîèñêà, íî è ïîõîæèõ íà íèõ Òîëüêî â çàãîëîâêàõ Ïîèñê òîëüêî â çàãîëîâêàõ òåì ñïðàâîê Íà÷àëî ðàáîòû ñ Visual FoxPro 37 Âêëàäêà Èçáðàííîå Вкладка Избранное позволяет сформировать список наиболее часто используемых тем справочной системы, выбор которых должен осуществляться достаточно просто. По умолчанию данная вкладка пуста. Для добавления темы справки на вкладку Избранное необходимо выполнить следующие действия: 1. Используя другие вкладки окна справочной системы, найти тему, название которой нужно расположить на данной вкладке. 2. Отобразить найденную информацию в правой области окна справки. 3. Перейти на вкладку Избранное. Название просматриваемой темы отображается в поле Текущий раздел данной вкладки. 4. Нажать кнопку Добавить. Наименование текущей темы справочной системы будет добавлено в список избранных тем. Аналогичным образом можно добавить в данную область все необходимые разделы справочной системы. Для удаления разделов с этой вкладки используется кнопка Удалить. Ïðîñìîòð ñïðàâî÷íîé èíôîðìàöèè â Èíòåðíåòå Справочная система Visual FoxPro содержит огромный объем информации, необходимой для разработки приложений. Для получения последних новостей о Visual FoxPro Ðèñ. 2.15. Ñòðàíèöà íîâîñòåé Visual FoxPro 38 Ãëàâà 2 можно открыть соответствующую Web-страницу непосредственно из главного окна Visual FoxPro. Для этого предназначена команда Microsoft on the Web (Visual FoxPro на Web-страницах) меню Help. ЗАМЕЧАНИЕ Просмотр Web-страниц невозможен, если нет доступа к Интернету. Для получения доступа необходимо установить на компьютере модем и зарегистрироваться у местного провайдера услуг Интернета. На рис. 2.15 приведена страница новостей Visual FoxPro, поддерживаемая Microsoft. В левой части расположены разделы, посвященные Visual FoxPro. После щелчка на названии интересующего раздела начнет загружаться Web-страница, содержащая информацию по данному разделу. Ãëàâà 3 Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ При создании приложения используется проект, который объединяет элементы приложения Visual FoxPro и группирует их по типам. Информация о проекте хранится в специальной таблице, которая в отличие от обычных таблиц Visual FoxPro имеет расширение pjx. Memo-поля таблицы содержат наименование элемента проекта, его описание и другие текстовые атрибуты. Файл с Memo-полями таблицы имеет расширение pjt. Использование проекта упрощает разработку приложения, т. к. в проекте базы данных, программы, формы, отчеты, запросы и другие элементы приложения располагаются в соответствующих разделах, а также запоминается расположение каждого включенного в проект элемента. Создав проект и определив входящие в него элементы, можно использовать его для сборки приложения, построив файл с расширением app, или для создания исполняемого файла с расширением exe. При построении приложения из проекта осуществляется поиск и сборка файлов, на которые ссылаются элементы приложения, отслеживаются версии файлов, входящих в проект. Ñîçäàíèå ïðîåêòà ïðèëîæåíèÿ Приступая к разработке нового приложения, прежде всего, нужно создать проект приложения. В дальнейшем в него добавляются различные элементы приложения. Для создания нового проекта можно использовать мастер Application Wizard (Мастер приложения) или команду New (Новый) меню File (Файл). При выполнении команды New (Новый) на экране открывается соответствующее диалоговое окно с перечислением всех типов элементов приложения, которые возможны в Visual FoxPro (рис. 3.1). По умолчанию установлена опция Project (Проект). Для создания нового проекта выполните следующие действия: 1. Нажмите кнопку New file (Новый файл). 1. В поле ввода Enter project file (Введите имя проекта) диалогового окна Create (Создать) задайте имя создаваемого проекта, убедившись, что в поле Тип файла установлен тип сохраняемого файла Project (Проект), а в поле Папка правильно выбрана папка, в которой будет располагаться проект (рис. 3.2). 2. Для сохранения созданного проекта нажмите кнопку Сохранить. Visual FoxPro создаст файлы проекта и запишет их в указанное место. После этого откроется окно проекта Project Manager (Менеджер проекта) (рис. 3.3). 40 Ãëàâà 3 Ðèñ. 3.1. Äèàëîãîâîå îêíî New, â êîòîðîì ìîæíî óêàçàòü òèï ñîçäàâàåìîãî ôàéëà Ðèñ. 3.2. Äèàëîãîâîå îêíî Create äëÿ çàäàíèÿ èìåíè ñîçäàâàåìîãî ïðîåêòà Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 41 Ðèñ. 3.3. Îêíî ïðîåêòà Project Manager В верхней части окна проекта находятся вкладки, которые управляют отображением определенных типов файлов проекта, значительно облегчая разработку приложения (табл. 3.1). Òàáëèöà 3.1. Âêëàäêè îêíà Project Manager Âêëàäêà Îòîáðàæàåìûå ôàéëû All (Âñå) Âñå ôàéëû Data (Äàííûå) Áàçû äàííûõ, òàáëèöû, çàïðîñû, ïðåäñòàâëåíèÿ äàííûõ, õðàíèìûå ïðîöåäóðû Documents (Äîêóìåíòû) Ôîðìû, îò÷åòû è ýòèêåòêè Classes (Êëàññû) Êëàññû Code (Êîäû) Ïðîãðàììû è áèáëèîòåêè Other (Îñòàëüíûå) Ìåíþ, òåêñòîâûå è ãðàôè÷åñêèå ôàéëû, êëàâèøíûå ìàêðîêîìàíäû В Visual FoxPro используется иерархическое отображение элементов проекта. На самом верхнем уровне находятся категории элементов проекта: Data (Данные), 42 Ãëàâà 3 Documents (Документы), Class Libraries (Библиотеки классов), Code (Исходный код) и Other (Другие). ЗАМЕЧАНИЕ Для каждой категории элементов в окне проекта имеется отдельная вкладка. На следующем уровне находятся типы файлов данной категории. Например, для категории Documents (Документы) имеются следующие типы файлов: Forms - формы; Reports - отчеты; Labels - этикетки. Некоторые типы файлов могут иметь последующие уровни иерархии. Например, база данных может содержать таблицы, представления данных, а каждая таблица - поля. Каждый иерархический список может находиться в свернутом или развернутом состоянии. Если элемент иерархического списка содержит элементы следующего уровня, то в свернутом состоянии с левой стороны наименования элемента отображается знак плюс. На рис. 3.3 видно, что все элементы списка кроме Class Libraries (Библиотеки классов) содержат вложенные уровни элементов. Для раскрытия списка элементов следующего уровня необходимо щелкнуть мышью на знаке плюс. При раскрытии списка знак плюс изменяется на знак минус. На рис. 3.4 приведен пример иерархического списка Data (Данные), имеющего глубину в четыре уровня. Для свертывания вложенного списка элементов необходимо щелкнуть мышью на знаке минус. В окне проекта имеется одна очень интересная и полезная кнопка. Расположена она в правом верхнем углу окна проекта и содержит направленную вверх стрелку. При нажатии на эту кнопку окно проекта сворачивается, остаются видимыми только наименования вкладок, а значок кнопки меняется на стрелку, направленную вниз. Тем самым на экране освобождается место для других окон (рис. 3.5). При этом вкладки проекта остаются активными, и при нажатии на них открывается часть окна проекта, содержащая информацию выбранной вкладки (рис. 3.6). Для возврата окна проекта в развернутый вид нажмите кнопку, содержащую стрелку, направленную вниз. Visual FoxPro предоставляет возможность перемещать открытую вкладку по экрану. Для этого нужно щелкнуть на ярлыке и, не отпуская кнопки мыши, переместить вкладку в любое место главного окна Visual FoxPro (рис. 3.7). Кроме того, можно изменять размеры вкладки. Для этого необходимо выполнить следующие действия: 1. Поместить курсор в нижний правый угол. 2. Когда курсор примет вид двунаправленной стрелки, нажать левую кнопку мыши и, удерживая ее в нажатом состоянии, переместить в ту или иную сторону. 3. После задания нужного размера области отпустить кнопку мыши. Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ Ðèñ. 3.4. Èåðàðõè÷åñêèé ñïèñîê ýëåìåíòîâ ïðîåêòà Ðèñ. 3.5. Ñâåðíóòîå îêíî ïðîåêòà 43 44 Ãëàâà 3 Ðèñ. 3.6. Îäíà âêëàäêà ïðîåêòà ðàñêðûòà Ðèñ. 3.7. Ïåðåìåùåíèå îòêðûòûõ âêëàäîê ïî ýêðàíó Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 45 Óïðàâëåíèå ïðîåêòîì ñ ïîìîùüþ ìåíþ При открытии окна проекта в основное меню Visual FoxPro добавляется новый пункт меню Project (Проект), который содержит команды, позволяющие работать с файлами, входящими в проект. Назначение этих команд описано в табл. 3.2. Òàáëèöà 3.2. Íàçíà÷åíèå êîìàíä ìåíþ Project Êîìàíäà Íàçíà÷åíèå New File (Íîâûé ôàéë) Ñîçäàåò íîâûé ôàéë, êîòîðûé àâòîìàòè÷åñêè äîáàâëÿåòñÿ â ïðîåêò Add File (Äîáàâèòü ôàéë) Äîáàâëÿåò ñîçäàííûå ðàíåå ôàéëû â ïðîåêò Modify File (Èçìåíèòü ôàéë) Îòêðûâàåò âûáðàííûé ôàéë ïðîåêòà äëÿ ðåäàêòèðîâàíèÿ Browse File (Ïðîñìîòð ôàéëà â òàáëè÷íîì âèäå) Îòêðûâàåò òàáëèöó â ðåæèìå ïðîñìîòðà Preview File (Ïðîñìîòð ôàéëà) Îòêðûâàåò ôàéë (íàïðèìåð, îò÷åò) â îêíå ïðåäâàðèòåëüíîãî ïðîñìîòðà Run File (Âûïîëíèòü ôàéë) Çàïóñêàåò ôàéë íà âûïîëíåíèå Remove File (Óäàëèòü ôàéë) Óäàëÿåò ôàéë èç ïðîåêòà Rename File (Ïåðåèìåíîâàòü ôàéë) Ïåðåèìåíîâûâàåò ôàéë, âõîäÿùèé â ïðîåêò Exclude (Èñêëþ÷èòü) Èñêëþ÷àåò ôàéë èç ïðîåêòà Include (Âêëþ÷èòü) Âêëþ÷àåò ôàéë â ïðîåêò Set Main (Îñíîâíàÿ ïðîãðàììà) Óñòàíàâëèâàåò ôàéë â êà÷åñòâå îñíîâíîé ïðîãðàììû ïðîåêòà Edit Description (Ïðàâêà îïèñàíèÿ) Îòêðûâàåò îêíî ðåäàêòèðîâàíèÿ îïèñàíèÿ ôàéëà Project Info (Èíôîðìàöèÿ ïðîåêòà) Îòîáðàæàåò èíôîðìàöèþ î ïðîåêòå è âõîäÿùèõ â íåãî ôàéëàõ Errors (Îøèáêè) Îòîáðàæàåò îøèáêè, âîçíèêøèå ïðè ïîñòðîåíèè ïðîåêòà Build (Ïîñòðîèòü) Ñòðîèò ïðèëîæåíèå èëè ïåðåñòðàèâàåò ïðîåêò Refresh (Îáíîâèòü) Îáíîâëÿåò èíôîðìàöèþ â îêíå ïðîåêòà Clean Up Project (Î÷èñòèòü) Î÷èùàåò ïðîåêò, óáèðàÿ èç íåãî óäàëåííûå ôàéëû Для работы с файлами проекта можно использовать контекстное меню, раскрываемое при нажатии на нем правой кнопки мыши (рис. 3.8) и содержащее некоторые команды меню Project (Проект), а также команду Expand All (Раскрыть все), раскрывающую все уровни вложенности данных в окне Project Manager (Менеджер проекта). 46 Ãëàâà 3 Ðèñ. 3.8. Êîíòåêñòíîå ìåíþ äëÿ âûáðàííîãî ôàéëà ïðîåêòà Óïðàâëåíèå ýëåìåíòàìè ïðîåêòà Для управления элементами проекта используются кнопки, расположенные в правой части окна проекта. Часть кнопок можно применять при работе с файлами всех типов, а часть - только с определенными. В табл. 3.3. приведен список кнопок, которые можно использовать для всех типов файлов проекта. Òàáëèöà 3.3. Íàçíà÷åíèå êíîïîê îêíà ïðîåêòà Êíîïêà Íàçíà÷åíèå New (Íîâûé) Ñîçäàåò íîâûé ôàéë, êîòîðûé àâòîìàòè÷åñêè äîáàâëÿåòñÿ â ïðîåêò Add (Äîáàâèòü) Äîáàâëÿåò ñîçäàííûé ðàíåå ôàéë â ïðîåêò Modify (Èçìåíèòü) Èçìåíÿåò âûáðàííûé ôàéë ïðîåêòà Remove (Óäàëèòü) Óäàëÿåò ôàéë èç ïðîåêòà Для исполняемых файлов (формы, запросы, программы и меню) может использоваться кнопка Run (Выполнить), которая запускает выбранный файл проекта на выполнение. Для отчетов и этикеток можно использовать кнопку Preview (Просмотр), Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 47 которая открывает файл в окне предварительного просмотра. Для просмотра данных, содержащихся в таблице, предназначена кнопка Browse (Обзор). Кнопка Build (Построить) окна проекта открывает диалоговое окно Build Options (Опции построения), позволяющее создать проект, исполняемое приложение, динамическую библиотеку или обновить существующий проект. Èñïîëüçîâàíèå ìàñòåðà ïðè ñîçäàíèè ïðîåêòà В Visual FoxPro 9.0 при создании проекта с помощью мастера в него можно включить таблицы, формы, отчеты, а также добавить в проект элементы, созданные ранее. Чтобы создать новый проект с помощью мастера, необходимо выполнить следующие действия: 1. В меню File (Файл) нужно выбрать команду New (Новый) или нажать кнопку New (Новый) на панели инструментов. 2. Откроется диалоговое окно New (Новый), в котором следует выбрать опцию Project (Проект) и нажать кнопку Wizard (Мастер). СОВЕТ В Microsoft Visual FoxPro 9.0 мастер для создания проекта также можно запустить из окна Task Pane Manager (Менеджер панели задач). Для этого в окне менеджера задач нужно воспользоваться ссылкой Create a new application (Создание нового приложения). Откроется диалоговое окно, представленное на рис. 3.9. Ðèñ. 3.9. Çàäàíèå èìåíè ïðîåêòà è åãî ðàñïîëîæåíèÿ 3. Откроется диалоговое окно, представленное на рис. 3.9. В поле ввода Project name (Имя проекта) этого окна необходимо задать имя создаваемого проекта, а в поле ввода Project file (Файл проекта) указать его расположение. Чтобы разместить проект в требуемой папке, следует воспользоваться кнопкой Browse (Обзор), которая открывает диалоговое окно, позволяющее найти на компьютере необходимую папку. 4. После определения имени файла и его расположения нужно нажать кнопку OK для создания нового проекта. Мастер переходит к созданию нового проекта, и на экране появляется диалоговое окно построителя приложения Application Builder (Построитель приложения) (рис. 3.10). 48 Ãëàâà 3 Ðèñ. 3.10. Äèàëîãîâîå îêíî ïîñòðîèòåëÿ ïðèëîæåíèÿ Нижняя часть диалогового окна содержит следующие кнопки: Help - открывает файл справки; Cancel - отменяет работу мастера; OK - создает новый проект. Кроме того, диалоговое окно содержит шесть вкладок, на которых определяется следующая информация (табл. 3.4). Òàáëèöà 3.4. Âêëàäêè äèàëîãîâîãî îêíà Application Builder Âêëàäêà Èíôîðìàöèÿ General (Îáùèå) Îñíîâíûå ïàðàìåòðû ñîçäàâàåìîãî ïðîåêòà Credits (Îá àâòîðå) Èíôîðìàöèÿ îá àâòîðàõ ïðîåêòà Data (Äàííûå) Ïàðàìåòðû ñîçäàíèÿ áàç äàííûõ è òàáëèö Forms (Ôîðìû) Èíôîðìàöèÿ î ôîðìàõ, âõîäÿùèõ â ïðîåêò Reports (Îò÷åòû) Èíôîðìàöèÿ îá îò÷åòàõ, âõîäÿùèõ â ïðîåêò Advanced (Äîïîëíèòåëüíûå) Ïàðàìåòðû ñîçäàíèÿ ñïðàâî÷íîé ñèñòåìû, ìåíþ ïðîåêòà Çàäàíèå îáùèõ ïàðàìåòðîâ ïðîåêòà Вкладка General (Общие) (см. рис. 3.10) предназначена для задания таких параметров проекта, как его имя, размещаемый в проекте рисунок, тип создаваемого приложения, общие диалоговые окна, значок проекта. Поле ввода Name (Имя) позволяет задать имя приложения, отображаемое в его заголовке, диалоговом окне О программе, а также внутри приложения. Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 49 В поле ввода Image (Рисунок) можно задать имя файла рисунка, который будет появляться в окне при запуске приложения и в диалоговом окне О программе. Область Application Type (Тип приложения) позволяет задать тип создаваемого приложения (табл. 3.5). Òàáëèöà 3.5. Îïöèè îáëàñòè Application Type Îïöèÿ Òèï ïðèëîæåíèÿ Normal (Îáû÷íîå) Ñîçäàííîå ïðèëîæåíèå áóäåò çàïóñêàòüñÿ â ãëàâíîì îêíå Visual FoxPro, çàìåíÿÿ âñå îêðóæåíèå è ñèñòåìíîå ìåíþ Visual FoxPro Module (Àâòîíîìíîå) Ïðèëîæåíèå äîáàâëÿåòñÿ â ñóùåñòâóþùèé ïðîåêò èëè áóäåò âûçûâàòüñÿ èç äðóãîãî ïðèëîæåíèÿ. Ìåíþ ïðèëîæåíèÿ äîáàâëÿåòñÿ â ñèñòåìíîå ìåíþ, è åãî ôóíêöèè èñïîëüçóþòñÿ êàê êîìïîíåíòû äðóãîãî ïðèëîæåíèÿ Top-Level (Âåðõíèé óðîâåíü) Ïðèëîæåíèå áóäåò çàïóñêàòüñÿ êàê îòäåëüíîå ïðèëîæåíèå Microsoft Windows Устанавливая флажки группы Common Dialogs (Общие диалоги), можно задать использование в приложении общих диалоговых окон, содержащих информацию о разработчиках, программе, правах доступа к файлам приложения (табл. 3.6). Òàáëèöà 3.6. Íàçíà÷åíèå ôëàæêîâ ãðóïïû Common Dialogs Ôëàæîê Íàçíà÷åíèå Splash screen (Âñïëûâàþùèé ýêðàí) Ïðè çàïóñêå ïðèëîæåíèÿ ïîÿâëÿåòñÿ îêíî, ñîäåðæàùåå ëîãîòèï ïðèëîæåíèÿ è ñâåäåíèÿ îá àâòîðå About dialog (Î ïðîãðàììå) Ïðèëîæåíèå ñîäåðæèò äèàëîãîâîå îêíî Î ïðîãðàììå, â êîòîðîì áóäåò îòðàæàòüñÿ ëîãîòèï ïðèëîæåíèÿ è ñâåäåíèÿ î ðàçðàáîò÷èêàõ Quick start (Áûñòðûé ñòàðò) Ïðîåêò ñîäåðæèò äèàëîãîâîå îêíî Quick Start, â êîòîðîì îïðåäåëÿþòñÿ ïðàâà äîñòóïà ê äîêóìåíòàì ïðèëîæåíèÿ è îñòàëüíûì ôàéëàì User logins (Îêíî ââîäà ïàðîëÿ) Ïðè óñòàíîâëåííîì ôëàæêå â ïðîåêò äîáàâëÿåòñÿ ôîðìà, ïðåäíàçíà÷åííàÿ äëÿ ââîäà ïàðîëÿ ïðè çàïóñêå ïðèëîæåíèÿ С помощью области Icon (Значок) можно определить значок приложения. Çàäàíèå èíôîðìàöèè î ðàçðàáîò÷èêàõ ïðîåêòà На вкладке Credits (Об авторе) (рис. 3.11) диалогового окна Application Builder (Построитель приложения) указывается следующая информация: список авторов, название предприятия, номер версии, права и торговая марка приложения. 50 Ãëàâà 3 Ðèñ. 3.11. Âêëàäêà Credits äèàëîãîâîãî îêíà Application Builder Для ввода этих данных используются поля (табл. 3.7). Òàáëèöà 3.7. Íàçíà÷åíèå ïîëåé âêëàäêè Credits äèàëîãîâîãî îêíà Application Builder Ïîëå ââîäà Íàçíà÷åíèå Author (Àâòîð) Ñïèñîê ðàçðàáîò÷èêîâ ïðèëîæåíèÿ Company (Ïðåäïðèÿòèå) Íàèìåíîâàíèÿ ïðåäïðèÿòèÿ Version (Âåðñèÿ) Âåðñèÿ ïðèëîæåíèÿ Copyright (Ïðàâà) Ïðàâà ïî èñïîëüçîâàíèþ ïðèëîæåíèÿ Trademark (Òîðãîâàÿ ìàðêà) Òîðãîâàÿ ìàðêà ïðèëîæåíèÿ Ôîðìèðîâàíèå ñïèñêà áàç äàííûõ è òàáëèö, èñïîëüçóåìûõ â ïðîåêòå Вкладка Data (Данные) (рис. 3.12) диалогового окна Application Builder (Построитель приложения) позволяет сформировать список баз данных и таблиц, включаемых в проект. В список, представленный на вкладке в табличном виде, можно добавлять как новые, так и уже существующие базы данных и таблицы (табл. 3.8). Òàáëèöà 3.8. Íàçíà÷åíèå ñòîëáöîâ âêëàäêè Data äèàëîãîâîãî îêíà Application Builder Ñòîëáåö Íàçíà÷åíèå Datasource (Èñòî÷íèê äàííûõ) Èìÿ òàáëèöû Form (Ôîðìà) Ñîäåðæèò ôëàæîê, óñòàíîâêà êîòîðîãî óêàçûâàåò íà íåîáõîäèìîñòü àâòîìàòè÷åñêîãî ñîçäàíèÿ ôîðìû äëÿ äàííîé òàáëèöû Report (Îò÷åò) Ñîäåðæèò ôëàæîê, óñòàíîâêà êîòîðîãî óêàçûâàåò íà íåîáõîäèìîñòü àâòîìàòè÷åñêîãî ñîçäàíèÿ îò÷åòà äëÿ äàííîé òàáëèöû Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 51 Ðèñ. 3.12. Âêëàäêà Data äèàëîãîâîãî îêíà Application Builder Для добавления в проект таблиц, их удаления и других действий над ними на вкладке расположены следующие кнопки (табл. 3.9). Òàáëèöà 3.9. Íàçíà÷åíèå êíîïîê âêëàäêè Data äèàëîãîâîãî îêíà Application Builder Êíîïêà Íàçíà÷åíèå Çàïóñêàåò ìàñòåð áàç äàííûõ, êîòîðûé ñîçäàåò äëÿ ïðîåêòà íîâóþ áàçó äàííûõ Çàïóñêàåò ìàñòåð òàáëèö äëÿ ñîçäàíèÿ íîâîé òàáëèöû Select (Âûáðàòü) Îòêðûâàåò äèàëîãîâîå îêíî äëÿ âûáîðà óæå ñóùåñòâóþùåé áàçû äàííûõ èëè òàáëèöû Clear (Î÷èñòèòü) Î÷èùàåò äèàëîãîâîå îêíî îò òàáëèö, êîòîðûå áûëè äîáàâëåíû â ïðîåêò Generate (Ïîñòðîèòü) Ïðè íàæàòèè êíîïêè ïðîèñõîäèò äîáàâëåíèå â ïðîåêò âñåõ ðàçìåùåííûõ íà âêëàäêå òàáëèö, îñóùåñòâëÿåòñÿ ñîçäàíèå ôîðì è îò÷åòîâ äëÿ òåõ òàáëèö, â êîòîðûõ óñòàíîâëåíû ñîîòâåòñòâóþùèå ôëàæêè. Ïîñëå âñåõ âûïîëíåííûõ äåéñòâèé ñïèñîê òàáëèö î÷èùàåòñÿ Для форм, создаваемых мастером проекта, можно задать стиль оформления, используя раскрывающийся список Form Style (Стиль формы), находящийся непосредственно под таблицей. На рис. 3.13 представлена форма, созданная с использованием стиля Embossed (Рельефный). При создании отчета, как и при создании форм, можно применять различные стили. Для задания стиля отчета используется раскрывающийся список Report Style (Стиль отчета). 52 Ãëàâà 3 Ðèñ. 3.13. Ôîðìà, ñîçäàííàÿ ñ èñïîëüçîâàíèåì ñòèëÿ Embossed Ôîðìèðîâàíèå ñïèñêà ôîðì ïðîåêòà Вкладка Forms (Формы) (рис. 3.14) предназначена для создания списка форм проекта. Ðèñ. 3.14. Âêëàäêà Forms äèàëîãîâîãî îêíà Application Builder Если для входящих в проект таблиц в столбце Form (Форма) вкладки Data (Данные) были установлены соответствующие флажки и нажата кнопка Generate (Построить), Ïðîåêò êàê ñðåäñòâî îáúåäèíåíèÿ ýëåìåíòîâ ïðèëîæåíèÿ 53 то мастер создаст формы, причем их названия будут отображаться в списке форм на вкладке Forms (Формы). В этот список можно добавить формы, созданные ранее, используя диалоговое окно Open (Открыть), появляющееся при нажатии кнопки Add (Добавить). В правой части вкладки расположены поле ввода Name (Имя), содержащее название формы, и флажки, определяющие основные свойства форм (табл. 3.10). Òàáëèöà 3.10. Íàçíà÷åíèå ôëàæêîâ âêëàäêè Forms äèàëîãîâîãî îêíà Application Builder Ôëàæîê Íàçíà÷åíèå Single instance (Îäèí ýêçåìïëÿð) Ïîëüçîâàòåëü ñìîæåò îòêðûòü ôîðìó â ïðèëîæåíèè íå áîëüøå îäíîãî ðàçà Use Navigation toolbar (Èñïîëüçîâàòü ïàíåëü íàâèãàöèè) Ïðè îòêðûòèè ôîðìû íà ýêðàíå ïîÿâëÿåòñÿ ïàíåëü èíñòðóìåíòîâ, ïîçâîëÿþùàÿ ïåðåìåùàòüñÿ ïî çàïèñÿì Use Navigation menu (Èñïîëüçîâàòü ìåíþ íàâèãàöèè) Âî âðåìÿ âûïîëíåíèÿ ôîðìû â ñòðîêó ìåíþ äîáàâëÿåòñÿ ïóíêò Go, ñîäåðæàùèé ê

Рассмотрен Visual FoxPro 9.0 – мощный пакет программ, предназначенный для построения профессиональных приложений, работающих с базами данных. Описаны интегрированная среда разработки приложений и создание с ее помощью основных объектов, таких как классы, таблицы, запросы, формы, отчеты. Рассмотрены экспорт и импорт данных, а также публикация данных на Web-сервере. Показано как разрабатывать, создавать и тестировать клиент-серверные приложения. Уделено внимание особенностям очередной версии популярного пакета, а также дополнительным возможностям для работы с XML Web-сервисами и взаимодействию с другими приложениями (Microsoft Visual Studio .NET и Microsoft SQL Server 2000). Многочисленные примеры и иллюстрации помогут быстро освоить и успешно применять на практике изложенный материал. Для программистов и разработчиков баз данных.

На нашем сайте вы можете скачать книгу "Самоучитель Visual FoxPro 9.0" Омельченко Людмила бесплатно и без регистрации в формате fb2, rtf, epub, pdf, txt, читать книгу онлайн или купить книгу в интернет-магазине.

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

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

О каком "провале " собственно идет речь?

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

Второй разрыв - это когда и что лучше всего применять. Обычно изложение строится таким образом: для решения задачи сделаем так, так и вот так. Но не предпринимается даже попытки объяснить, а почему собственно не иначе, когда есть другой способ? Как следствие, когда новичек узнает о том, что одну и ту же задачу можно решить даже не двумя, а тремя, четыремя и более способами у него в голове начинается полная карусель. Бросает из одной крайности в другую.

Есть и еще одна проблема, связанная с предыдущими двумя. Обычно в FoxPro начинают разбираться люди, уже попробовавшие свои силы в программировании на других языках (чаще всего в Delphi или Basic, да даже программисты работавшие ранее в FoxPro for DOS) и они пытаются применить стиль программирования хорошо (или не очень) им известного языка в Visual FoxPro и очень удивляются сталкиваясь с неожиданными (в смысле - не ожидАемыми) проблемами: вот ведь, в руководстве написано, что это можно, а у меня не выходит! А проблема оказывается в самом стиле программирования. Кое-какие приемы, хорошо работающие в Delphi для FoxPro являются попросту неприменимы.

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


FoxPro - это язык, который очень снисходительно относится к ошибкам программиста: не дали определения переменной - ничего, я сам определю; забыли указать рабочую область - ничего, я сам попытаюсь ее найти. И так во многих случаях, если Вы забыли что-то указать FoxPro самостоятельно попытается это что-то найти.

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

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

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

С другой стороны, конечно просто замечательно, что FoxPro предоставляет возможность решить одну и ту же проблему несколькими способами, но если в каждом конкретном случае размышлять на тему "что лучше использовать", то Вы никогда не закончите ни одного приложения.

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

Расположение файлов проекта

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

Главным правилом в данном случае выступает разделение рабочих (модифицируемых) файлов и исполняемых (не модифицируемых). Имеется в виду прежде всего их физическое (по разным директориям) разделение.

Причина такого "неравноправия" прежде всего в том, что есть серьезные опасения в порче исполняемых файлов. Пусть случайное и непреднамеренное. Но если рабочие и исполняемые файлы лежат в одной директории, то очень легко ошибиться с выбором и модифицировать не тот файл. В результате - FoxPro или начнет работать с ошибками или вообще перестанет работать.

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

Необходимость копирования объясняется как минимум необходимостью создания резервных копий всех рабочих файлов (есть и другие причины). По самой своей сути программирование - это модификация файлов. А файл можно "модифицировать" так, что мало не покажется. После чего остается только полностью удалить эту "модификацию" и начать все заново. Хорошо, если у Вас есть резервная копия, тогда Вы начнете не с нуля. А если нет?

Еще одной немаловажной причиной хранения файлов проекта отдельно от файлов FoxPro является удобство поиска нужных рабочих файлов. Если они свалены в одну "кучу" с рабочими файлами FoxPro, то становится очень тяжело найти нужный файл.

Итак, файлы Вашего проекта не следует хранить в той директории, где установлен собственно FoxPro . Следовательно, необходимо создать отдельную директорию для Ваших проектов .

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

В идеале, хорошо бы давать имена директорий в DOS-формате (т.е. до 8 символов), но это уже перестраховка. Уместитесь в 8 символов - хорошо, нет - ничего страшного.

Расположение файлов внутри проекта

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

Прежде всего, обязательно следует выделить отдельную директорию для хранения базы данных. Как правило, эту поддиректорию так и называют "DATA". В этой директории хранится как файл контейнера базы данных (DBC, DCT, DCX), так и файлы собственно таблиц (DBF, FPT, CDX)

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

В примерах от MicroSoft рекомендуется хранить файлы по их типам: формы в директории Forms, классы в директории Class и т.п. Однако я предпочитаю хранить файлы по их логическому назначению: главные файлы программы в директории Main, файлы для работы со справочниками в директории SPR, файлы для работы с документами в директории Document и т.п. Какой вариант примете Вы - не так важно. Главное, чтобы у Вас файлы были "раскиданы" по нескольким директориям

Итак, в результате у Вас получится примерно следующая структура каталога Вашего проекта

C:\ProjVFP C:\ProjVFP\MainProj C:\ProjVFP\MainProj\Class C:\ProjVFP\MainProj\Data C:\ProjVFP\MainProj\Forms C:\ProjVFP\MainProj\Prg

Здесь каталог C:\ProjVFP - предназначен для хранения многих проектов, которые Вы без сомнения еще напишите. А собственно уже конкретно Ваш проект расположен в директории C:\ProjVFP\MainProj

Содержимое главной директории проекта

Ну хорошо, раскидали мы файлы по разным поддиректориям, а что же остается внутри главной директории проекта?

А вот внутри главной директории остается, во-первых, собственно файл проекта (файлы с расширением PJX, PJT ), во-вторых, обязательно файл конфигурации CONFIG.FPW (это обычный текстовый файл , о нем чуть ниже) и в-третьх, файлы ресурсов FoxUser.DBF и FoxUser.FPT Прочие файлы уже по мере необходимости в конкретном проекте, но как правило, больше ничего здесь храниться не должно.

Вполне естесственное желание, назвать файл проекта тем же имененем, что и директория в которой он расположен, поскольку собственно ради него все это и затевается. Именно так и следует поступить - назвать файл проекта MainProj.pjx (и MainProj.pjt)

Файл ресурсов FoxUser.dbf и FoxUser.fpt можно и не создавать специально, а только сделать специальную запись в файле конфигурации (в этом случае он будет создан автоматически).

Зачем вообще надо тащить этот файл ресурсов в директорию проекта? Дело в том, что файл ресурсов хранит в себе координаты и положения всех когда-либо открываемых окон в среде FoxPro. Это значит, что в случае использования одного и того же файла ресурсов для всех проектов это файл "раздуется" до неимоверных размеров. А ведь в случае копирования проекта домой, желательно захватить с собой и файл ресурсов, чтобы "картинка не сбилась". Удобнее это сделать, если файл ресурсов физически расположен в той же директории, где и сам проект, а не искать его в директории FoxPro.

Определить какой именно файл ресурсов используется и где он находится можно с помощью функции SYS(2005)

Файл конфигурации CONFIG.FPW

Теперь важнейший вопрос о файле конфигурации CONFIG.FPW . Это обычный текстовый файл и о нем почему-то крайне редко упоминается в книгах о FoxPro. Этот файл необходимо создать самостоятельно. Автоматически он не создается.

Как правило, используют 2 файла конфигурации - один на этапе создания и отладки проекта и другой - на этапе исполнения собственно готового EXE у клиента. Тот файл конфигурации, который поставляется клиенту можно включить внутрь EXE, но лучше этого не делать. В этом случае он позволяет производить некоторую внешнюю настройку среды FoxPro даже в готовом EXE.

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

CODEPAGE=1251 RESOURCE =FoxUser.dbf TITLE=Мой новый проект PATH =Data,Forms ,Class,Prg COMMAND=MODIFY PROJECT MainProj.pjx

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

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

TITLE - эта опция задает текст заголовка главного окна FoxPro вместо стандартного "Microsoft Visual FoxPro". Заключать текст заголовка в кавычки не надо.

PATH - еще одна очень важная настройка. Она говорит FoxPro о том, где следует искать файлы (в каких директориях) относительно текущей директории. В качестве разделителя можно указывать как просто запятую, так и символ точки с запятой. Подробнее о путях доступа чуть ниже.

COMMAND - эта опция задает команду, которую необходимо выполнить в момент открытия среды FoxPro. К сожалению, нельзя указать несколько опций COMMAND. Из них будет выполнена только одна. Но если Вам необходимо выполнить несколько команд при открытии среды FoxPro, то напишите их все в специальном файле PRG и опция будет выглядеть например так:

COMMAND=DO Start.prg

По умолчанию, FoxPro "запоминает" последний открытый проект и пытается его открыть при каждом открытии среды FoxPro. Это удобно, когда Вы работает с одим проектом, но при работе с несколькими проектами это раздражает. Отключить режим автоматического открытия последнего открытого проекта можно в среде FoxPro: Пункт главного меню Tools -> Options -> закладка View -> Снять "птичку" в пункте "Open last project on startup" и сохранить настройки по кнопке "Set As Default" . А для открытия "нужного" проекта при открытии FoxPro как раз и используется опция COMMAND в файле конфигурации.

В файле конфигурации можно сделать еще много различных настроек, но в большинстве случаев это не нужно. Например, большинство команд SET по умолчанию настроены как раз таким образом, который помогает отлаживать проект. Т.е. делать их перенастройку в файле конфигурации просто не имеет смысла.

Следует иметь в виду, что файл конфигурации используется только один раз при запуске среды FoxPro . Поэтому, если Вы внесли изменения в файл конфигурации, то они вступят в силу только после перезагрузки среды FoxPro.

Как открыть проект

Обратите внимание, что я не указал в файле конфигурации директории по умолчанию. В принципе, это можно сделать используя опцию DEFAULT примерно так:

DEFAULT =C:\ProjVFP\MainProj

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

Командная строка
"C:\Program Files\Microsoft Visual Studio\Vfp98\VFP6.EXE" -T -C"C:\ProjVFP\MainProj\config.fpw"
Директория по умолчанию "C:\ProjVFP\MainProj"

Ключи запуска можно записать вместе как "-TC". Ключ "-T" говорит о том, что при запуске среды FoxPro не надо отображать заставку-логотип, а ключ "-C" говорит о том, что следом за ним указан полный путь доступа вместе с именем файла конфигурации, который следует использовать при запуске среды FoxPro. Строго говоря здесь можно указать абсолютно любое имя файла конфигурации, но лучше придерживаться принятого стандарта, чтобы не запутаться. В следующей строке Вы указываете и собственно директорию по умолчанию, которой и является та директория в которой расположен Ваш файл проекта.

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

Пути доступа к файлам проекта

Итак, если Вы последовали всем приведенным выше рекомендациям, то у Вас должно получится следующее: При запуске среды FoxPro в качестве директории по умолчанию устанавливается директория, где расположен сам файл проекта, а все прочие файлы проекта располагаются в поддиректориях.

Как же в этом случае обратится к рабочим файлам проекта?

Если Вы указали опцию PATH в файле конфигурации, то обращаетесь так, как-будто все файлы проекта лежат в текущей директории, например:

USE MyTable.dbf DO FORM MyForm.scx

Несмотря на то, что физически таблица MyTable.dbf находится в папке "DATA" , а файл формы MyForm.scx в папке "Forms" FoxPro тем не менее найдет и запустит нужные файлы, поскольку путь доступа к ним был прописан в опции PATH в файле конфигурации.

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

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

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

База данных

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

База данных - это файл с расширением DBC , а также связанные с ним файлы с тем же именем, но с расширениями DCX и DCT

Более правильно было бы применять термин "контейнер базы данных" . Подозреваю, что от него и произошло название расширения (первые буквы в английском DataBase Container ). Однако в связи с привычкой американцев все сокращать слово "контейнер" как-то затерялось.

В версиях FoxPro 2.x под термином "база данных" понимали то, что сейчас понимают под термином "таблица" , просто потому, что в этих версих еще не было файла DBC. Из-за чего часто возникают недоразумения и недопонимания.

По своей сути, файл DBC - это обычный файл DBF, только с измененным расширением (как и большинство других файлов используемых в FoxPro). Соответсвенно DCT - это файл мемо-полей (переименованный FPT), а DCX - это структурный индексный файл (переименованный CDX). Отличие от простого файла DBF заключается только в содержимом 28 байта заголовка (считая что первый байт имеет порядковый номер 0). В файле базы данных в этом байте заполнен 3 бит (чего нет в DBF-файлах). Т.е. ASCII код записанного там символа не менее 4 (обычно 7), в то время, как у DBF-файлов его содержимое наоборот не превышает 3.

Поскольку файл базы данных - это обычный файл DBF, то Вы можете открыть его как таблицу и просмотреть содержимое.

USE MyBase.dbc AGAIN

Указывать расширение файла, как и опцию AGAIN в этом случае обязательно. Без указания расширения FoxPro посчитает, что его расширение DBF и ошибется. А опция AGAIN нужна потому, что файл базы данных может быть уже открыт командой OPEN DATABASE и без этой опции Вы также получите сообщение об ошибке

Зачастую, открытие файла базы данных как таблицы в более ранних версих FoxPro был единственной возможностью быстро получить нужную информацию. Например, какие таблицы базы данных имеют поле с заранее известным именем "MyField"? Для ответа на этот вопрос строим SQL запрос примерно следующего содержания

SELECT a.ObjectName ; FROM MyBase.dbc a ; INNER JOIN MyBase.dbc b ON a.ObjectID=b.ParentID ; WHERE a.ObjectType="Table " and b.ObjectType="Field " and ; b.ObjectName=PADR (LOWER ("MyField"),128)

Но я бы не рекомендовал пользоваться такими "хакерскими" трюками и использовать штатные функции для работы с файлом базы данных INDBC(), DBGetProp(), ADBObjects() и тому подобное, поскольку в этом случае слишком велик риск непреднамеренной порчи файла базы данных.

Название файла базы данных

Файл базы данных, как и любой другой файл в системе Windows может содержать до 128 символов, содержать пробелы, русские символы, цифры и некоторые спец.символы. Однако для упрощения работы в FoxPro я бы порекомендовал следующие ограничения в наименовании файла базы данных

  • Не использовать в названии русские символы - причина этой рекомендации в том, что FoxPro разрабатывался прежде всего для англоязычных пользователей и использование в нем символов другого языка - это уже последующее дополнение. Как следствие, велик риск, что чего-то, где-то недосмотрели и при определенных ситуациях русские буквы в имени вызовут неожиданные глюки
  • Не использовать в названии пробелы - в принципе, ошибок использование пробелов не вызовет, но несколько усложнит сам процесс программирования, поскольку имена и пути доступа, содержащие пробелы необходимо заключать в кавычки. Просто добавит лишней заботы - не забывать кавычки. А зачем усложнять себе жизнь, когда без этого легко можно обойтись.
  • По возможности, ограничивайте длину названия 8 символами и не используйте в названии цифр и спец.символов - на самом деле я не вижу разумных объяснений этому ограничению. Но дело в том, что подавляющее большинство системных файлов и файлов примеров в FoxPro (да и собственно системы Windows) ограничены как раз-таки именно 8 символами и не используют ни цифры ни спец.символы. Зачастую в ущерб информативности названия. Почему разработчики идут на такое ограничение не понятно, но имеет смысл последовать их примеру. Видимо на это есть какие-то причины, кроме привычки к DOS-нотации
  • Не называйте файл базы данных также как и один из содержащихся в ней объектов - не обязательно речь идет о таблицах, это может быть совпадение с названием Local View, или индексного тега, или поля таблицы, да мало ли чего еще... Разумеется ошибки это не вызовет, но усложнит понимание написанного кода самим программистом. Не всегда с ходу можно однозначно определить, что речь идет именно о файле базы данных, а не о каком-либо другом объекте. А если еще и их названия совпадают, то совсем тяжело становится.
  • Не используйте для названия одно из зарезервированных в FoxPro слов - опять же, ошибки это не вызовет, но резко снизит "читабельность" кода. Ведь зарезервированные слова автоматически подсвечиваются опеределенным цветом (если Вы используете стандартный текстовый редактор FoxPro) и с ходу становится проблематично отличить опцию или команду от имени файла базы данных

    Расположение файла базы данных

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

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

  • Желательно файл базы данных располагать в той же папке, где и включенные в него файлы DBF

    По большому счету, конечно можно держать файл базы данных в одной директории, а включенные в него файлы DBF в другой. Но это усложняет сам процесс разработки проекта. Например, создание резервной копии в простейшем случе заключается в простом копировании директории с рабочими файлами в другое место. Если же рабочие файлы отделены от файла базы данных, то потребуется уже копирование 2-х директорий. Соответственно усложнится код.

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

    Обслуживание файла базы данных

    Собственно, обслуживание файла базы данных заключается в его регулярной "чистке". Поскольку файл базы данных - это обычная DBF-таблица, то и удаление из него происходит так же как и в таблице в 2 этапа: сначала записи только помечаются как удаленные, но физически не удаляются. А для физического удаления необходимо выполнить упаковку файла базы данных.

    На этапе разработки для этой цели используется специальный пункт меню в режиме модификации базы данных: пункт главного меню Database ->Clean Up DataBase . Фактически, этот пункт меню выполняет команду PACK для файла базы данных, поэтому требует эксклюзивного открытия базы данных (в режиме EXCLUSIVE ). Если база данных открыта в режиме SHARED , то этот пункт меню будет недоступен.

    Кроме собственно чистки файла базы данных от ранее удаленных записей, выполнение этой операции существенно уменьшает размер файла DCT в котором хранятся в том числе все "хранимые процедуры". Поэтому после внесения изменений в хранимые процедуры также желательно сделать чистку базы данных.

    На этапе выполнения у клиента необходимость чистки базы данных возникает только в том случае если Вы динамически добавляете и удаляете какие-либо объекты в базу данных. Например, создаете Local View командой CREATE SQL VIEW . Или модифицируете какие-либо свойств по DBSetProp() . Или модифицируете таблицы по ALTER TABLE .

    В этом случае чистка базы данных выполняется с использованием обычной команды PACK примерно таким образом

    SET DATABASE TO MyBase CLOSE DATABASE OPEN DATABASE MyBase EXCLUSIVE SET DATABASE TO MyBase PACK DATABASE CLOSE DATABASE OPEN DATABASE MyBase SHARED SET DATABASE TO MyBase

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

    Если же Вы никаким образом не модифицируете файл базы данных на этапе работы у клиента, то и нет необходимости в чистке файла базы данных.

    А надо ли вообще использовать файл базы данных?

    Подобный вопрос очень часто задают программисты, которые раньше работали на FoxPro 2.x, где этого файла просто не было. Да и сам FoxPro вполне способен работать и со свободными таблицами безо всякой базы данных. Отвечу сразу - надо! А теперь попробую объяснить почему.

  • Использование файла базы данных расширяет возможности таблиц DBF.

    Например, в файле DBF в принципе нельзя дать полю название содержащее более 10 символов, но если он включен в базу данных, то название поля может уже содержать до 128 символов. Никакие правила (RULE), значения по умолчанию (DEFAULT), триггера и кое-что другое попросту невозможны в файле DBF вне файла базы данных. Точнее так - невозможно их автоматическое выполнение.

  • Использовании файла базы данных позволяет выполнять операции, которые крайне сложно организовать другими способами

    Например, такая операция как "транзакция" может быть реализована только среди таблиц DBF включенных в базу данных. В принципе, этот процесс можно организовать и со свободными таблицами, но это потребует от программиста значительных усилий. А такой замечательный объект как обновляемый Local View - сколько усилий требовалось при программировании в FoxPro 2.x для реализации того, что этот объект делает автоматически!
    Вобщем, использование файла базы данных серьезно облегчает жизнь программиста