Міністерство освіти та науки України
Національний університет “Львівська політехніка”
інститут комп’ютерних наук та інформаційних технологій
Кафедра “Системи автоматизованого проектування”
Звіт
до лабораторної роботи № 2
на тему: Ознайомлення із компонентами для вводу-виводу у середовищі візуального програмування Delphi
з курсу: “Застосування засобів об’єктно-орієнтованого програмування у лінгвістичних задачах”
виконав:
студент групи ПРЛc-1
Львів – 2008
Мета роботи: продовжити знайомство з основними інструментами Delphi. Познайомитися з компонентами для вводу-виводу. Одержати практичні навички створення простих додатків.
Короткі теоретичні відомості
Мітки (TLabel) призначені для розміщення на екрані текстової інформації, що містить різні пояснення, назви, заголовки і т.д. Мітки у Delphi є екземплярами класу TLabel. Клас TLabel є нащадком класу TCustomLabel, у якому визначені основні характеристики влучна. Цей клас є безпосереднім нащадком класу TGraphicControl і, отже, реагує тільки на події від миші.
У Delphi є кілька компонентів, що дозволяють за допомогою клавіатури вводити в програму і редагувати різноманітну символьну інформацію. Усі вони мають такі можливості, як виділення, копіювання, видалення, вставка фрагментів, скролінг тексту, у тому випадку, коли він не уміщається у вікні і т.д. Із усього набору редакторів ми розглянемо рядок уведення класу TEdit і редактор тексту класу TMemo. Більшість стандартних редакторів є нащадками класу TCustomEdit. Клас TCustomEdit, що є нащадком класу TWinControl, містить ряд характеристик, загальних для всіх текстових редакторів. Найбільш важливими є наступні властивості. У більшості редакторів маються убудовані локальні меню, що дозволяють виконувати наступні команди:
Undо - скасування останньої виконаної операції в тексті;
Cut - вирізувати виділений фрагмент із приміщенням його в буфер обміну;
Copy - скопіювати виділений фрагмент у буфер обміну;
Pastе - помістити фрагмент із буфера обміну в текст у позицію курсору;
Delete - видалити виділений фрагмент;
SelectAll - виділити весь текст.
У Delphi реалізований спеціальний компонент TMaskEdit, призначений для введення тексту, що відповідає деякому шаблону, що задається властивістю property EditMask: String. Якщо ця властивість не задана, TMaskEdit працює як звичайний редактор TEdit. Текстовий редактор TMemo може містити на відміну від рядка введення TEdit не одну, а будь-яке число рядків. Клас TEdit - безпосередній нащадок класу TCustomEdit і успадковує всі його характеристики. Основною властивістю рядка введення є властивість Text.
Клас TMemo породжений безпосередньо від класу TCustomMemo, у якому визначені основні характеристики багатострічкових текстових редакторів. Дозволяє ввести кілька рядків тексту, кожну з який можна виділити за допомогою масиву рядків- властивості Lines.
Основне призначення кнопки - компонента TButton - формування події при натисканні на неї. Кнопка може бути розміщена в будь-якім місці форми, де їсти необхідність виконати які-небудь дії при її натисканні. Кнопка Button є екземпляром класу TButton, предками якого є класи TButtonControl і TWinControl. Це означає, що кнопка Button являє собою віконний елемент керування.
Частина 1
Текст програми
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
editHello: TEdit;
btnHello: TButton;
btnGoodbye: TButton;
btnClose: TButton;
procedure btnHelloClick(Sender: TObject);
procedure btnGoodbyeClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Implementation
{$R *.DFM}
procedure TForm1.btnHelloClick(Sender: TObject);
begin
editHello.Text:='ПРИВІТ'
end;
procedure TForm1.btnGoodbyeClick(Sender: TObject);
begin
editHello.Text:='До побачення'
end;
procedure TForm1.btnCloseClick(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Ви дійсно бажаєте завершити програму?',
mtConfirmation , [mbYes, mbNo] ,0)= mrNo then CanClose:=false;
end;
end.
Частина 2
Текст програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,x1,x2:double;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
d:=b*b-4*a*c;
if d>=0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
Memo1.Lines.Add('Результат');
Memo1.Lines.Add('x1='+FloatToStr(x1));
Memo1.Lines.Add('x2='+FloatToStr(x2));
end;
if d<0 then Memo1.Lines.Add('Рішень немає');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
end;
end.
Висновок
Отже, на даній лабораторній роботі я продовжила знайомство з основними інструментами Delphi. А також ознайомилася із компонентами для вводу-виводу та одержала практичні навички у створенні простих додатків.