Практична робота "Створення проєкту з декількома формами в середовищі Delphi"

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

Практична робота №6

Створення проЄкту З ДЕКІЛЬКОМА ФОРМАМИ в середовищі DELPHI

Мета: Навчитися створювати та налаштовувати додатки, що складаються з кількох форм.

ТЕОРЕТИЧНІ ВІДОМОСТІ

1. Розробка додатка

Розробка додатка в Delphi включає два взаємозалежні етапи:

  •    створення інтерфейсу додатка для користувача;
  •    визначення функціональності додатка.

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

Функціональність додатка визначається процедурами, які виконуються при виникненні певних подій, наприклад, що відбуваються при маніпуляціях користувача з елементами керування форми. У процесі розробки додатка на форму розміщуються компоненти, для них устано­влюються необхідні властивості й створюються оброблювачі подій.

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

Між наповненням вікон форми й коду існує нерозривний зв'язок: розміщення на формі компонента приводить до автоматичної зміни коду програми. Тому програмісти спочатку конструюють форму, розмістивши на ній черговий компонент, а потім переходять до напи­сання фрагмента коду, що забезпечує необхідне поводження компонен­та в працюючій програмі.

2. Форма й модифікація її властивостей

Форма є об'єктом класу TForm. Стартова форма створюється шляхом зміни значень властивостей форми Form1 і додавання до форми необхідних компонентів.

Властивості форми визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовку, вид рамки. Для перегляду й зміни значень властивостей форми і її компонентів використовується вікно Object Inspector. У верхній частині вікна Object Inspector відображене ім'я об'єкта, значення властивостей якого відображається в цей момент. У лівій колонці вкладки Properties (Властивості) перераховані властивості об'єкта, а в правій – зазначені їхні значення. При створенні стартової форми, в першу чергу, варто змінити значення властивості Caption (Заголовок).

Активним об'єктом називають компонент, який при роботі додатка вибирається клацанням миші або натисненням клавіші Tab. Говорять, що такий елемент має фокус вводу. Кожний елемент може стати активним при виклику методу SetFocus.

3. Основи роботи з візуальними компонентами

Коли відкривається будь-яка програма Windows, з'являється вікно з безліччю кнопок, розділів меню, вікон редагування, списків і т.д. Все це об'єкти. Коли натискається клавіша на клавіатурі або кнопка миші, переміщається курсор і т.д., відбувається подія, на яку додаток може якось відредагувати. У момент настання події операційна система посилає додатку, до якого ця подія відноситься, повідомлення. Коли об'єкт, якому призначалося це повідомлення, одержує його, він може як-небудь відредагувати: виконати деякі обчислення, розгорнути список, занести символ у вікно редагування й т.д. Програміст може сам визначити реакцію на подію або використовувати стандартну реакцію. Причому важливо розуміти, що не тільки користувач є джерелом подій. Події можуть ініціюватися й системою.

В Delphi компоненти – це і є ті самі об'єкти, що реагують на події. Компонент, розміщений на формі, як і будь-який інший об'єкт, відносяться до певного класу. До якого саме, можна довідатися, скориставшись довідковою службою. Для цього необхідно навести покажчик миші на потрібний компонент і натиснути F1. Компонент має поля (дані). Але прямо до них звернутися не можна. Для роботи з полями існують процедури й функції, що називаються методами. Сукупність даних (полів) і методів їхнього читання й запису називається властивістю. Коли виділити компонент на формі (простим клацанням миші на ньому), у вікні Інспектора об'єктів (Object Inspector) на вкладці Властивості (Properties) можна побачити властивості цього компонента. Ліворуч знаходиться ім'я властивості, праворуч – її поточне значення. Властивості можна змінювати в Інспекторі об'єктів і в тексті програми. Значення більшості властивостей установлюються Delphi автоматично при розміщенні компонента на формі, але їх можна змінювати й динамічно в процесі виконня програми.

Отже, одержавши повідомлення (подію), об'єкт повинен на нього відреагувати – обробити його. Це виконується в оброблювачах подій. Подивитися, які події може обробити компонент, можна в Інспекторі об'єктів на вкладці Events (Події). У лівій частині відображений список подій, а в правій – назви процедур обробки подій. Щоб додати процеду­ру обробки тієї чи іншої події, необхідно клацнути на порожньому полі навпроти цієї події. Delphi автоматично вставить у текст програми заго­товку процедури з відповідними параметрами. Залишається тільки до­писати інший код.

