Misol 2.
Delphi imkoniyatlarini va vizual loyixalash texnikasini ko’rsatish uchun sportsmen distansiyani chopib o’tgan tezlikni hisoblovchi loyiha ishlab chiqamiz. Dastur ishlash jarayonidagi oynasining ko’rinishi rasmda ko’rsatilgan.
Chopish tezligi dasturi matni
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
dist : integer;
t: real;
min : integer;
sek : integer;
v: real;
begin
dist := StrToInt(Edit1.Text);
t := StrToFloat(Edit2.Text);
min := Trunc(t);
sek := Trunc(t*100) mod 100;
v := (dist/1000) / ((min*60 + sek)/3600);
label4.Caption := 'Distansiya: '+ Edit1.Text + ' m' + #13
+ 'Vakt: ' + IntToStr(min) + ' min '
+ IntToStr(sek) + ' sek ' + #13 +
'Tezlik: ' + FloatToStrF(v,ffFixed,4,2) + 'km/soat';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Button1click funksiyasi tezlikni hisoblab, natijani Label4 maydoniga chiqaradi. Boshlang’ich qiymatlar Editl va Edit2 taxrirlash maydonlarining Text xossasiga murojaat qilish yordamida kiritiladi. Text xossasi foydalanuvchi kiritgan simvollardan iborat satrni o’z ichiga oladi. Satrni sonlarga aylantirish uchun StrToInt va StrToFloat funksiyalaridan foydalaniladi. StrToInt funksiyasi Edit1.Text ga kiritilgan satrni, tekshirib, agar simvollar raqamlardan iborat bo’lsa butun songa aylantirib dist. o’zgaruvchisiga qiymat sifatida beradi. SHu kabi StrToFioat funksiyasi Edit2.Text kiritilgan satrni haqiqiy songa aylantirib t o’zgaruvchisiga qiymat sifatida beradi.
So’ngra Trunc funksiyasi t o’zgaruvchisining butun qismini ajratadi — bu minutlarga mos keladi. So’ngra Trunc(t*100) mod 100 ifodasi sekundlarni ajratadi.
Tezlik km/soat birlikda aniqlangani uchun, metr va sekundlar kilometr va soatlarga aylantiriladi.
Hisoblangan tezlik qiymati Label4 maydonida Caption xossasi yordamida akslantiriladi. Sonni satrga aylantirish uchun IntToStr va FloatToStr funksiyalaridan foydalaniladi.
CHiqish tugmasini bosilganda dastur ishini to’xtatadi. Buning uchun close usuli yordamida dastur oynasi berkitiladi.
Do'stlaringiz bilan baham: |