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


 

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

77749. МЕНЕДЖЕР ИССЛЕДОВАТЕЛЬСКОГО ТИПА 31.5 KB
  Проблемное видение мира способность распознавать проблемы там где для других все ясно. Экспрезентность способность делать верные и удачные заключения при дефиците информации. Способность к имитации функций различных членов коллектива. Инновационность и безынерционность мышления способность выйти за границы формального привычного проверенного традиционного.
77750. РОЛЬ МЕТОДОЛОГИИ В ИССЛЕДОВАНИИ СИСТЕМ УПРАВЛЕНИЯ 64 KB
  Методология это логическая организация деятельности человека состоящая в определении цели и предмета исследования подходов и ориентиров в его проведении выборе средств и методов определяющих наилучший результат. Цель исследования заключается в поиске наиболее эффективных вариантов построения системы управления и организации ее функционирования и развития. На практике проведение исследования преследует разные цели например: мониторинг качества управления формирование атмосферы творчества и инноваций в...
77751. ПРАКТИЧЕСКАЯ ФОРМУЛА ДИАЛЕКТИЧЕСКОГО ПОДХОДА К ИССЛЕДОВАНИЮ УПРАВЛЕНИЯ 31.5 KB
  Подходы к исследованию: Механистический подход признающий только причинноследственные связи явлений; Метафизический подход который отдает приоритет связям движения но движения в виде превращения одного движения в другое с последующим возвращением к исходному; Организмический подход акцентирующий те связи которые действуют в живых организмах это главным образом связи функциональные; Диалектический подход основанный на связях рождаемых противоречием. Аспектный подход. Многоаспектный подход.
77752. ОБЩЕНАУЧНЫЕ МЕТОДЫ В ИССЛЕДОВАНИИ СИСТЕМ УПРАВЛЕНИЯ 81.5 KB
  Но успех исследования в значительной мере зависит от того каким образом по каким критериям мы выбираем методы для проведения конкретного исследования и в какой комбинации мы используем эти методы. Всю совокупность методов исследования можно разделить на две группы: Эмпирические методы построены на осмыслении практической деятельности сути и особенностей событий и ситуаций. Методы наблюдений исследования с минимальным вмешательством в исследуемые события и ситуации.
77753. СИСТЕМНЫЙ ПОДХОД В ИСУ 36.5 KB
  Система управления совокупность звеньев и связей между ними осуществляющих управление. Звенья системы управления выделяются: по специфике объему и масштабу полномочий трудоемкости работы равномерности распределения нагрузки квалификационным требованиям к персоналу информационному обеспечению возможностям территориального размещения сотрудников. Звенья составляющие систему управления отличаются главным образом комбинацией функций и полномочий управления. Звенья системы управления...
77754. СПЕЦИФИЧЕСКИЕ МЕТОДЫ ИСУ 56.5 KB
  Наиболее важными из них являются методы: исследования документов эксперимент социологические исследования тестирование коллективный анализ социометрические оценки деловые и инновационные игры имитационное моделирование. Одним из критериев выбора методов исследования является степень определенности ситуации или проблемы. Эффективность исследования по документам зависит от: состава документов их содержания формы информационной классификации.
77755. ДИВЕРСИФИЦИРОВАННЫЕ МЕТОДЫ ИСУ 82 KB
  Наблюдаются ли процессы диверсификации в области исследования? В чем они проявляются? Почему возникает потребность в диверсифицированных методах исследования? Что собой представляют диверсифицированные методы исследования? Что дают диверсифицированные методы, в чем их сильные и слабые стороны?
77756. МЕТОД СИНЕКТИКИ В ИСУ 79.5 KB
  Как мобилизовать и мотивировать творческий потенциал исследователя? Какую роль формирование группы играет в мобилизации творчества исследователя? Как социально-психологические факторы совместной деятельности исследователей влияют на результат?
77757. МЕТОДЫ ПРОЕКТИРОВАНИЯ КОНЦЕПЦИЙ 46 KB
  Методы дивергенции Дивергенция это прием расширения границ предмета исследования которое необходимо для обеспечения достаточного пространства поиска эффективного решения. К методам дивергенции можно отнести методы: обобщения литературы визуализации проблемы обсуждения анализа формулировок накопления и систематизации информации инвентаризации точек зрения и подходов анкетирования анализа ограничений. Методы трансформации Это следующий этап исследования.