
- •Лабораторная работа № 11
- •11.1 Создание форм для редактирования и просмотра данных в vfp через Form Wizard
- •11.2 Создание форм для редактирования и просмотра в vfp через Form Designer
- •1. Проектирование формы
- •2. Создание формы
- •Include file ...
- •3. Выбор и размещение объектов внутри формы.
- •4. Управление объектами.
- •5. Сохранение формы.
- •6. Домашнее задание: продумать кнопки редактирования (Вставить, Добавить, Изменить, Удалить).
- •11.3 Процедуры для формы и управляющих кнопок с использованием ооп
- •1. Задание на программирование
- •2. Описание программ.
- •2.4. Создание методов использования кнопок в режиме редактирования.
- •If deleted ()
- •11.4 Продолжение создания Форм
- •11.5 Кнопка «Удаление/Восстановление»
- •11.5.1 Программа процедуры
- •If file ("tmp.Dbf")
- •11.5.2 Описание работы процедуры кнопки Выход
- •11.6 Кнопка «Вперед» Модифицированная программа процедуры
Лабораторная работа № 11
11.1 Создание форм для редактирования и просмотра данных в vfp через Form Wizard
Форму редактирования можно создать через мастера создания форм Form Wizard.
Для запуска мастера выполните одно из ниже перечисленных действий:
Меню Tools - Wizards – Form (как показано на рис.11.1).
ДО Project Manager – вкладка Documents – Forms – кнопка New. Откроется ДО New Form – нажать кнопку Form Wizard (как показано на рис.11.2);
Меню File – New – переключатель Form – Wizard (как показано на рис.11.3).
Выберите
пункт Form
Рис.11.1 Открытие конструктора форм через меню Tools
Выберите
вкладку
Docs
Выберите
пункт
Forms
Нажмите
кнопку New
Нажмите
кнопку Form
Wizard
Рис.11.2 Открытие конструктора форм через ДО Project Manager
Установите
переключатель Form
Нажмите
кнопку Form
Wizard
Рис.11.3 Открытие конструктора форм через меню File
После запуска мастера форм открывается ДО Wizard Selection (как показано на рис.11.4). Значение Form Wizard используется для создания однотабличной формы, а One-to-Many Form Wizard – для многотабличной. По умолчанию установлено первое значение, нажимаем кнопку Ok.
Необходимо
выбрать первое значение
Рис.11.4 ДО New Form
Шаг 1: Появляется первое ДО мастера, в которой необходимо указать таблицу, для которой создается форма (например poski), в области Available fields появятся все поля таблицы (см. рис.11.5), необходимо выбрать поля этой таблицы, размещаемые в форме, выбираем все поля, они перемещаются в область Selected fields (как показано на рис.11.6). В области Databases and Table выберите необходимую базу данных, если она не указана автоматически. Нажмите кнопку Next.
Выберите
свою
базу
данных
Выберите
таблицу
Нажмите
на кнопку для выбора сразу всех полей
Поля
выбранной таблицы
Нажмите
кнопку для продол-жения
Рис.11.5 Первый шаг создания формы с помощью мастера
Поля
выбранной таблицы
Рис.11.6 Выбранные поля переместились в область Selected fields
Шаг 2: В появившемся ДО мастера следует установить стиль отображения объектов формы и типы кнопок управления (как показано на рис.11.7).
Выберите
стиль оформления объектов
Нажмите
кнопку для продол-жения
Переключатель
Text
buttons
Рис.11.7 Окно для выбора стиля отображения полей и управляющих кнопок
Выберите стиль – Shadowed, при выборе стилей можно просмотреть, как будут выглядеть объекты формы в верхней левой части ДО – области просмотра. В области Button type установите переключатель на Text buttons – кнопки управления содержат текстовые надписи (далее будет рассмотрен вариант Picture buttons).
Шаг 3: На следующем шаге задается критерий сортировки данных, отображаемых в форме (см. рис.11.8).
Нажмите
кнопку для продол-жения
Рис.11.8 Окно для выбора стиля отображения полей и управляющих
Поля, по которым будет осуществляться упорядочивание, необходимо разместить в области Selected fields, для этого в области Available fields or indx tag выделяем поле, по которому следует упорядочить данные и нажимаем кнопку Add. Выбираем следующие поля: Nomp, nomd, nomr.
Шаг 4: На заключительном шаге создания формы с помощью мастера (см. рис.11.9) можно задать заголовок формы в поле Type a title for your form.
Воспользовавшись кнопкой Preview, можно просмотреть, как будет выглядеть создаваемая форма (см. рис.11.10), и если что-то не так, вернуться к предыдущим шагам в работе мастера и изменить установленные параметры.
Нажмите
кнопку
Введите
заголовок создаваемой формы
Просмотр
формы
Рис.11.9 Задание заголовка формы
Нажмите
кнопку для возврата в мастер создания
форм
Рис.11.10 Предварительный просмотр формы, созданной с помощью мастера форм
После того, как все параметры введены, надо нажать кнопку Finish и сохранить форму (как показано на рис.11.11).
Выберите
каталог, куда необходимо сохранить
форму
Введите
имя формы
Нажмите
кнопку
Рис.11.11 Сохранение формы
Далее необходимо открыть созданную форму с помощью команды Modify. Форма откроется в окне Form Designer, как показано на рис.11.12.
Рис.11.12 Вид конструктора форм Form Designer
На форме расположены объекты Label (метки), TextBox (поля ввода) и Txtbtns (текстовые кнопки). Так как названия кнопок на английском языке, их необходимо переименовать. Но так как названия некоторых кнопок (Add, Edit) невозможно переименовать на русский язык, то необходимо произвести изменения в классе Txtbtns. Для этого на первоначально пустой вкладке Classes ДО Project Manager (как показано на рис.11.13) надо нажать кнопку Add и в появившемся окне выбрать папку, где хранятся следующие файлы – WIZSTYLE.VCX и WIZSTYLE.VCT и добавить их (как показано на рис.11.14).
После добавления необходимых файлов, на вкладке Classes появится пункт WIZSTYLE (см.рис.11.15).
Перейдите
на вкладку Classes
Нажмите
кнопку для добавления файлов
Рис.11.13 ДО Project Manager вкладка Classes
Рис.11.15 Добавление файлов WIZSTYLE.VCT и WIZSTYLE.VCX
Появился
пункт WIZSTYLE
Рис.11.15 ДО Project Manager вкладка Classes
Раскрываем
пункт Wizstyle,
выбираем Txtbtns
и нажимаем Modify.
Открывается окно редактора класса
кнопок Class
Designer-wizstyle.vcx
(txtbtns) объекта
Txtbtns
(см.
рис.11.16).
Рис.11.16 Окно редактора класса
Для объекта Txtbtns в окне Properties на вкладке Methods выбираем свойство SetCaption (как показано на рис.11.17).
Выберите
объект Txtbtns
Выберите
вкладку Methods
Выберите
свойство
SetCaption
Рис.11.17 Окно Properties
В появившемся окне txtbtns.setcaption* пользовательской процедуры User Procedure изменяем английские названия кнопок на русские (соответственно для режимов редактирования и ввода данных), используя при замене английские аналоги русских букв. После произведенных изменений данная процедура имеет вид, представленный на рис.11.18.
Рис.11.18 Окно пользовательской процедуры User Procedure
Затем закрываем окно txtbtns.setcaption*, согласившись с сохранением изменений, произведенных в процедуре класса кнопок. Интересно, что после закрытия окна txtbtns.setcaption* измененные названия класса кнопок в окне редактора класса Class Designer- wizstyle.vcx не отображаются, они появятся только на форме, в которую будет помещен отредактированный класс кнопок Txtbtns.
Далее в ДО Project Manager переименовываем отредактированный класс кнопок Txtbtns в Redactbtns с помощью команды Rename контекстного меню (см. рис.11.19, рис.11.20). Затем мышью перетаскиваем класс кнопок Redactbtns на форму (например, poski_wizard_text_buttons) и удаляем старый класс кнопок Txtbtns. Теперь названия всех кнопок переименовываются на русский язык (см. рис.11.21, рис.11.22).
Также можно поменять шрифт и начертание для объектов Label, используя свойства FontName и FontBold в окне Properties.
Рис.11.19 Переименование класса Txtbtns в Redactbtns
Переименуйте
класс
Txtbtns
в Redactbtns
Рис.11.20 Переименование класса Txtbtns в Redactbtns
Форма, созданная в VFP, не требует генерации программных кодов. Ее можно сразу запустить на выполнение. Для запуска формы существует много способов:
Меню Form – команда Run Form;
Команда Run Form контекстного меню;
Кнопка Run на стандартной панели инструментов VFP;
Комбинация клавиш <Ctrl>+<E>;
Меню Program – команда DO (запуск формы как программы).
Кнопки
Добавить
и Редактировать
показаны на русском языке
Рис.11.21 Переименование названия кнопок на русский язык
Кнопки
Сохранить
и Отменить
показаны на русском языке
Рис.11.22 Переименование названия кнопок на русский язык
Переименовать кнопки можно и другим способом:
В ДО Project Manager выбираем вкладку Documents – Form – выбираем нужную форму и нажимаем Modify. В окне Form Designer выделяем объект Redactbtns1 (как показано на рис.11.23). В окне Properties из верхнего выпадающего списка выбираем кнопку, которую хотим переименовать, например, cmdTop, переходим на вкладку Layout, выбираем свойство Caption, и переименовываем кнопку (см. рис.11.24).
Выделите
объект Redactbtns1
Рис.11.23 Окно Form Designer
Выберите
кнопку cmdTop
Перейдите
на вкладку Layout
Выберите
свойство Caption
Впишите
русское наименование кнопки
Рис.11.24 Окно Properties свойство Caption
Результат представлен на рис.11.25.
Рис.11.25 Форма Поставщики с текстовыми кнопками на русском языке
Теперь рассмотрим вариант создания формы, использующей не тестовые, а графические кнопки. Для задания этого параметра необходимо на 2 шаге работы мастера выбрать опцию Picture Buttons (как показано на рис.11.26).
Переключатель
Picture
Buttons
Рис.11.26 Окно для выбора стиля отображения полей и управляющих кнопок
После завершения работы мастера, открыв созданную форму в Конструкторе форм, для каждой кнопки необходимо задать свойство ToolTipText (всплывающая подсказка) в окне Properties (как показано на рис.11.27). Это свойство будет содержать название кнопки на русском языке. Также можно поменять шрифт и начертание для объектов Label, используя свойства FontName и FontBold в окне Properties.
Выберите
кнопку, для которой хотите создать
подсказку
Перейдите
на вкладку Layout
Выберите
свойство ToolTipText
Впишите
подсказку
Рис.11.27 Окно Properties свойство ToolTipText
Результат представлен на рис.11.28.
Рис.11.28 Форма Поставщики с графическими кнопками и всплывающими подсказками
Кнопки представленные в навигаторе формы, созданной с помощью мастера, практически не отличаются от кнопок формы, создаваемой с помощью Form Designer. (Filе - New - New Form). Однако здесь есть одна кнопка, которой не было в обычных формах редактирования, это кнопка поиска.
Если нажать на эту кнопку, то перед нами появится окно Search (как показано на рис.11.29).
В поле Field в раскрывающемся списке можно выбрать любое из полей, содержащихся в этой таблице (poski.dbf).
В поле Operator можно выбрать следующие операторы:
equals - равно
not equals - неравно
more than - больше чем
less than - меньше чем
is blank - пустое
is null - пустое или заполненное (любое)
contains - включает (тип данных такой же, как в поле null)
in - в (интервале)
between - между каких-либо значений
В поле Value можно записать необходимое значение.
Также можно выбрать и второе поле, выбрать для него необходимую опцию и установить необходимое значение, воспользовавшись операторами and/or (и/или).
Рис.11.29 Пример работы окна Search