Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание форм для редактирования данных в VFP_М...doc
Скачиваний:
0
Добавлен:
06.01.2020
Размер:
970.75 Кб
Скачать

2. Описание программ.

2.1. Создание процедуры (метода) визуальной доступности кнопок просмотра.

Любым способом вызвать в диалоговое окно Form Designer модифицированную форму Forml, которой присвоено имя "ПОСТАВЩИКИ" (можно по следующему пути: диалоговое окно Project Manager, вкладка Documents, строка Forms, после щелчка по значку + строка Forml в списке Forms, кнопка Modify).

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

Создание нового метода:

  1. Выполнить команду FormNew Methods

  2. В возникшем диалоговом окне New Methods в текстовом поле Name надо вписать имя метода (допустим bt_update) а в поле Description — краткое описание метода (выполняется самостоятельно)

  3. Нажать кнопку Add. В окне Properties на вкладке All возникает строка с именем нового метода, т.е. добавляется новый метод. Для вызова диалогового окна редактирования этого метода и ввода в нем программного кода надо щелкнуть по возникшей строке.

  4. Ввести текст процедуры (метода)

*Процедура form1.bt_update

*Использование кнопок по месту их нахождения, т.е. доступности

if recno() =1

&&Если указатель записи стоит перед первой записью файла

thisform.command1.enabled= .f. &&He доступна кнопка "Начало" thisform.command4.enabled=.f. &&Не доступна кнопка "Назад"

else

thisform.command1.enabled=.t. &&Доступна кнопка "Начало" thisform.command4.enabled=.t. && Доступна кнопка "Назад"

endif

if recno()=recсount()

&&Если номер текущей записи равен числу записей в файле

thisform.command2.enabled=.f. &&He доступна кнопка "Конец"

thisform.command3.enabled=.f. &&He доступна кнопка "Вперёд"

else

thisform.command2.enabled=.t. &&Доступна кнопка "Конец"

thisform.command3.enabled=.t. &&Доступна кнопка "Вперёд"

endif

2.2. Использование созданной процедуры (метода).

Для выполнения созданного метода необходимо указать имя метода и имя объекта, к которому относится данный метод Имя объекта и имя метола разделяются точкой

В нашем случае: form1.bt_update() (form1 — имя объекта; bt_update — имя метода; () — не обязательно указывать).

2.3. Создание методов использования кнопок в режиме просмотра.

Кнопка "Начало" (Command1):

go top

thisform.txtnomp.refresh() &&Освежение ("перерисовывание" полей Nomp и Famp)

thisform.txtfamp.refresh()

thisform.bt_update &&Включение метода bt_update

Кнопка "Конец" (Command2):

Go bottom

thisform.txtnomp.refresh() &&Освежение ("перерисовывание" полей Nomp и Famp)

thisform.txtfamp.refresh()

thisform.bt_update &&Включение метода bt_update

Кнопка "Вперед" (Command3):

if.not.eof() &&или if!EOF()

skip

if substr(nomp,1,1)<>"П"

SKIP 1 &&или Go bottom

endif

endif

_screen.activeform.refresh()

thisform.bt_update

Кнопка "Назад" (Command4):

if.not.bof() && или if!bof()

SKIP -1

If substr(Nomp,1,1)<>"П"

skip

endif

endif

_screen.activeForm.Refresh()

thisform.bt_update