Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Форма отображения 10-ти лучших работников зоопарков Украины.Содержание книги
Поиск на нашем сайте
Для отображения 10-ти лучших работников зоопарков всей Украины используется форма Top10, которая вызывается из главного меню Справочники - Топ 10 работников.
Свойства формы: AutoCenter =.T. - True BorderStyle = 0 – No border Caption = ’ Топ 10 работников’ DataSession = 2 – Private Data Session Height = 228 Icon = ’fox8.ico’ MaxButton =.F. – False MinButton =.F. – False Name = ’top10’ Width = 663 oTop10 =.F.
Методы формы: До создания формы выполняется процедура Load. В ней создается курсор (временная таблица), которая связываются с таблицей базы данных сервера. SET TALK OFF && Не выводить промежуточные результаты SET SAFETY OFF && Не запрашивать системного подтверждения на удаление SET NEAR ON && Выполнять поиск до близлежащего элемента
thisform.oTop10=CREATEOBJECT('ocad') && создать объект-курсор для таблицы thisform.oTop10.Alias='Top10' && имя курсора thisform.oTop10.SelectCmd='SELECT * FROM Top10()'&& команда для заполнения курсора && структура курсора thisform.oTop10.CursorSchema='id I, workname C(30), zooname C(20), cityname C(15), kol I' IF thisform.oTop10.CursorFill(.T.,.F., 1, loCmd)=.F. && если заполнение курсора не получилось LOCAL laerror(1) && объявление массива = AERROR(laerror) && чтение ошибки в массив MESSAGEBOX('Top10 '+STR(laerror(1))+' '+laerror(2)) && выдать сообщение об ошибке RETURN.F. && возврат с ошибкой ENDIF
Объекты формы: Grid1 – отображение таблицы BaseClass = Grid, ColumnCount = 5, DeleteMark =.F. – False, HighlightStyle = 2, Name = ’Grid1’, ReadOnly =.T. – True, RowSource = ’Top10 ’, ScrollBars = 0 – None
Дополнительные процедуры Эти процедуры вызываются из форм программы и выполняют определенные действия над объектами, которые передаются в виде параметров.
· Add_record – добавляет новую запись в таблицу LPARAMETERS tabname, objLst, objCursor && параметры - имя таблицы, объект-список, объект-курсор
&& Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH tabname, '' TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM add_'+tabname+'(?cName) 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 IF USED('City') && если открыт курсор City idCity=City.id && запомнить его id (он может использоваться в параметре функции на сервере БД ENDIF IF USED('Zoo') && если открыт курсор Zoo idZoo=Zoo.id && запомнить его id (он может использоваться в параметре функции на сервере БД ENDIF objCursor.CursorRefresh() && обновить курсор objLst.Requery && перезалить список =SEEK(temp.ret, tabname, 'id') && найти новую запись в списке ENDIF
· Upd_record – изменяет запись в таблице LPARAMETERS tabname, nId, objLst, objCursor && параметры - имя таблицы, id изменяемой записи, объект-список, объект-курсор
SELECT (tabname) && переключиться на курсор && Вызвать форму запроса нового имени и возврат его в переменную cName DO FORM zapros_name WITH tabname, ALLTRIM(name) TO cName IF EMPTY(cName) && Если запрос отменен RETURN && Возврат ENDIF
nId=id && запомнить id в переменной для использования в параметре функции oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM upd_'+tabname+'(?nId,?cName) 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 objCursor.CursorRefresh() && обновить курсор objLst.Requery && перезалить список =SEEK(temp.ret, tabname, 'id') && найти новую запись в списке ENDIF
· Del_record – удаляет запись из таблицы LPARAMETERS tabname, nId, objLst, objCursor && параметры - имя таблицы, id удаляемой записи, объект-список, объект-курсор
&& запрос подтверждения удаления ret_val=MESSAGEBOX('Действительно удалить эту запись?',4+32,'Удаление') IF ret_val<>6 && если выбрано не "Да" RETURN && вернуться ENDIF
SELECT (tabname) && переключиться на курсор old_name=name && сохранить удаляемое имя oTemp=CREATEOBJECT('ocad') && создать объект для временного курсора oTemp.Alias='Temp' && имя временного курсора && составление командной строки для запроса oTemp.SelectCmd='SELECT * FROM del_record(?tabname,?nId) 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 IF USED('City') && если открыт курсор City idCity=City.id && запомнить его id (он может использоваться в параметре функции на сервере БД ENDIF IF USED('Zoo') && если открыт курсор Zoo idZoo=Zoo.id && запомнить его id (он может использоваться в параметре функции на сервере БД ENDIF IF USED('Worker') && если открыт курсор Worker idWorker=Worker.id && запомнить его id (он может использоваться в параметре функции на сервере БД ENDIF objCursor.CursorRefresh() && обновить курсор SELECT (tabname) && переключиться на курсор objLst.Requery && перезалить список =SEEK(old_name, tabname, 'name') && выполнить поиск близлежащего названия к старому IF EOF() && если вышли за конец курсора GO BOTTOM && перейти в его конец ENDIF ENDIF
|
||||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 199; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.41 (0.009 с.) |