Компоненти можна розміщувати на формі під час проектування додатка. Це зручно, оскільки видно, яким буде вікно додатка при його запуску. До того ж, додаток буде швидше завантажуватися й працювати. Але є й свої недоліки. Наприклад, не завжди є необхідність у тих або інших об'єктах протягом усього часу роботи додатка. До того ж такий спосіб значно збільшує розмір файла додатка. Об'єкти можна створювати й динамічно, коли вони потрібні, і знищувати, коли необхідність в них відпала. При цьому заощаджуються ресурси комп'ютера: йому не потрібно буде зберігати в оперативній пам'яті інформацію, що може навіть не знадобитися. З метою організації динамічного розподілу пам'яті в усі об'єкти закладені методи їхнього створення (конструктори) й знищення (деструктори). Для об'єктів, які розміщені на формі в процесі проектування, конструктори спрацьовують при запуску програми, а деструктори – при завершенні її роботи. Для об'єктів, створюваних під час роботи програми, програміст вручну пише код, відповідальний за створення, ініціалізацію, використання й знищення об'єкта.

4. Компіляція й виконання програми

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

Для компіляції проекту в меню Project виберіть команду Compile Project або натисніть комбінацію клавіш Ctrl+F9.

Для виконання програми в меню Run виберіть команду Run, або натисніть кнопку на панелі інструментів Налагодження, або натисніть клавішу F9.

5. Збереження проекту

Перше збереження проєкту

Якщо проєкт раніше не зберігався, то перед виконанням програми Delphi зажадає зберегти його на диску. Спочатку на екран буде виведене діалогове вікно Save Unit As... Delphi запропонує зберегти модуль форми під ім'ям Unitl у системній папці Program Files\Borland\Delphi7\Projects. Погоджуватися із цим не треба з кількох причин. По-перше, ім'я модуля форми повинне вказувати на призначення цієї форми або виконувану нею функцію. По-друге, для кожного нового проєкту необхідно створювати окрему папку, оскільки кожний проєкт складається з декількох файлів. По-третє, ця папка повинна перебувати в робочому каталозі користувача, призначеному для збереження проєктів додатків. Папку можна створити як перед розробкою програми за допомогою Провідника, так і в процесі збереження проєкту в середовищі Delphi.

Задання імені модуля. У поле Ім'я файла необхідно ввести ім'я модуля і натиснути кнопку Зберегти. Вікно Коду програми й заголовок модуля змінять свою назву на ту, під якою був збережений модуль.

Задання імені проєкту. Потім на екран буде виведене діалогове вікно Save Project As... –  Delphi запропонує зберегти проєкт під ім'ям Projectl у робочій папці проєкту, якщо вона була обрана раніше при збереженні модуля. Необхідно задати ім'я проєкту, що відповідає його функціональному призначенню та натиснути кнопку Зберегти. Головне вікно змінить свою назву на ту, під якою був збережений проєкт.

Збереження проєкту під новим ім'ям

Проєкт можна зберегти під іншим ім'ям або в іншому місці. Для такого збереження використовується команда File|Save Project As... (Зберегти проєкт як...). При виконанні цієї команди з'являється описане вище вікно збереження проєкту, у якому можна задати нове місце зберігання (поле Папка) або нове ім'я файла (поле Ім'я файла).

Модулі проєкту можна зберегти під іншим ім'ям або в іншому міс­ці командою File|Save As... (Зберегти як...).

Відразу ж після відкриття нового проєкту необхідно зберегти його під потрібним ім'ям у призначеній для цього проєкту папці. Для цього в меню File потрібно вибрати команду Save Project As... (Зберегти проєкт як...), або Save (Зберегти), або натиснути кнопку Save на панелі інструментів Стандартна. На екрані з'явиться вікно діалогу збереження проєкту.

Після введення імені проєкту й вибору папки для його збереження необхідно натиснути кнопку Зберегти. Вікно проєкту й заголовок про­грами змінять свою назву на ту, під якою був збережений проєкт.

Збереження проєкту під колишнім ім'ям

Після роботи з проєктом, якому вже було привласнене ім'я, у меню File потрібно вибрати команду Save (Зберегти) або натиснути кнопку на панелі інструментів Стандартна і проєкт буде збережений у тій же папці під колишнім ім'ям. Для збереження всіх файлів проєкту не­обхідно використати команду Save All (Зберегти все) або натиснути кнопку на панелі інструментів Стандартна.

6. Відкриття існуючого проєкту

Для відкриття проєкту Delphi можна скористатися командами File|Open... або кнопкою на панелі інструментів Standard (Стандар­тна). У діалоговому вікні Open у полі Папка потрібно вибрати папку з файлами проєкту, виділити мишею або клавішами Shift+стрілки потрібні файли проєкту й натиснути кнопку Відкрити. Можна відкривати файли проєкту по одному, виділяючи їх мишею й натискаючи кнопку Відкри­ти. Якщо потрібно відкрити тільки файл проєкту, можна скористатися командою File|Open Project... У цьому випадку у вікні Open Project, що з'явиться на екрані, будуть показані тільки наявні в поточній папці фай­ли проєктів (з розширенням dpr або bpj).

