37782

Ознайомлення з інструментальним середовищем програмування Delphi. Робота з простими візуальними об’єктами

Лабораторная работа

Информатика, кибернетика и программирование

Розробити проект, в якому на формі розмістити необхідні компоненти для введення координат вершин трикутника (TEdit, TLabel). Для виконання обчислень і завершення роботи програми використати компоненти TButton. Для вибору необхідного варіанту обчислень застосувати компонент RadioButton або TCheckBox. Результати обчислень виводити в компонент TLabel

Украинкский

2013-09-25

1.5 MB

4 чел.

5

Міністерство освіти і науки України

Хмельницький національний університет

Кафедра системного програмування

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

з програмування

на тему:

«Ознайомлення з інструментальним середовищем програмування Delphi. Робота з простими візуальними об’єктами»

Виконав:

Студент групи КІ-10-1

Ноль М.Г.

Перевірив:

Мостовий С.В.

Хмельницький

2011

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

Тема: Ознайомлення з інструментальним середовищем програмування Delphi. Робота з простими візуальними об’єктами.

Мета:ознайомитись з інструментальним середовищем програмування Delphi та його простими візуальними об’єктами.

Завдання

Розробити проект, в якому на формі розмістити необхідні компоненти для введення координат вершин трикутника (TEdit, TLabel). Для виконання обчислень і завершення роботи програми використати компоненти TButton. Для вибору необхідного варіанту обчислень застосувати компонент RadioButton або TCheckBox. Результати обчислень виводити в компонент TLabel. Для компонентів, які відображують результати роботи, заборонити можливість правки в компоненті. Забезпечити перевірку введених даних із видачею відповідного повідомлення та блокуванням компонентів форми у випадку некоректних даних.

Знайти кут A і медіану Мb.

Unit1.pas

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

 Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,

 StdCtrls;

type

 { TForm1 }

 TForm1 = class(TForm)

   Button1: TButton;    Button2: TButton;    Button3: TButton;

   Edit1: TEdit;    Edit2: TEdit;    Edit3: TEdit;    Edit4: TEdit;    Edit5: TEdit;    Edit6: TEdit;

   Label1: TLabel;    Label2: TLabel;    Label3: TLabel;    Label4: TLabel;    Label5: TLabel;

   Label6: TLabel;    Label7: TLabel;

   RadioButton1: TRadioButton;    RadioButton2: TRadioButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Edit1KeyPress(Sender: TObject; var Key: char);

   procedure Edit2KeyPress(Sender: TObject; var Key: char);

   procedure Edit3KeyPress(Sender: TObject; var Key: char);

   procedure Edit4KeyPress(Sender: TObject; var Key: char);

   procedure Edit5KeyPress(Sender: TObject; var Key: char);

   procedure Edit6KeyPress(Sender: TObject; var Key: char);

   procedure FormCreate(Sender: TObject);

 private

   { private declarations }

 public

   { public declarations }

 end;

var

 Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);

begin

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

 Close;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

 Edit1.Clear;  Edit2.Clear;  Edit3.Clear;  Edit4.Clear;  Edit5.Clear;  Edit6.Clear;

 Label7.Caption:='Результат: '

end;

procedure TForm1.Button1Click(Sender: TObject);

var xa,xb,xc,ya,yb,yc,AB,BC,AC,Mb,A: real;

begin

if (Edit1.Text<>'') and (Edit2.Text<>'') and (Edit3.Text<>'') and (Edit4.Text<>'') and (Edit5.Text<>'') and (Edit6.Text<>'') then

     begin

     xa:=StrToFloat(Edit1.Text);      xb:=StrToFloat(Edit2.Text);      xc:=StrToFloat(Edit3.Text);

     ya:=StrToFloat(Edit4.Text);      yb:=StrToFloat(Edit5.Text);      yc:=StrToFloat(Edit6.Text);

     AB:=sqrt(sqr(xb-xa)+sqr(yb-ya));

     BC:=sqrt(sqr(xc-xb)+sqr(yc-yb));

     AC:=sqrt(sqr(xc-xa)+sqr(yc-ya));

     if not ((AB+BC>AC) and (AB+AC>BC) and (BC+AC>AB)) then ShowMessage('Дані точки не утворюють трикутник! Введіть інші дані!') else

           begin

           if RadioButton1.Checked then

                 begin

                 A:=arctan(sqrt(1 - sqr((AB*AB + AC*AC - BC*BC)/(2*AC*AB))) / ((AC*AC+AB*AB-BC*BC)/(2*AC*AB)));

                 A:=abs(A*180/pi);

        Label7.Caption:='Результат: '+'A='+FloatToStrF(A,ffFixed,3,2)+' градусів';

                 end

           else

                 begin

                 Mb:=sqrt((2*BC*BC+2*AB*AB-AC*AC)/4);

                 Label7.Caption:='Результат: '+'Mb='+FloatToStrF(Mb,ffFixed,10,5);

                 end;

           end;

     end

