Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

thisform.bt_update

Else

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

Endif

if recno()=reccount()

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

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

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

Else

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

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

Endif

IF DELETED()

thisform.check1.Value=1

ELSE

thisform.check1.Value=0

Щёлкнуть 2 раза по кнопке Вперёд для вызова окна кода. Это окно имеет 2 раскрывающихся списка: Object и Procedure - для выбора объектов Command 1 и методов Click. Оно позволяет переключаться между всеми процедурами всех объектов одной формы.

За командными кнопками через событие Click Event закреплены процедуры:

а) за кнопкой Начало (Command4):

Go top

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

Skip

Endif

thisform.txtnomp.refresh()

thisform.txtfamp.refresh()

б) за кнопкой Конец (Command5):

Go bottom

if substr(nomp,2,l)<>""

Skip -1 &&либо go bottom

Endif

thisform.txtnomp.refresh()

thisform.txtfamp.refresh()

в) за кнопкой Вперёд (Command1):

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

SKIP

IF SUBSTR(nomp,1,1)<>"П"

SKIP -1 && либо go bottom

ENDIF

ENDIF

_screen.ActiveForm.Refresh()

Thisform.bt_update

г) за кнопкой Назад (Command2):

if.not.bof()

Skip-1

IF SUBSTR(nomp,1,1)<>"П"

Skip

Endif

Endif

_screen.ActiveForm.Refresh()

thisform.bt_update

 

Кнопка "Добавить"

 

append blank

go bottom

thisform.bt_update &&Переход на метод bt_update

thisform.txtnomp.refresh()

thisform.txtfamp.refresh()

thisform.command8.click &&Вызов кода кнопки "Изменить"

Кнопка "Удалить" (Command7):

*простейший способ: запись удаляется *до выхода из формы

if deleted ()

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.command1.enabled=.F. &&He доступна "Начало"

thisform.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.command10.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 &&присвоение новых значений полям ввода

thisform.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 &&вызов метода bt_update

 

Кнопка "Выход"

Эта кнопка служит для выхода из режима редактирования

справочника. Ей соответствует процедура:

if file ("tmp.dbf") &&Функция возвращает логическое значение Т.,

&&если файл с указанным именем найден

delete file tmp.dbf &&Удаляется временный файл

endif

close databases &&3акрывает текущую базу данных и все её таблицы

&&Устанавливает текущей первую рабочую область

use D:\baza\poshk exclusive &&Открывает ТБД poshk в монопольном режиме

&&и помещает файл в РОП1

Locate for DELETED() &&Отыскивается первая запись, помеченная для удаления

IF FOUND() &&Функция определяет успешность поиска для команд

&&CONTINUE, FIND, LOCATE, SEEK.

&&Возвращает логическое значение.F., если нет искомой

&&записи (или в указанной РОПе нет открытой таблицы)

&&и значение.Т. - если найдена

pack &&Физически удаляется найденная запись

endif

sort to tmp on nomp &&Файл poshk после удаления первой помеченной

&&записи сортируется по номеру поставщика

&&Новому файлу присваивается имя tmp

&&(остальные помеченные записи остаются)

close databases

use D:\baza\poshk exclusive &&В файле poshk помечает для удаления

delete all &&все записи внутри файла

pack &&Физическое удаление всех помеченных записей

append from tmp &&Переписывает файл tmp с помеченными

&&записями в файл poshk

if file ("tmp.dbf") &&Временный файл,

delete file tmp.dbf &&если он создан, удаляется

endif

if MESSAGEBOX("Oтсортировать файл?",4+32+256,"Сортировать по коду НОМП")=6

&&4-Yes и No;32-?;

&&256 - 2я командная кнопка по умолчанию (No)

&& 6 - выбрана Yes

sort to tmp on nomp &&Снова сортируется poshk. Вновь отсортированный файл

&& с помеченными записями создаётся под именем tmp

endif

close databases

&&Повторение блока команд с комментариями

use D:\baza\poshk exclusive &&B файле poshk помечает для удаления

delete all &&все записи внутри файла

pack &&Физическое удаление всех помеченных записей

append from tmp &&Переписывает файл tmp с помеченными

&&записями в файл poshk endif

if MESSAGEBOX("Завершить редактирование?",4+32+256,"Завершить")=6

_screen.ActiveForm.Release()

else

_screen.ActiveForm. Refresh()

endif

 


Дата добавления: 2015-07-24; просмотров: 65 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Таблицы| Для работы понадобится ткань, вата и синтипон, нитки, иголки и картонка для крышки

mybiblioteka.su - 2015-2024 год. (0.013 сек.)