7. Додавання в проєкт нової форми

Додаток може містити кілька форм. Нова форма додається до пото­чного проєкту одним клацанням миші на командній кнопці New Form (Створити форму) або командою File|New ► Form (Файл|Нова форма). При цьому з'являться нова порожня форма й пов'язаний з нею модуль. Ім'я форми, дане їй Delphi за замовчуванням, бажано відразу змінити на ім'я, що більше підходить за змістом.

Перемикатися між наявними в проєкті формами можна за допомо­гою командної кнопки View Form (Відобразити форму) або комбіна­ції клавіш Shift+F12.

У програми може бути тільки одна головна форма – це форма, що відображається при запуску програми, і необмежена кількість підлеглих форм, допоміжних вікон, які на екрані не з'являються, а викликаються командою із програми за допомогою спеціальних методів. При закритті головного вікна (форми) додатка припиняється робота всього додатка, при цьому також закриваються всі інші вікна додатка. На початку роботи Delphi за замовчуванням робить головною першу форму (з первісною назвою Forml).

Для того щоб показати на екрані раніше створену підлеглу фор­му, можна застосувати метод Show. Наприклад, Form2.Show;.

Форму можна викликати як модальну методом ShowModal. Мода­льна форма повністю бере на себе подальше керування програмою, то­му оператор, що слідує за викликом ShowModal, одержить керування тільки після її закриття.

Наприклад,

Form2.ShowModal; // показує модальну форму

Для видалення форми з екрану використовуються методи Hide (Сховати) і Close (Закрити).

8. Організація взаємодії форм

Якщо одна форма виконує які-небудь дії з іншою формою, то в списку uses розділу implementation модуля першої форми повинне бу­ти посилання на модуль другої форми.

Посилання на модуль іншої форми можна встановлювати програ­мно, але Delphi дозволяє виконати цю операцію автоматично. Для цього потрібно вибрати команду File|Use Unit (Файл | Використати модуль), що приведе до появи діалогового вікна Use Unit.

Після вибору потрібного модуля й натискання кнопки ОК посилання на нього додається автоматично.

Якщо посилання на необхідний модуль відсутнє, то при компіляції програми з'явиться діалогове вікно Information, яке повідомляє, що одна форма використовує іншу, але модуль другої форми відсутній у списку uses модуля першої форми. Для автома­тичного додавання посилання на модуль досить натиснути кнопку Yes.

Форма може виконувати різні операції не тільки з іншою формою, але й з її окремими компонентами. У цьому випадку також потрібне по­силання на модуль іншої форми.

9. Особливості модальних форм

Форма може бути модальною й немодальною. Немодальна форма дозволяє без її закриття перемкнутися на іншу форму додатка. Модальна форма вимагає обов'язкового закриття перед звертанням до будь-якої ін­шої форми. Вона припиняє виконання процедури, що її викликала, доти, поки користувач не закриє цю форму. Форма стає модальною, якщо вона робиться видимою методом ShowModal. Якщо форма робиться видимою методом Show, то вона буде немодальною.

Для модальної форми визначена властивість ModalResult, що до­ступна тільки під час виконання додатка. При відкритті форми мето­дом ShowModal спочатку властивість ModalResult дорівнює нулю (константа mrNone). Як тільки при обробці якихось подій на формі властивості ModalResult буде привласнене позитивне значення, модаль­на форма закриється. А значення її властивості ModalResult можна буде прочитати як результат, що повертається методом ShowModal.

Значення властивості ModalResult визначаються тим, яка кнопка бу­ла натиснута при закритті модальної форми й задаються такими констан­тами: mrNone; mrOk; mrCancel; mrAbort; mrRerty; mrlgnore; mrYes; mrNo; mrAII; mrNoToAII; mrYesToAII (за префіксом mr йде назва кнопки).

 

ЗАВДАННЯ НА ПРАКТИЧНУ РОБОТУ

  1. Створити новий додаток, що складається з головної форми та форм, призначених для наступних завдань.

