![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Главная форма для работы с БД «Зоопарк»Содержание книги Поиск на нашем сайте
Эта форма (mainform) предназначена для работы со всей базой данных «Зоопарк» и вызывается на экран из главного меню «Главная».
Свойства формы: AutoCenter =.T. - True BorderStyle = 0 – No border Caption = ’Зоопарки Украины’ DataSession = 2 – Private Data Session Height = 390 Icon = ’fox8.ico’ MaxButton =.F. – False MinButton =.F. – False Name = ’MainForm’ ShowWindow = 2 – As Top-Level Form Width = 820 oAnimals =.F. oAnimToWork =.F. oCity =.F. oServis =.F. oWorker =.F. oZoo =.F.
Методы формы: До создания формы выполняется процедура Load. В ней создаются курсоры (временные таблицы), которые связываются с таблицами базы данных сервера. SET TALK OFF && Не выводить промежуточные результаты SET SAFETY OFF && Не запрашивать системного подтверждения на удаление SET NEAR ON && Выполнять поиск до близлежащего элемента
thisform.oServis=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Servis thisform.oServis.Alias='Servis' && имя курсора thisform.oServis.SelectCmd='SELECT * FROM read_servis()' && команда для заполнения курсора thisform.oServis.CursorSchema='id I, name C(15)' && структура курсора IF thisform.oServis.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Servis '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name
thisform.oCity=CREATEOBJECT('ocad') && создать объект-курсор для таблицы City thisform.oCity.Alias='City' && имя курсора thisform.oCity.SelectCmd='SELECT * FROM read_city()' && команда для заполнения курсора thisform.oCity.CursorSchema='id I, name C(15)' && структура курсора IF thisform.oCity.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('City '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name GO TOP && перейти в начало курсора
idCity=city.id thisform.oZoo=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Zoo thisform.oZoo.Alias='Zoo' && имя курсора thisform.oZoo.SelectCmd='SELECT * FROM read_zoo(?idCity)' && команда для заполнения курсора thisform.oZoo.CursorSchema='id I, name C(20)' && структура курсора IF thisform.oZoo.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось
LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Zoo '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name GO TOP && перейти в начало курсора
idZoo=zoo.id thisform.oWorker=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Worker thisform.oWorker.Alias='Worker' && имя курсора thisform.oWorker.SelectCmd='SELECT * FROM read_worker(?idZoo)' && команда для заполнения курсора thisform.oWorker.CursorSchema='id I, name C(30), id_servis I' && структура курсора IF thisform.oWorker.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Worker '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name GO TOP && перейти в начало курсора
idWorker=Worker.id thisform.oAnimToWork=CREATEOBJECT('ocad') && создать объект-курсор для таблицы AnimToWork thisform.oAnimToWork.Alias='AnimToWork' && имя курсора thisform.oAnimToWork.SelectCmd='SELECT * FROM read_AnimToWork(?idWorker)' && команда для заполнения курсора thisform.oAnimToWork.CursorSchema='id I, name C(15)' && структура курсора IF thisform.oAnimToWork.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('AnimToWork '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name GO TOP && перейти в начало курсора
thisform.oAnimals=CREATEOBJECT('ocad') && создать объект-курсор для таблицы Animals thisform.oAnimals.Alias='Animals' && имя курсора thisform.oAnimals.SelectCmd='SELECT * FROM read_animals()' && команда для заполнения курсора thisform.oAnimals.CursorSchema='id I, name C(15)' && структура курсора IF thisform.oAnimals.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Animals '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF INDEX ON id TAG id && индексировать курсор по полю id INDEX ON name TAG name && индексировать курсор по полю name
Объекты формы:
· lstCity – список городов BaseClass = ListBox, RowSource = City.name Метод InteractiveChange: idCity=city.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора thisform.oZoo.CursorRefresh() && обновить курсор зоопарков thisform.lstZoo.Requery && перезалить список зоопарков && выполнить процедуру, которая присваивает значения списку зоопарков и разрешает/запрещает кнопки редактирования списка thisform.show_zoo && выполнить действия при перемещении по списку зоопарков thisform.lstZoo.InteractiveChange
· cmdAddCity – кнопка «Добавить» город BaseClass = CommandButton, Caption = ’Добавить’ Метод Click: add_record('City', thisform.lstCity, thisform.oCity) && выполнить процедуру добавления новой записи && выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов thisform.show_city && выполнить действия при перемещении по списку городов thisform.lstCity.InteractiveChange thisform.lstCity.SetFocus && установить фокус на список
· cmdUpdCity – кнопка «Изменить» город BaseClass = CommandButton, Caption = ’Изменить’ Метод Click: upd_record('City', City.id, thisform.lstCity, thisform.oCity) && выполнить процедуру изменения записи && выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов thisform.show_city thisform.lstCity.SetFocus && установить фокус на список
· cmdDelCity – кнопка «Удалить» город BaseClass = CommandButton, Caption = ’Удалить’ Метод Click: del_record('City', City.id, thisform.lstCity, thisform.oCity) && выполнить процедуру удаления записи && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования thisform.show_city && выполнить действия при перемещении по списку городов thisform.lstCity.InteractiveChange thisform.lstCity.SetFocus && установить фокус на список
· lstZoo – список зоопарков BaseClass = ListBox, RowSource = Zoo.name Метод InteractiveChange: idZoo=zoo.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора thisform.oWorker.CursorRefresh() && обновить курсор рабочих thisform.lstWorker.Requery && перезалить список рабочих && выполнить процедуру, которая присваивает значения списку рабочих и разрешает/запрещает кнопки редактирования списка thisform.show_worker && выполнить действия при перемещении по списку рабочих thisform.lstWorker.InteractiveChange
· cmdAddZoo – кнопка «Добавить» зоопарк BaseClass = CommandButton, Caption = ’Добавить’ Метод Click: && Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH 'Zoo', '' TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
IdCity=City.id && сохранить id в переменной, т.к. он используется в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM add_zoo(?cName,?IdCity) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 thisform.oZoo.CursorRefresh() && обновить курсор thisform.lstZoo.Requery && перезалить список =SEEK(temp.ret, 'Zoo', 'id') && найти новую запись в списке thisform.lstZoo.InteractiveChange && выполнить действия, как при перемещении по списку
thisform.lstZoo.SetFocus && установить фокус на списке ENDIF
· cmdUpdZoo – кнопка «Изменить» зоопарк BaseClass = CommandButton, Caption = ’Изменить’ Метод Click: && Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH 'Zoo', ALLTRIM(zoo.name) TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
nId=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции idCity=City.id && сохранить id в переменной, т.к. он используется в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM upd_zoo(?nId,?cName,?idCity) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 thisform.oZoo.CursorRefresh() && обновить курсор thisform.lstZoo.Requery && перезалить список =SEEK(temp.ret, 'Zoo', 'id') && найти новую запись в списке thisform.lstZoo.InteractiveChange && выполнить действия, как при перемещении по списку thisform.lstZoo.SetFocus && установить фокус на списке ENDIF
· cmdDelZoo – кнопка «Удалить» зоопарк BaseClass = CommandButton, Caption = ’Удалить’ Метод Click: del_record('Zoo', Zoo.id, thisform.lstZoo, thisform.oZoo) && выполнить процедуру удаления записи && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования thisform.show_zoo && выполнить действия при перемещении по списку thisform.lstZoo.InteractiveChange thisform.lstZoo.SetFocus && установить фокус на список
· lstWorker – список рабочих BaseClass = ListBox, RowSource = Worker.name Метод InteractiveChange: idWorker=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора thisform.oAnimToWork.CursorRefresh() && обновить курсор животных thisform.lstAnimToWork.Requery && перезалить список животных && выполнить процедуру, которая присваивает значения списку живоных и разрешает/запрещает кнопки редактирования списка thisform.show_animtowork
· cmdAddWorker – кнопка «Добавить» рабочего BaseClass = CommandButton, Caption = ’Добавить’ Метод Click: && Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH 'Worker', '' TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
&& Вызвать форму запроса услуги и возврат его id в переменную idServis DO FORM zapros_dop WITH 'Servis' TO idServis IF EMPTY(idServis) && Если запрос отменен
RETURN && Возврат ENDIF
idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM add_worker(?cName,?idZoo,?idServis) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 thisform.oWorker.CursorRefresh() && обновить курсор thisform.lstWorker.Requery && перезалить список =SEEK(temp.ret, 'Worker', 'id') && найти новую запись в списке thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку thisform.lstWorker.SetFocus && установить фокус на списке ENDIF
· cmdUpdWorker – кнопка «Изменить» рабочего BaseClass = CommandButton, Caption = ’Изменить’ Метод Click: && Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH 'Worker', ALLTRIM(Worker.name) TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
&& Вызвать форму запроса услуги и возврат его id в переменную idServis DO FORM zapros_dop WITH 'Servis', Servis.id TO idServis IF EMPTY(idServis) && Если запрос отменен RETURN && Возврат ENDIF
idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции nId=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM upd_worker(?nId,?cName,?idZoo,?idServis) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 thisform.oWorker.CursorRefresh() && обновить курсор thisform.lstWorker.Requery && перезалить список =SEEK(temp.ret, 'Worker', 'id') && найти новую запись в списке thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку thisform.lstWorker.SetFocus && установить фокус на списке ENDIF
· cmdDelWorker – кнопка «Удалить» рабочего BaseClass = CommandButton, Caption = ’Удалить’ Метод Click: del_record('Worker', Worker.id, thisform.lstWorker, thisform.oWorker) && выполнить процедуру удаления записи && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования thisform.show_worker && выполнить действия при перемещении по списку thisform.lstWorker.InteractiveChange thisform.lstWorker.SetFocus && установить фокус на список
· lstServis – список услуг BaseClass = ListBox, RowSource = Servis.name
· cmdAddServis – кнопка «Добавить» услугу BaseClass = CommandButton, Caption = ’Добавить’ Метод Click: add_record('Servis', thisform.lstServis, thisform.oServis) && выполнить процедуру добавления новой записи && выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов
thisform.show_servis thisform.lstServis.SetFocus && установить фокус на список
· cmdUpdServis – кнопка «Изменить» услугу BaseClass = CommandButton, Caption = ’Изменить’ Метод Click: upd_record('Servis', Servis.id, thisform.lstServis, thisform.oServis) && выполнить процедуру изменения записи && выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов thisform.show_servis thisform.lstServis.SetFocus && установить фокус на список
· cmdDelServis – кнопка «Удалить» услугу BaseClass = CommandButton, Caption = ’Удалить’ Метод Click: del_record('Servis', Servis.id, thisform.lstServis, thisform.oServis) && выполнить процедуру удаления записи && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования thisform.show_servis && выполнить действия при перемещении по списку thisform.lstServis.InteractiveChange thisform.lstServis.SetFocus && установить фокус на список
· lstAnimToWork – список животных BaseClass = ListBox, RowSource = AnimToWork.name
· cmdAddAnimToWork – кнопка «Добавить» животное BaseClass = CommandButton, Caption = ’Добавить’ idZoo=Zoo.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM add_AnimToWork(?idZoo,?idAnimal) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 =SEEK(temp.ret, 'Worker', 'id') && найти рабочего в списке thisform.lstWorker.InteractiveChange && выполнить действия, как при перемещении по списку thisform.lstAnimToWork.SetFocus && установить фокус на списке ENDIF
· cmdUpdAnimToWork – кнопка «Изменить» животное BaseClass = CommandButton, Caption = ’Изменить’ Метод Click: && Вызвать форму запроса названия животного и возврат его id в переменную idAnimal DO FORM zapros_dop WITH 'Animals' TO idAnimal IF EMPTY(idAnimal) && Если запрос отменен RETURN && Возврат ENDIF
nId=AnimToWork.id && сохранить id в переменной, т.к. он используется в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM upd_AnimToWork(?nId,?idAnimal) as ret' oTemp.CursorSchema='ret I' && структура курсора IF oTemp.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Temp '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
IF temp.ret>0 && если сервер БД вернул код > 0 idWorker=Worker.id && сохранить id в переменной, т.к. он используется в параметре функции thisform.oAnimtowork.CursorRefresh() && обновить курсор thisform.lstAnimToWork.Requery && перезалить список =SEEK(temp.ret, 'AnimToWork', 'id') && найти новую запись в списке thisform.lstAnimToWork.SetFocus && установить фокус на списке ENDIF
· cmdDelAnimToWork – кнопка «Удалить» животное BaseClass = CommandButton, Caption = ’Удалить’ Метод Click: del_record('AnimToWork', AnimToWork.id, thisform.lstAnimToWork, thisform.oAnimToWork) && выполнить процедуру удаления записи && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования thisform.show_animtowork thisform.lstAnimToWork.SetFocus && установить фокус на список
Перед выводом формы на экран выполняется процедура Init: && выполнить процедуру, которая присваивает значения списку городов и разрешает/запрещает кнопки редактирования списка городов thisform.show_city && выполнить действия при изменении списка городов thisform.lstCity.InteractiveChange
Процедура show_city – обновляет значение списка городов и разрешает/запрещает кнопки «Изменить» и «Удалить» для городов, а также кнопку «Добавить» для списка зоопарков. IF!EOF('City') && если не вышли за конец курсора, т.е. список не пустой thisform.lstCity.Value=City.name && список городов получает значение из курсора городов thisform.cmdUpdCity.Enabled=.T. && кнопка "Изменить" доступна thisform.cmdDelCity.Enabled=.T. && кнопка "Удалить" доступна thisform.cmdAddZoo.Enabled=.T. && кнопка "Добавить" для зоопарков доступна ELSE thisform.lstCity.Value='' && список городов получает значение "пусто" thisform.cmdUpdCity.Enabled=.F. && кнопка "Изменить" не доступна thisform.cmdDelCity.Enabled=.F. && кнопка "Удалить" не доступна thisform.cmdAddZoo.Enabled=.F. && кнопка "Добавить" для зоопарков не доступна ENDIF
Процедура show_zoo – обновляет значение списка зоопарков и разрешает/запрещает кнопки «Изменить» и «Удалить» для зоопарков, а также кнопку «Добавить» для списка рабочих. IF!EOF('Zoo') && если не вышли за конец курсора thisform.lstZoo.Value=Zoo.name && список зоопарков получает значение из курсора thisform.cmdUpdZoo.Enabled=.T. && кнопка "Изменить" доступна thisform.cmdDelZoo.Enabled=.T. && кнопка "Удалить" доступна thisform.cmdAddWorker.Enabled=.T. && кнопка "Добавить" для рабочих доступна ELSE thisform.lstZoo.Value='' && список зоопарков получает пустое значение thisform.cmdUpdZoo.Enabled=.F. && кнопка "Изменить" не доступна thisform.cmdDelZoo.Enabled=.F. && кнопка "Удалить" не доступна thisform.cmdAddWorker.Enabled=.F. && кнопка "Добавить" для рабочих не доступна ENDIF
Процедура show_worker – обновляет значение списков рабочих и услуг разрешает/запрещает кнопки «Изменить» и «Удалить» для зоопарков, а также кнопку «Добавить» для списка животных. IF!EOF('Worker') && если не вышли за конец курсора thisform.lstWorker.Value=Worker.name && список рабочих получает значение из курсора thisform.cmdUpdWorker.Enabled=.T. && кнопка "Изменить" доступна thisform.cmdDelWorker.Enabled=.T. && кнопка "Удалить" доступна thisform.cmdAddAnimToWork.Enabled=.T. && кнопка "Добавить" для животных доступна ELSE thisform.lstWorker.Value='' && список зоопарков получает пустое значение thisform.cmdUpdWorker.Enabled=.F. && кнопка "Изменить" не доступна thisform.cmdDelWorker.Enabled=.F. && кнопка "Удалить" не доступна thisform.cmdAddAnimToWork.Enabled=.F. && кнопка "Добавить" для животных не доступна ENDIF
IF SEEK(worker.id_servis,'servis','id') && если для рабочего найдена услуга thisform.lstServis.Value=servis.name && список услуг получает значение из курсора ELSE thisform.lstServis.Value='' && список услуг получает пустое значение ENDIF
Процедура show_servis – обновляет значение списка услуг и разрешает/запрещает кнопки «Изменить» и «Удалить» для услуг. IF!EOF('Servis') && если не вышли за конец курсора thisform.lstServis.Value=Servis.name && список услуг получает значение из курсора thisform.cmdUpdServis.Enabled=.T. && кнопка "Изменить" доступна thisform.cmdDelServis.Enabled=.T. && кнопка "Удалить" доступна ELSE thisform.lstServis.Value='' && список услуг получает пустое значение thisform.cmdUpdServis.Enabled=.F. && кнопка "Изменить" не доступна thisform.cmdDelServis.Enabled=.F. && кнопка "Удалить" не доступна ENDIF
Процедура show_animtowork – обновляет значение списка животных и разрешает/запрещает кнопки «Изменить» и «Удалить» для животных. IF!EOF('AnimToWork') && если не вышли за конец курсора thisform.lstAnimToWork.Value=AnimToWork.name && список животных получает значение из курсора thisform.cmdUpdAnimToWork.Enabled=.T. && кнопка "Изменить" доступна thisform.cmdDelAnimToWork.Enabled=.T. && кнопка "Удалить" доступна ELSE thisform.lstAnimToWork.Value='' && список животных получает пустое значение thisform.cmdUpdAnimToWork.Enabled=.F. && кнопка "Изменить" не доступна thisform.cmdDelAnimToWork.Enabled=.F. && кнопка "Удалить" не доступна ENDIF
|
|||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.70.100 (0.012 с.) |