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 та засвоїв принципи роботи з їх властивостями, отримав навички створення найпростіших обробників подій з можливістю перевірки вхідних даних та виведення інформаційних повідомлень.


 

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

35862. Экзаменационные задачи по физике 333.5 KB
  Определите работу совершаемую электрическим током в электродвигателе настольного вентилятора за промежуток времени 30 с если при напряжении 220 В сила тока потребляемого двигателем 100 мА. Определите количество теплоты которое выделилось на резисторе сопротивлением 20 Ом за промежуток времени 5 мин если через его поперечное сечение ежесекундно проходит заряд 10 Кл. Определите силу тока потребляемого электродвигателем лифта и расход электроэнергии при одном подъеме если напряжение на зажимах 380 В а его КПД равен 90 . Определите...
35863. ТЕХНОЛОГІЯ ВЛАШТУВАННЯ МАСТИКОВИХ ПОКРІВЕЛЬ 320.5 KB
  ТЕХНОЛОГІЯ ВЛАШТУВАННЯ МАСТИКОВИХ ПОКРІВЕЛЬ Мастикові покрівлі улаштовують з бітумних емульсійних паст і мастик полімерних мастик гарячих бітумних мастик бітумногумових мастик. Захист покрівлі Бронювання нанесення на покрівлю алюмінієвого пилу Засипання гравієм або мармуровим щебенем 2мм Бітумні емульсійні матеріали це дисперсні системи з бітуму емульгаторів наповнювачів і води. Комбіновані покрівлі це різновид мастикових. Залежно від похилу конструкцію водоізоляційного килима такої покрівлі утворює один або два шари звичайних...
35865. ПРЕВРАЩЕНИЯ В СТАЛИ ПРИ ОХЛАЖДЕНИИ 283 KB
  При скорости охлаждения стали обеспечивающей полное протекание диффузионных процессов и соответственно близкое к равновесному состоянию стали в структуре последней согласно диаграмме железо углерод образуется перлит.5 приведена диаграмма изотермического превращения аустенита для эвтектоидной стали 08 С. Диаграмма изотермического превращения аустенита эвтектоидной стали На диаграмме можно выделить следующие области: 1 область устойчивого аустенита для стали содержащей 08 С выше АС1; 2 область переохлажденного аустенита; 3...
35867. БЖД. Содержание, цель и задачи БЖД 101.92 KB
  Как видим она посвящена решению задач сохранения здоровья и жизни человека в среде его обитания. Объединяющим ее началом стали: воздействие на человека одинаковых по физике опасных и вредных факторов среды его обитания общие закономерности реакций на них у человека и единая научная методология а именно количественная оценка риска несчастных случаев профессиональных заболеваний экологических бедствий и т. Цель дисциплины вооружить будущих специалистов теоретическими знаниями и практическими навыками необходимыми для: 1 создания...
35868. Международное частное право. Шпаргалка 99.5 KB
  Принципы МЧП Принципы МЧП это определенные постоянные правила вытекающие из требования рационального урегулирования наиболее типичных случаев особенно в сфере коллизионного права. Общие принципы права непосредственно применяемые в МЧП: нельзя передать другому больше прав чем сам имеешь; принципы справедливости и доброй совести равные возможности равные основания; разумно осмотрительно рачительно как хозяйствующий субъект; недобросовестность когда реализация своего права влечет убытки для другого лица; принципы...
35869. Дроссель с обратным клапаном, конструкции применение 100.36 KB
  21 показан пример конструкции дросселя с обратным клапаном и указано направление потока воздуха. В реальных потоках жидкости присутствуют силы вязкого трения. На это трение затрачивается часть энергии потока. Изза этих потерь энергия потока жидкости по длине потока и в его направлении постоянно уменьшается.
35870. Ассоциация художников революционной России 100.32 KB
  Майская 1922 года Декларация АХРР: âНаш гражданский долг перед человечеством художественнодокументально запечатлеть величайший момент истории в его революционном порыве.Создание в 1925 году инициативной группой учащейся молодежи АХРР. Первый съезд АХРР 1928 г.