else ShowMessage('Введіть координати усіх точок!');

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit1.Text<>'' then Key:=#0;

   ',': begin if Length(Edit1.Text)-pos('-',Edit1.Text)=0 then Key:=#0;

        if pos(',',Edit1.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit2.Text<>'' then Key:=#0;

   ',': begin if Length(Edit2.Text)-pos('-',Edit2.Text)=0 then Key:=#0;

        if pos(',',Edit2.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit3.Text<>'' then Key:=#0;

   ',': begin if Length(Edit3.Text)-pos('-',Edit3.Text)=0 then Key:=#0;

        if pos(',',Edit3.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit4.Text<>'' then Key:=#0;

   ',': begin if Length(Edit4.Text)-pos('-',Edit4.Text)=0 then Key:=#0;

        if pos(',',Edit4.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit5.Text<>'' then Key:=#0;

   ',': begin if Length(Edit5.Text)-pos('-',Edit5.Text)=0 then Key:=#0;

        if pos(',',Edit5.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: char);

begin

 case Key of

   #8,'0'..'9': ;

   '-': if Edit6.Text<>'' then Key:=#0;

   ',': begin if Length(Edit6.Text)-pos('-',Edit6.Text)=0 then Key:=#0;

        if pos(',',Edit6.Text)<>0 then Key:=#0;

        end

 else Key:=#0;

 end;

end;

initialization

 {$I unit1.lrs}

end.

Результати:

Висновок.  Виконавши лабораторну роботу, я ознайомився з простими компонентами середовища Delphi, такими як TLabel, TEdit, TButton, TRadioButton та засвоїв принципи роботи з їх властивостями, отримав навички створення найпростіших обробників подій з можливістю перевірки вхідних даних та виведення інформаційних повідомлень.


 

А также другие работы, которые могут Вас заинтересовать

22681. Атоми у зовнішніх полях. Ефект Штарка 507.5 KB
  Ефект Штарка Явище розщеплення в електричному полі енергетичних рівнів і пов’язане з ним розщеплення спектральних ліній називають ефектом Штарка. Розщеплення рівнів спостерігається як в однорідних так і в неоднорідних електричних полях зі складною просторовою конфігурацією.Наявність електричного поля що змінюється з часом також призводить до розщеплення рівнів енергії.Енергетична віддаль між компонентами розщеплення рівня в однорідному електричному полі росте зі збільшенням його напруженості.
22682. Атоми у зовнішніх полях. Ефект Зеємана 340.5 KB
  Суть: розщеплення спектральних ліній обумовлене взаємодією атомів з магнітним полем. Розщеплення спектральних ліній в магнітному полі є наслідком розщеплення енергетичних рівнів. простий ефект : правила відбору: три лінії:лінія двікомпоненти Складний ефект: розглянемо основний і перший збуджений...
22683. Теорія молекули водню. Обмінна взаємодія 72 KB
  Тоді рня Шредінгера для електронів при фіксованих ядрах: Нульове наближення: V΄=0атоми віддалені: R= тоді V=V1 V2 . та теж буде розв΄язком: Ени нерозрізненні тоді тоді буде: сим. Тоді будуть поправки до енергії різні для сим.
22684. Принцип роботи прискорювачів заряджених частинок 42 KB
  2 R – радіус орбіти частинки в магнітному полі m – маса чки c швидкість світла H – напруження магн. Металева сфера заряджена до великого потенціалу і частинки виходять з неї через трубку; енергія частинок десь 28 Мев. Підвищення енергії частинки частинки майже вдвічі можливе при використанні каскадних електростатичних прискорювачів. Циклотрон – складається з секторних електродів дуантів перпендикулярно до яких прикладено сильне однорідне магнітне поле яке потрібне для задання циклічної траєкторії частинки.
22685. Сучасні уявлення про ядерні сили. Моделі атомного ядра 43.5 KB
  Моделі атомного ядра. де І – момент інерції повний момент ядра враховує деформацію ядра при обертанні. В основі моделі лежить припущення про те що нуклони рухаються в самоузгодженому полі – задача стає одночастинковою самоузгодження сили взаємодії між нуклонами замінюють на загально силовий центр тобто вводять середнє для всіх нуклонів ядра поле. Спектр ядра розбитий на групи близьких рівнів з великими проміжками між групами.
22686. Міжнародні комерційні операції 36.5 KB
  Проблеми: відбувається неодночасно тобто одна сторона в багатьох випадках кредитує іншу сторону внаслідок чого виникають ризикові ситуації фірми ризикують отримати непотрібні їм товари. Наприклад Україна експортує до Китаю товари. Китай сплачує ці товари якщо Україна закупить на певну суму виручки товари в Китаї. офсет – подібний до зустрічної закупівлі тим що одна сторона погоджується придбати товари і послуги за певний суми виторгу від початкового продажу.
22687. Принципи ЗЕД 26 KB
  Принцип свободи зовнішньоекономічного підприємництва що полягає у праві суб’єктів зовнішньоекономічної діяльності добровільно вступати у зовнішньоекономічні зв’язки; праві суб’єктів зовнішньоекономічної діяльності здійснювати її в будьяких формах які прямо не заборонені чинними законами України; виключному праві власності суб’єктів зовнішньоекономічної діяльності на всі одержані ними результати зовнішньоекономічної діяльності. Принцип юридичної рівності і недискримінації що полягає у рівності перед законом всіх суб’єктів...
22688. Облік фінансових вкладень та консолідована звітність 209 KB
  ІНВЕСТИЦІЯ - це актив, яким володіє підприємство з метою збільшення капіталу через розподіл доходу (наприклад, відсотків, роялті, дивідендів та ренти), для зростання вартості капіталу або для інших вигод.
22689. Сальдо платіжного балансу України 30 KB
  обсяги прямих іноземних інвестицій в Україну постійно зростали. З початку 2001 року темпи надходження прямих іноземних інвестицій в Україну уповільнилися. Слід окремо наголосити на тому що значна частина інвестицій надійшла з офшорних зон.