Тема: Обробка подій для головного меню головної форми.
Мета: Прописати обробку подій для головного меню головної форми.
Хідроботи
1. Відкритиголовну форму, вибратипотрібний пункт меню і натиснути на ньому правою кнопкою миші.
2. Перейти в інспектороб’єктів на закладку События вибрати подію OnClick.
3. Двічі натиснути лівою кнопкою миші у полі навпроти даної події.
4. Відкриєтьсявікнопрограмного коду де в програмні дужки потрібновставитипрограмний код.
Ank_zo_new_F.ANKDANI.Active:=True;
withAnk_zo_new_F do
begin
repeat
ANKDANI.CachedUpdates:=True;
ANKDANI.EditRangeEnd;
ANKDANI.Insert;
DBEdit1:= TDBEdit.Create(Self);
ifAnk_zo_new_F.ShowModal=mrOK then
begin
ANKDANI.Post ;
ANKDANI.ApplyUpdates;
end else begin
ANKDANI.Cancel;
ANKDANI.CancelUpdates;
end;
ANKDANI.CachedUpdates:=False;
untilModalResult = mrCancel;
end ;
Ank_zo_new_F.ANKDANI.Active:=False;
5. Відредагувати даний програмний код згідно свого варіанту бази даних.
6. Змінити назви форм і таблиць.
7. Скомпілювати програмний код.
8. Запустити програму на виконання.
Лабораторна робота №6
Тема: Створення додаткових форм для видалення даних та ведення пошуку.
Мета:Створити додаткові форми для видалення даних та ведення пошуку.
Хідроботи
1. На кожній формі призначеній для редагування необхідно додати компоненти Button. ( приклад зображено на малюнку нижче). Для цього потрібно зробити наступні зміни для компонента DBGrid :
· Властивість AlignвстановлюємоalCustom;
2. Створити додаткові форми для пошуку та видалення наступного вигляду:
3. Для кнопки Пошук на формі Пошук прописати наступну процедуру для подіїOnClick: (В даному випадку форма пошуку використовується для всіх форм редагування)
procedureTPoisc_F.Button1Click(Sender: TObject);
var
LocValues:Variant;
LocFields:string;
begin
ifAnk_zo_prosm_F.Visible=Truethen
BEGIN
ifAnk_zo_prosm_F.ANKDANI.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
Ank_zo_prosm_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_prosm_F.ANKDANI.Locate('FULLN_U',Edit2.Text , []) then
begin
Poisc_F.Close;
Ank_zo_prosm_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_prosm_F.ANKDANI.Locate('NAME_U',Edit3.Text , []) then
begin
Poisc_F.Close;
Ank_zo_prosm_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_prosm_F.ANKDANI.Locate('FATH_U',Edit4.Text , []) then
begin
Poisc_F.Close;
Ank_zo_prosm_F.DBGrid1.SetFocus ;
end ;
END
ELSE
ifAnk_zo_edit_F.Visible=Truethen
BEGIN
{------------------------Ank_zo_edit_F.ANKDANI.Locate-----}
ifAnk_zo_edit_F.ANKDANI.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
Ank_zo_edit_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_edit_F.ANKDANI.Locate('FULLN_U',Edit2.Text , []) then
begin
Poisc_F.Close;
Ank_zo_edit_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_prosm_F.ANKDANI.Locate('NAME_U',Edit3.Text , []) then
begin
Poisc_F.Close;
Ank_zo_edit_F.DBGrid1.SetFocus ;
end
else
ifAnk_zo_edit_F.ANKDANI.Locate('FATH_U',Edit4.Text , []) then
begin
Poisc_F.Close;
Ank_zo_edit_F.DBGrid1.SetFocus ;
end
END ELSE
ifBSV_edit_F.Visible=Truethen
BEGIN
{------------------------INDBSV.Locate-----}
ifBSV_edit_F.INDBSV.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
BSV_edit_F.DBGrid1.SetFocus ;
end
END ELSE
ifBSV_prosm_F.Visible=Truethen
BEGIN
{------------------------INDBSV.Locate-----}
ifBSV_prosm_F.INDBSV.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
BSV_prosm_F.DBGrid1.SetFocus ;
end
END ELSE
ifIndani_prosm_F.Visible=Truethen
BEGIN
{------------------------INDBSV.Locate-----}
ifIndani_prosm_F.INDANI.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
Indani_prosm_F.DBGrid1.SetFocus ;
end
END ELSE
ifBSV_prosm_F.Visible=Truethen
BEGIN
{------------------------INDBSV.Locate-----}
ifindani_edit_F.INDANI.Locate('TIN',Edit1.Text , []) then
begin
Poisc_F.Close;
indani_edit_F.DBGrid1.SetFocus ;
end
end;
end;
end.
4. Для кнопки Вихід на формі Пошук прописати наступну процедуру для події OnClick:
procedureTPoisc_F.Button2Click(Sender: TObject);
begin
Close;
end;
5. Для кнопок ТАК і НІ на формі Видалення прописати наступну процедури для події OnClick:
procedureTDelete_F.Button1Click(Sender: TObject);
begin
ModalResult := mrOk;
end;
procedureTDelete_F.Button2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;
6. Для кнопок Пошук і Видалити на формі редагування прописати наступні процедури дляподії OnClick:
{ВИДАЛИТИ}
with Delete_F do
begin
ShowModal;
ifModalResult=mrOkthen
begin
ankdani.Delete
end
elseankdani.Cancel
end
else
{ПОШУК}
with Poisc_F do
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit2.Visible:=True;
Edit3.Visible:=True;
Edit4.Visible:=True;
Label2.Visible:=True;
Label3.Visible:=True;
Label4.Visible:=True;
ShowModal
End;
Лабораторна робота №7