Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratorni_roboti_z_programuvannja_3_kurs3.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
432.43 Кб
Скачать
  • Виділяємо компонент DBGrid і в інспекторі об’єктів прописуємо наступні властивості:

    • Властивість AlignвстановлюємоalClient;

    • Властивість DataSourseвстановлюємо потрібний набір даних .

    1. В результаті виконаних дій маємо отримати форму наступного вигляду:

    Лабораторна робота №4

    Тема: Створення додаткових форм для введення даних.

    Мета: Створити додаткові форми для введення даних.

    Хідроботи

    1. Створюємо нову форму на яку поміщаємо наступні компоненти:

    • Компонент Table із вкладки BDE

    • Компонент DataSourse із вкладкиDataAccess

    1. Прописуємо всі необхідні властивості для даних об’єктів.

    2. Двічі натискаємо лівою кнопкою миші на компоненті Table. З’явиться наступне вікно.

    1. На робочому полі даного вікна натискаємо правою кнопкою миші і вибираємо команду Добавить поля. В наступному вікні вибираємо необхідні поля і натискаємо ОК.

    1. Із вікна, яке набуде наступного вигляду, за допомогою миші

    перетягуємо на форму поля в які будуть вводитися нові записи.

    1. Розміщуємо компоненти в необхідному порядку який забезпечить зручність введення нових даних. Підписи полів необхідно відредагувати українською мовою.

    2. Приклад подібної форми для введення нових даних подано нижче.

    1. Із закладки Standartпоміщаємо дав компоненти Button.

    2. На одній кнопці робимо надпис Записати і в обробці подій для події OnClickпрописуємо наступний програмний код:

    ModalResult := mrOK;

    1. На одній кнопці робимо надпис Вихід і в обробці подій для події OnClickпрописуємо наступний програмний код:

    ModalResult := mrCancel;

    1. Аналогічні процедури проводимо для всіх інших форм для введення даних.

    Лабораторна робота №5

    Тема: Обробка подій для головного меню головної форми.

    Мета: Прописати обробку подій для головного меню головної форми.

    Хідроботи

    1. Відкритиголовну форму, вибратипотрібний пункт меню і натиснути на ньому правою кнопкою миші.

    2. Перейти в інспектороб’єктів на закладку События вибрати подію OnClick.

    3. Двічі натиснути лівою кнопкою миші у полі навпроти даної події.

    1. Відкриєтьсявікнопрограмного коду де в програмні дужки потрібновставитипрограмний код.

    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;

    1. Відредагувати даний програмний код згідно свого варіанту бази даних.

    2. Змінити назви форм і таблиць.

    3. Скомпілювати програмний код.

    4. Запустити програму на виконання.

    Лабораторна робота №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;

    1. Для кнопок Пошук і Видалити на формі редагування прописати наступні процедури дляподії 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.

    Хідроботи

    1. Створюємонову форму на яку поміщаємо компонент QuickRepіз вкладки QuickReport.

    2. На форму поміщаємовсінеобхіднітаблиці.

    3. В коженрозділзаписуємовідповіднідані.

    4. Властивостікожноїсмугизмінюємо в інспекторіоб’єктів, зокрема

    BandType(rbDetail, rbPageFooter, rbSubDetail, rbTitle).

    1. В смугу Detail поміщаємо компонент QRDBText. Прописуємо відповідні властивості.

    2. На головній формі прописуємо для пунктів головного меню виклику звітів наступний код:

    Zvit1_F:=TZvit1_F.Create(Self);

    Zvit1_F.QuickRep1.Preview;

    Zvit1_F.Free;

    1. Компілюємо проект.

    2. Приклад звіту нижче.

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]