|
recall &&восстанавливается текущая запись
else
delete &&логически удаляется текущая запись
pack
endif
_screen. ActiveForm. Refresh
Кнопка "Изменить" (Command8):
public lnam, lfam && Объявление глобальных переменных
thisform.txtNomp.ReadOnly=.F. &&Доступна для ввода значение поля Nomp
thisform.txtFamp.ReadOnly =.F. && Доступна для ввода значение поля Famp
thisform.txtNomp.setfocus && Получение фокуса полем Nomp thisform.txtNomp.enabled=.Т. &&Доступна для ввода значения поле Nomp
thisform.txtFamp.enabled=.T. && Доступна для ввода значения поле Famp
thisform.commandl.enabled=.F. &&He доступна "Начало" thisforrn.command2.enabled=.F. && He доступна "Конец" thisform.command3.enabled=.F. && He доступна "Вперёд" thisform.command4.enabled=.F. && He доступна "Назад" thisform.command5.enabled=:.F. && He доступна "Выход" thisform.command7.enabled=.F. && He доступна "Удалить" thisform.command9.visible=.T. &&видимa кнопка "Применить" thisform.commandl0.visible=.T. &&видима кнопка "Отменить"
thisform.command8.visible=.F. &&He видима кнопка "Добавить" thisform.command6.visible=.F. &&He видима кнопка "Изменить"
&&глобальным переменным Inam и lfam
&& присваивается новое значение, введенное в соответствующее поле
lnam=thisform.txtnomp.value
lfam =thisform.txtfamp.value
Кнопка "Применить" (Command9):
*Сохранение новых вводимых значений
*Procedure Click
*Сохранение новых вводимых значений после кнопки добавить
thisform.command9.visible=.F. && не видима "Применить" thisform.commandl0.visible=.F. && не видима "Отменить" thisform.command6.visible=.T. && видима "Добавить" thisform.command8.visible=.T. && видима "Изменить"
thisform.txtNomp.ReadOnly=.T. && Не доступно для ввода значение поля Nomp
thisform.txtFamp.ReadOnly =.T. && Не доступно для ввода значение поля Famp
thisform.command7.enabled=.T. &&доступна "Удалить"
thisform.command5.enabled=.T. &&доступна "Выход"
thisform.bt_update && вызов метода bt_update
Кнопка "Отменить" (Command 10):
* Procedure Click
* Отмена сохранения новых вводимых значений
thisform.txtNomp.value=lnam &&присвоение новых значений полям ввода
thisfoim.txtFamp.value=lfam &&присвоение новых значений полям ввода
thisform.command9.visible=.F. &&не видима "Применить" thisform.commandl0.visible=.F. &&не видима "Отменить" thisform.command6.visible=.T. &&видима "Добавить" thisform.command8.visible=.T. &&видима "Изменить"
thisform.txtNomp.ReadOnly=.T. && Не доступно для ввода значение поля Nomp
thisform.txtFamp.ReadOnly =.T. && Не доступно для ввода значение поля Famp
thisform.command5.enabled =.T. &&доступна "Выход"
thisform.command7.enabled =.T. &&доступна "Удалить"
thisform.bt_update &&вызов метода btupdate
2.5. Схема действия кнопок редактирования в форме
При использовании кнопки "Применить" значения полей добавленной, либо текущей исправленной записи (forml.txtNomp.value и form1.txtFamp.value) будут автоматически записываться в файл poshk после закрытия формы кнопкой "Выход". Кроме того, после нажатия на кнопку "Применить" пользователь может продолжать действия по просмотру и редактированию записей в форме, т. к. ему доступны кнопки просмотра в их исходном состоянии (благодаря процедуре bt_update) и такие кнопки редактирования, как "Добавить", "Изменить", "Удалить", "Выход".
При использовании кнопки "Отменить" программа этой кнопки восстанавливает (переприсваивает) значения полей ввода добавленной, либо текущей исправленной записи с помощью глобальных переменных. Это сделано для того, чтобы пользователь мог видеть отменяемые значения и откорректировать их с помощью кнопок "Изменить", "Удалить". После нажатия на кнопку "Отменить" пользователю для продолжения работы доступны те же кнопки, которые активизировались после нажатия на кнопку "Применить".
11.4 Продолжение создания Форм
Кнопка "Удалить'Т'Восстановить" (Command5)
Эта кнопка служит для внесения отметки об удалении записи, высвеченной на экране.
После щелчка на этой кнопке работает процедура:
if deleted() &&функция возвращает логическое значение, указывающее,
&&помечена ли текущая запись для удаления:
&&.Т. - если запись помечена,.F. - если нет.
recall &&повторный щелчок на кнопке "Удалить" на записи,
&&уже помеченной для удаления, снимает отметку об удалении.
&&3апись восстанавливается (.Т. заменяется на.F.)
else
delete &&B противном случае запись логически удаляется.
&&Физическое удаление производится после
&&выхода из режима редактирования
Endif
_screen.ActiveForm.Refresh()
Кнопка "Выход"
Эта кнопка служит для выхода из режима редактирования
справочника. Ей соответствует процедура:
if file ("tmp.dbf') &&Функция возвращает логическое значение Т.,
&&если файл с указанным именем найден
delete file tmp.dbf &&Удаляется временный файл
Endif
close databases &&3акрывает текущую базу данных и все её таблицы
&&Устанавливает текущей первую рабочую область
use d:\baza\poshk exclusive &&Открывает ТБД poshk в монопольном режиме
&&и помещает файл в РОП1
Locate for DELETED() &&Отыскивается первая запись, помеченная для удаления
iffoundQ &&Функция определяет успешность поиска для команд
&&CONTINUE, FIND, LOCATE, SEEK.
&&Возвращает логическое значение.F., если нет искомой
&&записи (или в указанной РОПе нет открытой таблицы)
&&и значение.Т. - если найдена
pack &&Физически удаляется найденная запись
Endif
sort to tmp on nomp &&Файл poshk после удаления первой помеченной
&&записи сортируется по номеру поставщика
&&Новому файлу присваивается имя tmp
&&(остальные помеченные записи остаются)
Дата добавления: 2015-07-08; просмотров: 163 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Описание программ. | | | Центральное растяжение и сжатие ступенчатого бруса. |