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

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

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

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

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

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

Міністерство освіти і науки України Хмельницький національний університет Кафедра системного програмування Лабораторна робота №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:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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