Зауваження: в додатку всі форми мають імена, що не повторю­ються (якщо ви маєте дві форми з однаковим ім'ям – перейменуйте одну з них, змінюючи для форми її властивість name, форми збережіть у спі­льному для них каталозі).

  1. На головній формі прив'язати до компонентів Button процедури обробки події, що містять FormX.Show (X  номер форми).
  2. Перевірити роботу програми.
  3. Роздрукувати отримані результати (головна форма та її програ­мний модуль).

ВИМОГИ ДО ЗВІТУ

У звіті з практичної роботи (надрукованому на принтері) повинні бути відображені:

  1. Тема роботи. 
  2. Мета роботи.
  3. Короткі теоретичні відомості по темі.
  4. Текст і результати роботи програми.
  5. Висновки по роботі.

ПРАКТИЧНА ЧАСТИНА

Необхідно створити новий додаток, що складається з головної фо­рми та форм, що призначені для наступних практичних робіт: лінійні обчислювальні процеси, обчислювальні процеси з розгалуженнями, ци­клічні обчислювальні процеси.

Для цього необхідно виконати такі дії.

  1. Запустити програму Delphi.
  2. Змінити заголовок форми на «Практична робота №6 – Головна фо­рма» за допомогою властивості Caption в Інспекторі об'єктів.
  3. На Палітрі компонентів вибрати потрібні об'єкти для розміщення їх на Дизайнері Форм (див. рис.1).

Рис. 1. Форма з компонентами

Компоненти:

Label1(властивості Caption присвоїмо значення „КУРС "ОСНОВИ АЛГОРИТМІЗАЦІЇ ТА ПРОГРАМУВАННЯ". Практичні робо­ти студента  __  курсу  __  групи ПІБ", властивості WordWrap – True).

Button1 (властивості Caption присвоїмо значення «Лінійні про­цеси»),

Button2 (властивості Caption присвоїмо значення «Процеси з розгалуженням»),

Button3 (властивості Caption присвоїмо значення «Циклічні про­цеси»),

Button4 (властивості Caption присвоїмо значення «Вихід»).

  1. Створити нові форми Form2, Form3, Form4 коман­дою File/New/Form або  кнопкою  панелі інструментів View. По­бачити перелік створених форм або вибрати потрібну можна вико­риставши команду View/Forms або кнопку   панелі інструментів View.
  2. Прив'язати до перших трьох компонентів Button на основній формі Form1 відповідні форми. Для цього необхідно дворазово клацнути мишею на зображенні Buttonl і записати у вікні Редактора в пози­цію мерехтливого курсору команду form2.show. Аналогічні дії ви­конати для Button2, Button3, вказуючи відповід­но form3.show, form4.show. Для Button4 виконати аналогічні дії і записати команду Forml.close.
  3. Після запуску проєкту на виконання кнопкою панелі інструментів Debug   aбо командою Run/Run, підтвердити прив'язку форм до нових модулів Unit2, Unit3, Unit4, Unit5, натискаючи кнопку Yes у вікні, що з'явиться (рис.2).

Рис. 2. Інформаційне вікно

7. Потрібно зберегти проєкт програми командою File\ Save Project As... З цією метою виконати такі дії:

  1. Вказати маршрут розміщення проєкту, тобто у вікні, що з'явиться, створити нову папку та відкрити її;
  2. Задати нове ім'я першого модуля або залишити запропоноване системою Unitl і зберегти його, натиснувши кнопку Сохранить;
  3. Пункт 7.2 виконати для всіх модулів;
  4. Вказати ім'я проєкту або залишити запропоноване системою Projectl.

 

Увага! При першому збереженні проєкту запис файлів у папку відбувається в два етапи: спочатку зберігається модуль форми проєкту з розширенням .pas, потім зберігається файл проєкту з розширенням .dpr.

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

Текст модуля

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.show

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Form3.show

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

Form4.show

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

Form1.close

end;

end.

Результат роботи

 

Висновки

  1. IDE Delphi - інтегроване середовище швидкої розробки додатків.
  2. Додаток в Delphi створюється у вікні Конструктора форми шляхом розміщення там готових компонентів.
  3. Ієрархія компонентів форми відображається в Delphi у вікні Дерева об'єктів.
  4. Властивості компонентів відображаються в Delphi у вікні Інспекто­ра об'єктів.
  5. Каркас коду проєкту IDE створює автоматично.
  6. Користувач додає йому функціональності, вводячи коди, що визна­чають виконувані дії.

 

КОНТРОЛЬНІ ЗАПИТАННЯ

  1. Активізація IDE і вихід із середовища.
  2. Панелі інструментів.
  3. Палітра компонентів.
  4. Меню головного вікна IDE. Опції пунктів .Файл, Виправлення, Пошук, Вид, Проєкт, Виконати, Компоненти, База даних, Сервіс, Вікно, Допомога.
  5. Властивості форми та її зовнішній вигляд.
  6. Додавання в проєкт нової форми.
  7. Організація взаємодії форм.
  8. Особливості модальних форм.
  9. Склад проєкту Delphi.
  10. Збереження проєкту.

 

1

docx
Додано
4 березня 2021
Переглядів
1773
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку