Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Убирать можно только те поля, значение которых auto increment




Затем выбираем поле name_spec и в инспекторе объектов устанавливаем у него свойства:

DisplayLabel→Название специальности;

DisplayWidth→50;

На рисунке 11.9 отображена форма «Тип объекта» после настройки

 

 

Рисунок 11.9 – Форма «Тип объекта» после настройки

 

Теперь необходимо написать обработчики событий для кнопок.

Щелкнем дважды мышкой по кнопке «Добавить запись» и пишем следующий код:

 

procedure TForm_obj_type.Button1Click(Sender: TObject);

begin

//новая запись

form_stroyka.sprav_obj_type.Append;

dbgrid1.SetFocus

end;

 

В коде form_stroyka – название главной формы, sprav_obj_type – имя таблицы.

 

Щелкнем дважды мышкой по кнопке «Удалить запись» и пишем следующий код:

 

procedure TForm_obj_type.Button2Click(Sender: TObject);

begin

//если записи отсутствуют то выводим сообщение, иначе удаляем запись

if dbgrid1.DataSource.DataSet.RecordCount<>0 then

begin

if (MessageBox(Handle, 'Удаление записей может привести к нарушению работы всей базы данных. Удалить запись?', 'Внимание!!!', MB_YESNO)= IDYES)

then

form_stroyka.sprav_obj_type.Delete

end

else ShowMessage('Нет записей для удаления');

 

end;

 

В коде form_stroyka – название главной формы, sprav_obj_type – имя таблицы.

 

Щелкнем дважды мышкой по кнопке «Выход» и пишем следующий код:

 

procedure TForm_obj_type.Button3Click(Sender: TObject);

begin

Close;

end;

 

В инспекторе объектов (Events) для Form_obj_type событие OnActivate пишем FormActivate и при нажатии на клавишу Enter пишем код:

 

procedure TForm_obj_type.FormActivate(Sender: TObject);

begin

//установка фокуса при активации формы

dbgrid1.SetFocus;

end;

 

В инспекторе объектов (Events) для Form_obj_type событие OnClose пишем FormClose и при нажатии на клавишу Enter пишем код:

 

procedure TForm_obj_type.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

//процедура закрытия формы

Action:=cafree;

end;

 

В инспекторе объектов (Events) для Form_obj_type событие OnCloseQuery пишем FormCloseQuery и при нажатии на клавишу Enter пишем код:

 

procedure TForm_obj_type.FormCloseQuery(Sender: TObject;

var CanClose: Boolean);

//проверка на наличие пустых записей перед закрытием, если такие записи найдены то отменяем //закрытие формы

begin

if dbgrid1.DataSource.DataSet.RecordCount<>0

then begin

if not (form_stroyka.sprav_obj_type.Locate('name_spec', '', [loCaseInsensitive,loPartialKey]))

then begin form_stroyka.sprav_obj_type.edit; form_stroyka.sprav_obj_type.post; end

else begin ShowMessage('У Вас есть не заполненные записи');CanClose:=false;dbgrid1.SetFocus;end;

end;

end;

 

В коде form_stroyka – название главной формы, sprav_obj_type – имя таблицы.

 

Для запуска справочника «Тип объекта» из главной формы необходимо в меню Project выбрать пункт Options… (рисунок 11.10)

 

 

Рисунок 11.10 – Отображение пункта Options…

 

В окне Project Options на вкладке Forms с помощью стрелок < > перемещаем form_obj_type из окна auto-create forms в Available forms (рисунок 11.11).

 

Рисунок 11.11 – Окно Project Options

 

Переходим на главную форму, щелкаем мышкой по компоненту MainMenu1, а затем по пункту «Тип объекта» (рисунок 11.12).

 

 

Рисунок 11.12 – Выбор пункта «Тип объекта»

 

В окне кода записываем обработчик события:

 

procedure TForm_stroyka.N2Click(Sender: TObject);

begin

f:=0;

//проверяем, активна ли наша форма

if ActiveMDIChild.Caption<>'Тип объекта' then begin

//если нет то ищем ее среди неактивных и если находим, то показываем ее

for i:=0 to form_stroyka.MDIChildCount-1 do

if form_stroyka.MDIChildren[i].Caption='Тип объекта' then begin

MDIChildren[i].Show;f:=1;end;

end

else f:=1;

//если форма еще не создана, то создаем ее

if f<>1 then TForm_obj_type.Create(Application);

 

end;

 

В коде form_stroyka – название главной формы, TForm_obj_type имя форы obj_type, отображается в разделе type редактора кода (рисунок 11.13).

 

 

Рисунок 11.13 – Отображение имени формы в разделе type редактора кода

 

Переменные f и i описываем в разделе var редактора кода (рисунок 11.14) записываем код:

 

f,i:integer; //f:=1 если подчиненная форма уже запущена и f:=0 если нет

 

 

Рисунок 11.14 – Отображение раздела var редактора кода

 

Чтобы проверить, как будет выглядеть и работать программа, необходимо нажать клавишу F9 или воспользуемся кнопкой Run (рисунок 11.15), либо выбрать пункт Run→Run.

 

 

Рисунок 11.16 – Отображение кнопки Run

 

 

Рисунок 11.17 – Форма «Тип объекта» с заполненными данными




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.