Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб1_2.doc
Скачиваний:
1
Добавлен:
18.08.2019
Размер:
61.95 Кб
Скачать

4

Лабораторна робота №1/2 Програмування з використанням компонент Borland Delphi.

Розробка програми в середовищі візуального програмування, в даному випадку Delphi, складається в більшості випадків з двох етапів:

  1. Проектування графічного інтерфейсу;

  2. Надання елементам інтерфейсу функціональності, тобто безпосереднє написання коду програми.

Розглянемо перший етап. Насамперед з’ясуємо, що таке компонент. У відповідності, наприклад, із словником Random House College Dictionary, компонент визначається у загальному випадку таким чином:

component - 1. бути або служити елементом (в чому-небудь більшому); 2. складова частина.

Малюнок 1

Для випадку програмування компонент як правило визначається як модуль двійкового коду, чий інтерфейс визначається властивостями (properties), методами (methods) та подіями (events). Крім того ставиться ще одна вимога — в середовищі візуальної розробки переліченими атрибутами можна маніпулювати саме під час проектування. Але потрібно відмітити, що в різних середовищах візуального програмування термін компонент використовують для представлення різних речей. Так, наприклад, і в середовищі Visual Basic і в середовищі Delphi використовують термін "програмний компонент" до речей, реалізація яких відрізняється корінним чином. В Delphi визначення компонента залежить від вашої точки зору — розробника прикладних програм чи розробника саме компонентів. Оскільки зараз нас безпосередньо цікавить, перший випадок, то під компонентом ми будемо розуміти елемент керування, вибраний з певного набору і розміщений на формі, де розробник може маніпулювати ним під час проектування, використовуючи Проектувальник форм (Form designer) та Інспектор об’єктів (Object Inspector) Delphi. В спрощеному розумінні компонент — це об’єкт, який представлений в палітрі компонентів і який можна розмістити на формі (Див. наприклад, мал.1).

Причому, як буде показано далі, компонент можна розміщувати на формі або інших контейнерах компонент (наприклад, об’єкти класу TPanel) не тільки під час проектування, а і в Run Time — режимі виконання програми.

Для початку розглянемо процес проектування часу розробки, оскільки він займає в більшості випадків найбільш значну частину часу розробки програми.

І оскільки найкращим методом вивчення програмування є власне програмування, то розглянемо цей процес на основі створення пробного проекту. Поставимо задачу — створити просту програму, яка в основній формі містить єдину кнопку по натисненні якої з’являється інша (друга) форма в якій розміщується інформація про програму та її розробника (тобто форма About).

Для реалізації цього проекту виконаємо такі дії:

  1. В меню File виберемо пункт New Application. Запишемо файли проекту та модулю, що містить головну форму нашого проекту у спеціально відведеному для цього каталозі (наприклад, /about) з іменами AboutProject та uMainForm відповідно.

  2. Встановимо деяких властивостей форми в Object Inspector такі значення:

  • Name — MainForm

  • Caption — About Example

  • BorderStyle — bsSingle

  • Height — 200

  • Width — 300

  • Position — poScreenCenter

  1. Розмістимо на формі компонент класу TButton і встановимо для його властивостей слідуючі значення

  • Name — AboutButton

  • Caption — Click me for show About

  • Width — 200

  1. Виберемо пункт меню File — New..., внаслідок чого відкриється репозиторій об’єктів. На сторінці Forms виберемо об’єкт About box. При цьому до нашого проекту автоматично буде підключена заготовка для форми типу "Про програму" (About). На ній розміщено сім компонентів — чотири об’єкти класу TLabel і по одному компоненту класів TPanel, TImage та TButton. Змінимо властивість Caption компонентів класу TLabel відповідно: ProductName About Example; Version1.0; Copyrightdon't sale; commentsno comments.

  2. Виберемо компонент OkButton класу TButton і зробимо подвійне натиснення кнопкою мишки для того щоб згенерувати автоматично обробник події OnClick об’єкту OkButton. Відкриється Редактор коду. На місці де встановлено курсор надрукуємо Close. По цій команді при виникненні подій OnClick (натиснення кнопки) форма AboutBox закриється.

  3. Запишемо файл, що містить код для форми AboutBox у відповідний каталог проекту під іменем AboutForm_.

  4. В Редакторі коду виберемо закладку для сторінки модулю MainForm_. Натиснемо клавішу F12 для виклику форми MainForm.

  5. Виберемо компонент AboutButton — кнопку і зробимо на ній подвійне натиснення для автоматичної генерації процедури обробки події OnClick об’єкту AboutButton. На місці курсора в Редакторі коду надрукуємо рядок AboutBox.ShowModal; . По цій команді (при натиснені кнопки) буде показана форма AboutBox причому в так званому модальному режимі (неможливо працювати з іншими формами програми, поки не закінчена робота з модальною формою).

  6. При компіляції проекту середовищем буде видано запит про автоматичне додання до списку uses головної форми модулю, що містить опис форми AboutBox. На запит дамо ствердну відповідь і перекомпілюємо проект.

