Міністерство освіти та науки України
Національний університет „Львівська політехніка”
Кафедра САПР
Звіт
до лабораторної роботи № 1
з курсу:
“Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах”
на тему:
„Початок роботи в середовищі об’єктно-орієнтованого програмування Delphi”
Мета роботи: ознайомитися з середовищем Delphi та отримати основі навички роботи у середовищі.
Теоретичні відомості
Вигляд екрану після запуску Delphi трохи незвичайний (рис.1), замість одного вікна на екрані з'являються чотири головні вікна Delphi: вікно форми Form1, вікно інспектора об'єктів Object Inspector і вікно редактора коду Unit1.pas.
Рис. 1. Середовище Delphi
У головному вікні Delphi (рис. 2) знаходиться меню команд Delphi, панель інструментів і палітра компонентів. Вікно форми Form1 являє собою макет вікна розроблювального додатка.
Рис.2. Головне вікно Delphi
Форма додатка. Діалогове вікно програми, що відкривається під час її роботи на етапі розробки програми, називається формою. Робота над новим проектом починається зі створення стартової форми - вікна, що з'являється при запуску додатка.
Стартова форма створюється шляхом зміни властивостей (характеристик) форми Form1. Властивості форми визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовка, вид рамки. Властивості перераховані на вкладці Properties (Властивості) діалогового вікна Object Inspector (Інспектор об'єктів) (рис. 3). У лівому стовпчику знаходяться імена властивостей, а в правої - їхні значення.
Рис. 3. Заміна значення властивості Caption
При створенні форми в першу чергу варто змінити значення властивості Caption (Заголовок). (У моєму випадку треба замінити Form1 на Метри-дециметри.) Для цього необхідно клацнути мишею поле Caption. У результаті в правому стовпчику, де знаходиться поточне значення (Form1) властивості caption (Заголовок), з'явиться курсор (рис. 3). Використовуючи клавішу <Backspase>, видаляю Form1 і вводжу Метри в дециметри. Аналогічно можна встановити значення властивостей Height і width, що визначають висоту й ширину форми. Цим властивостям привласнюю значення 185 і 290.
Розмір форми і її положення на екрані, а також розмір і положення елементів керування на поверхні форми задаються в пікселях, тобто крапках екрана.
Розмір форми можна змінити як і розмір будь-якого іншого вікна Windows. По закінченні переміщення границь автоматично зміняться значення властивостей Height і Width. Вони будуть відповідати встановленому розміру форми. При виборі деяких властивостей, наприклад, властивості Color (Колір), що визначає колір фона форми, праворуч від значення властивості виводиться значок стрілка, що вказує на наявність списку, що розкривається. Подвійне натискання на неї розкривається список припустимих значень властивостей, з якого можна вибрати потрібне значення. У полі значення складної властивості Font розташована командна кнопка з трьома крапками, при натисканні якої з'являється стандартне діалогове вікно Windows, що дозволяє вибрати шрифт і задати його параметри. Більшість властивостей визначають зовнішній вигляд форми. Властивість Name, що визначає ім'я форми, використовується в програмі для керування формою. Після установки значень властивостей, форма приймає вид, зображений на рис. 4.
Рис. 4. Приклад форми
Компоненти форми. Програма переведення довжини з метрів у дециметри потребує вводу вихідних даних - значення довжини у метрах. У Windows дані з клавіатури вводяться в поле редагування. Тому у форму треба додати компонент - поле редагування. У Delphi поля редагування, командні кнопки, поля статичного тексту та інші елементи керування, що знаходяться у формі, називаються компонентами (компоненти форми). У програмі форма і компоненти розглядаються як об'єкти. Цим можна пояснити те, що вікно, у якому знаходяться властивості компонентів, називається Object Inspector (Інспектор об'єктів). Для того щоб додати у форму компоненти, необхідно в палітрі компонентів (мал.5) вибрати вкладку, натиснути на піктограму потрібного компонента, а потім натиснути лівою кнопкою миші в тому місці форми, де повинен знаходитися правий верхній кут компонента. В результаті у формі є компонент стандартного розміру.
Рис. 5. Вкладка Standard палітри компонентів
На рис.6 представлений вид форми після додавання в неї поля редагування (Edit1). Компонент форми, оточений маленькими квадратиками (маркерами), називається виділеним (маркірованим). Для того щоб виділити компонент, треба клацнути його мишею.
Рис. 6. Форма з полем Edit1
Крім полів редагування вікно форми повинне містити коротке інформаційне повідомлення. Текст, що знаходиться у формі, називають міткою. Мітка додається у форму точно так само, як і поле редагування. Значок компонента "мітка" (буква А) знаходиться на вкладці Standard (Стандартна) палітри компонентів. Її властивості можна змінити в діалоговому вікні Object Inspector (Інспектор об'єктів). У форму розроблювального додатка треба додати дві мітки. Перша мітка буде являти собою інформаційне повідомлення. Друга мітка призначена для виведення результату переведення довжини з метрів у дециметри. Після додавання міток і встановлення значень їхніх властивостей, форма буде мати вигляд, представлений на рис. 7
Рис.7. Приклад форми
На завершення у форму треба додати командну кнопку, при натисканні якої буде виконуватися перерахування довжини з метрів, введеного в поле вводу, у довжину з дециметрів. Піктограма командної кнопки (у виді кнопки ОК) знаходиться на Standard (Стандартна) палітри компонентів. Після додавання командної кнопки в діалоговому вікні Object Inspector (Інспектор об'єктів) необхідно установити необхідні значення її властивостей.
Остаточний вид форми розроблювального додатка перерахування довжини з метрів у дециметри представлений на рис. 8
Рис.8. Приклад форми
Подія і процедура обробки події
Подія - це те, що відбувається під час роботи додатка, в Delphi у кожної події є ім'я. Наприклад, клацнути кнопкою миші - це подія OnClick, подвійне клацання мишею - подія OnDblClick.
Реакцією на подію повинна бути яка-небудь дія. Наприклад, реакцією на подію OnClick, що відбулася на кнопці <Переведення>, повиннно бути переведення довжини з метрів у дециметри. На вкладці відображений список подій, що здатний сприймати маркірований (виділений) компонент. Список подій для наше командної кнопки приведений на рис. 9.
Рис. 9. Список подій для командної кнопки
Рис. 10. Фрагмент програми
Рис. 11. Приклад роботи програми
Індивідуальне завдання: у середовищі Delphi розробити додаток, який буде виконувати переведення з метрів у дециметри.
На лістінгу 1 наведений приклад головного модуля програми перерахування довжини з метрів у дециметри.
Лістінг 1. Головний модуль додатка Метри в дециметри.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.Title:='Метри в дециметри';
Application.CreateForm(TForm1, Form1);
Application.Run
end.
На лістінгу 2 приведений текст модуля програми перерахування довжини з метрів у дециметри.
Лістінг 1. Головний модуль додатка дециметри.
unit Unit1; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); varm:real; dc:real;
beginm:=StrToFloat(Edit1.Text); dc:=m*10; label2.Caption:=Edit1.text+' метр(и/ів) це '+ FloatToStr(dс)+ ' дециметрів'; end; end.
На лістінгу 3 наведений текст файлу unit1.dfm проекту переводу з метрів у дециметри. На цьому прикладі дуже добре видно як Delphi зберігає властивості об'єктів.
Лістинг 3. Текст файлу unit1.dfm проекту Метри в дециметри
object Form1: TForm1 Left = 191 Top = 108 Width = 401 Height = 185 Caption = ' Метри в дециметри ' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 5 Top = 8 Width = 375 Height = 20 Caption = 'Введіть довжину у метрах і клацніть на „Перерахування” end; object Label2: TLabel Left = 185 Top = 45 Width = 200 Height = 45 WordWrap = True end; object Edit1: TEdit Left = 24 Top = 48 Width = 121 Height = 21 TabOrder = 0 end; object Button1: TButton Left = 240 Top = 112 Width = 110 Height = 25 Caption = 'Перерахування' TabOrder = 1 OnClick = Button1Click end; end.
Висновок: на цій лабораторній роботі я ознайомилася з середовищем Delphi та отримала основі навички роботи у середовищі.