- •Часть 2
- •Введение
- •Тема 1. Определение свойств объектов формы
- •Вкладка Layout
- •Вкладка Other
- •Вкладка Data
- •Пример разработки формы и описания свойств ее объектов
- •Использование Построителя таблиц для размещения в форме объектов Grid
- •Тема 2. Создание многостраничных форм
- •Пример разработки и проектирования многостраничной формы по работе флота на освоении перевозок грузов
- •Описание объектов формы «Работа флота», размещенных на первой вкладке «Разработка схемы работы флота», их свойств и методов обработки этих объектов
- •Описание объектов второй вкладки «Оценка освоения объемов перевозок», их свойств и методов обработки этих объектов
- •Тема 3. Создание перекрестных таблиц и диаграмм
- •Создание одномерных перекрестных таблиц
- •Этапы создания одномерной перекрестной таблицы в режиме Конструктора запросов
- •Создание двумерных перекрестных таблиц с помощью Мастера запросов
- •Создание диаграмм
- •Этапы создания двумерных диаграмм на основе одномерных перекрестных таблиц
- •Этапы создания трехмерных диаграмм на основе двумерных перекрестных таблиц
- •Тема 4. Создание и использование справочных окон диалога при работе с формами
- •Messagebox (текст_сообщения [,тип_диалогового_окна [,заголовок]])
- •Тема 5. Создание отчетов в свободной форме
- •Способы создания отчетов
- •Этапы создания отчетов в свободной форме с помощью Конструктора отчетов
- •Создание многоколоночного отчета
- •Тема 6. Создание пользовательского меню
- •Создание линейки главного меню
- •Создание «горячих» клавиш (hot key)
- •Разделители элементов меню
- •Определение клавиш быстрого вызова пунктов меню
- •Пояснительное сообщение для пункта меню
- •Определение общих параметров меню
- •Генерация и запуск созданного меню на выполнение
- •Редактирование файла меню в режиме конструктора
- •Создание контекстного (всплывающего) меню
- •Описание пунктов меню
- •1. Редактирование:
- •2. Обработка информации
- •3. Печать данных
- •4. Выход
- •Тема 7. Создание проекта приложения. Управление проектом и создание приложения
- •Определение параметров проекта
- •Построение приложения
- •Тема 8. Создание web-страниц для таблиц
- •Литература
- •Оглавление
- •Обработка данных в среде субд Visual foxpro
- •Часть 2
Пример разработки формы и описания свойств ее объектов
Постановка задачи
В составе базы данных «Грузовые перевозки» имеются две связанные таблицы «Перевозки» и «Договора» [1].
Необходимо разработать форму «Сведения по перевозкам и договорам», отображающую информацию из связанных таблиц. Для представления данных из таблиц использовать объекты различных типов.
|
Рис. 2. Пример содержимого таблицы Перевозки.dbf
Рис. 3. Пример содержимого таблицы Договора.dbf |
Создание формы по связанным таблицам выполняется с помощью мастера форм One-to-Many Form Wizard. При этом сведения из главной таблицы выдаются в виде одной записи (набора полей, представленных объектами различных типов), а из младшей – в виде таблицы (объекта Grid) с набором записей, относящихся к записи из главной таблицы.
В режиме конструктора форм Form Designer с помощью панели инструментов Form Controls Toolbar, вызываемой командой View, в форме размещаются объекты типа ComboBox, Spinner, OptionGroup, ListBox, CommandButton (см. рис. 4).
Для объектов, размещенных в форме, определяются свойства (см. табл. 2).
Для каждой кнопки управления в области процедур записывается своя процедура, с помощью которой будут выполняться действия по перемещению указателя записей в соответствующем направлении по таблице. Событие, при наступлении которого будет выполняться процедура – активизация кнопки (Click). Попадание в область процедур – двойным щелчком левой клавишей мыши на соответствующей кнопке.
Процедуры:
|
g
В начало thisform.refresh |
Назад |
if not bof() skip-1 else go top endif thisform.refresh |
Вперед |
if not eof() skip else go bottom endif thisform.refresh |
В конец |
go bottom thisform.refresh |
Выход |
thisform.release |
а) |
б)
Рис. 4. Вид формы после преобразований и определений свойств объектов
а) в режиме конструктора; б) в режиме просмотра данных |
Таблица 2
Свойства объектов формы «Перевозки»
№ объекта |
Тип и название объекта в форме |
Свойства |
|
название |
начальное значение |
||
1 |
Форма Form1 |
Caption |
Перевозки |
WindowState |
0 – Normal |
||
2 |
Надписи (метки) Label1 Label9 |
Caption |
СВЕДЕНИЯ по перевозкам и договорам; № договора; …; Степень опасности |
BackStyle |
0 – Transparent |
||
FontBold |
.T. – True |
||
FontItalic |
.T. – True |
||
3 |
Поля ввода: Text1 Text2 Text3 Text4 |
ControlSource
|
Номер_дог П_отпр П_назн Объем |
4 |
Кнопки управления Command1 Command5 |
Caption |
В начало; Назад; Вперед; В конец; Выход |
5 |
Флажок Check1 |
ControlSource |
Вязкость |
Caption |
Вязкий груз |
||
6 |
Переклю-чатель OptionGroup1 |
Value |
1 |
ButtonCount |
3 |
||
ControlSource |
Вид_перев |
||
6.1 |
Опции: Option1 |
Caption |
море |
Value |
1 |
||
6.2 |
Option2 |
Caption |
река-море |
Value |
0 |
||
6.3 |
Option3 |
Caption |
река |
|
|
Value |
0 |
7 |
Список List1 |
ControlSource |
Опасность |
RowSourceType |
1 – Value |
||
RowSource |
I класс, II класс, III класс, IV класс |
||
8 |
Раскрывающийся список Combo1 |
ControlSource |
Груз |
RowSourceType |
1-Value |
||
RowSource |
темные, светлые, сырая нефть, масла, сухогрузы |
||
Продолжение табл. 2
№ объекта |
Тип и название объекта в форме |
Свойства |
|
название |
начальное значение |
||
9 |
Счетчик Spinner1 |
ControlSource |
Период |
SpinnerHighValue |
340 |
||
KeyboardHighValue |
340 |
||
SpinnerLowValue |
10 |
||
KeyboardLowValue |
10 |
||
Increment |
10 |
||
10 |
Таблица Grid1 |
RecordSourceType |
1 – Alias |
ColumnCount |
3 |
||
ControlSource |
Договора |
||