Файли, що стосуються даного проекту можна знайти в каталозі /prog/about до даного розділу.

В середовищі Delphi ви працюєте з проектами — наборами файлів із яких складається ваша програма. Ними можуть бути файли, створювані в середовищі Delphi, — файли з вихідними текстами модулів (розширення. .PAS), форми, які є графічним представленням вашого проекту (розширення .DFM), і самі файли проекту (розширення .DPR).

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

Прикладна програма в Delphi складається з кількох різних файлів. Кожне ім’я файлу закінчується розширенням, яке визначає вміст файлу.

  • Файли .~* — ці файли є резервними копіями модифікованих файлів, або файлів, що зберігаються. Ці файли можна знищувати в будь-який час без страху виратити дані.

  • Файли .DCR (DCR - Delphi Component Resource) — файли ресурсів компонент Delphi які містять піктограму компонента, яка з’вляється в Палітрі компонент. Ці файли не слід знищувати.

  • Файли . DCU (Delphi Compile Unit) — ці файли містять зкомпільований код та дані для модулів, з яких складається програма. Файли можна знищувати в будь-який момент часу, так як Delphi створить їх знову під час компіляції проекту.

  • Файли .DFM (Delphi ForM) — ці файли містять бінарне представлення форми та всіх компонентів, які належать формі, а також в них фіксуються взаємовідношення між подіями та обробниками подій. Втрата такого файлу призводить до втрати розробленої в проекті форми, тому їх не потрібно ніколи знищувати.

  • Файли .DSM — ці файли є недокументованими. Вони служать для збереження проміжного коду або символів. Їх можна знищувати без будь-якої шкоди для проекту.

  • Файли .DLL (Dynamic Links Library)— ці файли містять код бібліотек динамічного компонування. Не знищуйте ці файли якщо ви не є автором бібліотеки (тобто, якщо у вас немає вихідного коду для повторної компіляції).

  • Файли .DPR (Delphi PRoject) — це файли, які містять вихідний текст програми на мові Object Pascal. Для більшості програм, що розробляються вами, ці файли не слід навіть модифікувати (про знищення мова взагалі не йде — цього робити ніколи не слід).

  • Файли .DSK (DeSKtop) — в цих файлах зберігається інформація про конфігурацію робочої області програми. Якщо ви зберігаєте файли вашого проекту в різних каталогах не слід знищувати .dsk -файл, тому що в ньому зберігається інформація про маршрути до всіх файлів, з яких складається ваш проект.

  • Файли .EXE (EXEcuted)— виконувані файли в бінарному представлені, які є результатом компіляції всього проекту. Цей файл передається кінцевим користувачам. Поскільки Delphi повторно створює такі файли при компіляція проекту, то такі файли можна знищувати.

  • Файли .DOF (Delphi Option File) — в цих файлах Delphi зберігає параметри, що стосуються вашого проекту (наприклад, параметри компіляції). При знищенні цього файлу Delphi створює його повторно автоматично, але встановлює значення параметрів по замовчуванню. Тому якщо ви встановлювали свої параметри для проекту для правильної його компіляції не витирайте цей файл.

  • Файли .PAS (PAScal) — ці файли містять вихідний код модулів, які використовуються в програмі. Ці файли не можна ніколи знищувати.

  • Файли .RES (RESource)— ці файли містять ресурси в бінарному форматі, які використовуються у вашій програмі (наприклад, піктограми, курсори). Для попередження втрати розроблених вами ресурсів ніколи не слід знищувати такі файли, особливо файл одноіменний з вашим проектом.

Структура файлів Delphi.

Файл *.DPR — файл проекту.

program Project1; // ім’я програми, що розроблюється

uses //розділ оголошення модулів, в яких містяться форми, що складають проект

Forms,

Unit1 in 'Unit1.pas' {Form1};

{$R *.RES} //підключення до проекту всіх файлів ресурсів

begin

Application.Initialize; //ініціалізація застосування — екземпляра класу TApplication

Application.CreateForm(TForm1, Form1); //створення та завантаження форм які є Autocreate

Application.Run; // початок виконання програми та завантаження головної форми

end.

Файл *.PAS — структура модулю.

unit Unit1; // заголовок модулю

interface // опис інтерфейсного блоку модулю

uses // список використовуваних модулів

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type // блок оголошення типів

TForm1 = class(TForm) // оголошення класу TForm1

Button1: TButton; // компоненти, що належать до форми

Label1: TLabel;

procedure Button1Click(Sender: TObject); // оголошення обробника події компоненту Button1

private //розділ оголошення приватних процедур та змінних

{ Private declarations }

public //розділ оголошення публічних процедур та змінних

{ Public declarations }

end;

var

Form1: TForm1; //оголошення змінної Form1 типу TForm1

implementation // опис блоку реалізації модулю

{$R *.DFM} // під’єднання бінарного образу ресурсу-форми

procedure TForm1.Button1Click(Sender: TObject); // обробник події OnClick компонента Button1

begin

Close;

end;

end. // кінець модулю

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