Форма для работы с перечнем животных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Форма для работы с перечнем животных



Для того, чтобы не вводить название животного вручную и чтобы избежать ошибок и повторов, в базе данных используется список названий животных, т.е. справочник по животным.

Для работы с таким справочником предназначена форма animals. Она вызывается из главного меню выбором пунктов «Справочники» - «Список животных».

 

Свойства формы:

AutoCenter =.T. - True

BorderStyle = 0 – No border

Caption = ’Список животных’

DataSession = 2 – Private Data Session

Height = 320

Icon = ’fox8.ico’

MaxButton =.F. – False

MinButton =.F. – False

Name = ’MainForm’

Width = 295

oAnimals =.F.

 

Методы формы:

До создания формы выполняется процедура Load. В ней создается курсор (временная таблица), которая связываются с таблицей базы данных сервера.

SET TALK OFF && Не выводить промежуточные результаты

SET SAFETY OFF && Не запрашивать системного подтверждения на удаление

SET NEAR ON && Выполнять поиск до близлежащего элемента

 

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

GO TOP && перейти в начало курсора

 

Объекты формы:

 

· lstAnimals – список животных

BaseClass = ListBox,

RowSource = City.name

Метод InteractiveChange:

idCity=city.id && сохранить id в переменной, т.к. он используется в параметре функции заливки курсора

thisform.oZoo.CursorRefresh() && обновить курсор зоопарков

thisform.lstZoo.Requery && перезалить список зоопарков

&& выполнить процедуру, которая присваивает значения списку зоопарков и разрешает/запрещает кнопки редактирования списка

thisform.show_zoo

&& выполнить действия при перемещении по списку зоопарков

thisform.lstZoo.InteractiveChange

 

· cmdAddAnimals – кнопка «Добавить» животное

BaseClass = CommandButton,

Caption = ’Добавить’

Метод Click:

&& выполнить процедуру добавления новой записи

add_record('Animals', thisform.lstAnimals, thisform.oAnimals)

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования списка

thisform.show_animals

thisform.lstAnimals.SetFocus && установить фокус на список

 

· cmdUpdAnimals – кнопка «Изменить» название животного

BaseClass = CommandButton,

Caption = ’Изменить’

Метод Click:

&& выполнить процедуру изменения записи

upd_record('Animals', Animals.id, thisform.lstAnimals, thisform.oAnimals) && выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования списка

thisform.show_animals

thisform.lstAnimals.SetFocus && установить фокус на список

 

· cmdDelAnimals – кнопка «Удалить» животное

BaseClass = CommandButton,

Caption = ’Удалить’

Метод Click:

&& выполнить процедуру удаления записи

del_record('Animals', Animals.id, thisform.lstAnimals, thisform.oAnimals)

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования

thisform.show_animals

thisform.lstAnimals.SetFocus && установить фокус на список

 

Перед выводом формы на экран выполняется процедура Init:

&& выполнить процедуру, которая присваивает значения списку и разрешает/запрещает кнопки редактирования списка

thisform.show_animals

 

Процедура show_animals – обновляет значение списка животных и разрешает/запрещает кнопки «Изменить» и «Удалить»

IF!EOF('Animals') && если не вышли за конец курсора, т.е. список не пустой

thisform.lstAnimals.Value=Animals.name && список животных получает значение из курсора

thisform.cmdUpdAnimals.Enabled=.T. && кнопка "Изменить" доступна

thisform.cmdDelAnimals.Enabled=.T. && кнопка "Удалить" доступна

ELSE

thisform.lstAnimals.Value='' && список животных получает значение "пусто"

thisform.cmdUpdAnimals.Enabled=.F. && кнопка "Изменить" не доступна

thisform.cmdDelAnimals.Enabled=.F. && кнопка "Удалить" не доступна

ENDIF

 

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 130; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.150.59 (0.008 с.)