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

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Хмельницький національний університет Кафедра системного програмування Лабораторна робота №3 з програмування на тему: «Ознайомлення з інструментальним середовищем програмування Delphi. Робота з простими візуальними об’єктами» Лабораторна робота №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 та засвоїв принципи роботи з їх властивостями, отримав навички створення найпростіших обробників подій з можливістю перевірки вхідних даних та виведення інформаційних повідомлень.
Антиботан аватар за замовчуванням

28.03.2013 22:16

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!