Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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; просмотров: 163; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.43.140 (0.214 с.) |