- •Створення баз даних в середовищі програмування Delphi
- •Лабораторна робота №1
- •Хідроботи
- •Мал.2.Тип таблиці.
- •Мал. 3. Створення таблиць. Типи ключових полів
- •Лабораторна робота №2
- •Хідроботи
- •Лабораторна робота №3
- •Хідроботи
- •Лабораторна робота №4
- •Хідроботи
- •Лабораторна робота №5
- •Хідроботи
- •Лабораторна робота №6
- •Хідроботи
- •Лабораторна робота №7
- •Хідроботи
Виділяємо компонент DBGrid і в інспекторі об’єктів прописуємо наступні властивості:
Властивість AlignвстановлюємоalClient;
Властивість DataSourseвстановлюємо потрібний набір даних .
В результаті виконаних дій маємо отримати форму наступного вигляду:
Лабораторна робота №4
Тема: Створення додаткових форм для введення даних.
Мета: Створити додаткові форми для введення даних.
Хідроботи
Створюємо нову форму на яку поміщаємо наступні компоненти:
Компонент Table із вкладки BDE
Компонент DataSourse із вкладкиDataAccess
Прописуємо всі необхідні властивості для даних об’єктів.
Двічі натискаємо лівою кнопкою миші на компоненті Table. З’явиться наступне вікно.
На робочому полі даного вікна натискаємо правою кнопкою миші і вибираємо команду Добавить поля. В наступному вікні вибираємо необхідні поля і натискаємо ОК.
Із вікна, яке набуде наступного вигляду, за допомогою миші
перетягуємо на форму поля в які будуть вводитися нові записи.
Розміщуємо компоненти в необхідному порядку який забезпечить зручність введення нових даних. Підписи полів необхідно відредагувати українською мовою.
Приклад подібної форми для введення нових даних подано нижче.
Із закладки Standartпоміщаємо дав компоненти Button.
На одній кнопці робимо надпис Записати і в обробці подій для події OnClickпрописуємо наступний програмний код:
ModalResult := mrOK;
На одній кнопці робимо надпис Вихід і в обробці подій для події OnClickпрописуємо наступний програмний код:
ModalResult := mrCancel;
Аналогічні процедури проводимо для всіх інших форм для введення даних.
Лабораторна робота №5
Тема: Обробка подій для головного меню головної форми.
Мета: Прописати обробку подій для головного меню головної форми.
Хідроботи
Відкритиголовну форму, вибратипотрібний пункт меню і натиснути на ньому правою кнопкою миші.
Перейти в інспектороб’єктів на закладку События вибрати подію OnClick.
Двічі натиснути лівою кнопкою миші у полі навпроти даної події.
Відкриєтьсявікнопрограмного коду де в програмні дужки потрібновставитипрограмний код.
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;
Відредагувати даний програмний код згідно свого варіанту бази даних.
Змінити назви форм і таблиць.
Скомпілювати програмний код.
Запустити програму на виконання.
Лабораторна робота №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;
Для кнопок Пошук і Видалити на формі редагування прописати наступні процедури дляподії 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
Тема: Створення звітів за допомогою технології QuickReport.
Мета:Створити звіти за допомогою технології QuickReport.
Хідроботи
Створюємонову форму на яку поміщаємо компонент QuickRepіз вкладки QuickReport.
На форму поміщаємовсінеобхіднітаблиці.
В коженрозділзаписуємовідповіднідані.
Властивостікожноїсмугизмінюємо в інспекторіоб’єктів, зокрема
BandType(rbDetail, rbPageFooter, rbSubDetail, rbTitle).
В смугу Detail поміщаємо компонент QRDBText. Прописуємо відповідні властивості.
На головній формі прописуємо для пунктів головного меню виклику звітів наступний код:
Zvit1_F:=TZvit1_F.Create(Self);
Zvit1_F.QuickRep1.Preview;
Zvit1_F.Free;
Компілюємо проект.
Приклад звіту нижче.
