КАТЕГОРИИ: Архитектура-(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; Просмотров: 361; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |