Вы находитесь на странице: 1из 5

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ХЕРСОНСКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


КАФЕДРА ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ

Лабораторная работа
По дисциплине «Объектно-ориентированное программирование»

Выполнил
студент группы 4 СУ С.В. Золотухин

Проверил
ассистент кафедры ТК П.А. Крупица

Херсон 2006
Цель работы: овладение практическими навыками воздания и отладки
программ в среде ООП Delphi.
Исходный текст программы приведён ниже:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit4: TEdit;
Edit7: TEdit;
Edit8: TEdit;
GroupBox2: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Edit9: TEdit;
Label4: TLabel;
Edit10: TEdit;
Label7: TLabel;
CheckBox1: TCheckBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
procedure FormCreate(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 Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure RadioButton1KeyPress(Sender: TObject; var Key:
Char);
private
{ Private declarations }
public
{ Public declarations }
Un,Inom,Rja,omega,Mn,Fn,Kfn:real;
i,j,x0,y0,x,y:integer;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);


begin
end;

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


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

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


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

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


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

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


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

procedure TForm1.Edit8KeyPress(Sender: TObject; var Key: Char);


begin
if not (Key in ['0'..'9',',']) then key:=#0;
end;

procedure TForm1.Button1Click(Sender: TObject);


var omg,M:integer;
begin
if Edit1.text='' then Edit1.Text:='0';
if Edit2.text='' then Edit2.Text:='0';
if Edit3.text='' then Edit3.Text:='0';
if Edit9.text='0' then Edit9.Text:='0';
Un:=strToFloat(Edit1.text);
if CheckBox1.Checked then
Un:=strToFloat(Edit4.text);
Inom:=StrToFloat(Edit2.text);
Rja:=StrToFloat (Edit3.text);
if CheckBox2.Checked then
Rja:=Rja+StrToFloat(Edit8.text);
omega:=StrToFloat (Edit9.text);
if omega=0 then
ShowMessage('Омега должна быть отлична от нуля')
else
Kfn:=(Un-Inom*Rja)/omega;
if CheckBox3.Checked then
Kfn:=StrToFloat (Edit8.text);
edit5.Text:=FloatToStr(Kfn);
Mn:=Un*Inom/omega;
edit6.Text:=FloatToStr(Mn);
with Form1.Canvas do
begin
m:=0;
omg:=round((Un/Kfn-M*Rja/sqr(Kfn))*10);
x0:=430; y0:=10+omg;
moveto(x0,y0);
for M:=1 to 300 do
begin
omg:=10+round(Un/Kfn-M*Rja/sqr(Kfn));
lineto(430+m,omg);
end;
end;
end;

procedure TForm1.FormPaint(Sender: TObject);


var i:byte;
begin
with Form1.Canvas do
begin
pen.Color:=clblack;
pen.Width:=3;
x0:=450; y0:=315;
moveto(430,10); Lineto(435,20);moveto(430,10);
Lineto(425,20);moveto(430,10);Lineto(430,320);
lineto(750,320);lineto(740,325);moveto(750,320);
lineto(740,315);
for i:=1 to 15 do
begin
moveto(x0,y0);
lineto(x0,y0+10);
x0:=x0+20;
end;
x0:=425; y0:=300;
for i:=1 to 14 do
begin
moveto(x0,y0);
lineto(x0+10,y0);
y0:=y0-20;
end;
end;
end;

procedure TForm1.RadioButton1KeyPress(Sender: TObject; var Key:


Char);
begin
Un:=strToFloat(Edit4.text);
end;

end.

Вывод: В ходе выполнения лабораторной работы была создана программа


для расчёта характеристик электродвигателя с помощью среды ускоренной
разработки программного обеспечения Delphi.

Вам также может понравиться