Delphi визуалды программалау ортасы


Жұмысты орындау бағдарламасы



бет89/97
Дата06.01.2022
өлшемі2,03 Mb.
#12435
1   ...   85   86   87   88   89   90   91   92   ...   97
Байланысты:
Delphi vizualdy programmalau ortasy

Жұмысты орындау бағдарламасы:

unit zhygyru;

{$R *.dfm}

// Дистанция өрісіндегі пернені басу

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

begin


// Key – басылған пернеге сәйкес символ.

// Егер символ рұхсат етілмеген болса, онда процедура оны коды нөлге тең символға ауыстырады. Соның нәтижесінде символ редакциялау өрісінде көрінбейді, сол себепті пайдаланушы бағдарлама кейбір пернелердің басуына әсер етпейді деп ойлап қалады.

// пернелер.

case Key of

'0'..'9': ; // цифрлар

#8 : ; //

#13: Edit2.SetFocus; // - Уақыт өрісіндегі көрсеткіш: //минут

// басқа символдарға – рұхсат етілмейді

else Key :=Chr(0); // символды бейнелемеу

end;


end;

// Уақыт өрісіндегі пернені басу:минут

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

begin


case Key of

'0'..'9': ;

#8 : ; //

#13: Edit3.SetFocus; // - Уақыт өрісіндегі көрсеткіш:секунд

// басқа символдарға – рұхсат етілмейді

else Key :=Chr(0); //символды бейнелемеу

end;

end;


// Уақыт өрісіндегі пернені басу:секунд

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

begin

case Key of

'0'..'9': ;

',','.' : // ондық таңбалы бөлгіш

begin

Key := DecimalSeparator;



if Pos(DecimalSeparator,Edit3.Text) <> 0

then Key := Char(0);

end;

#8 : ; //



#13 : Button1.SetFocus; // - Есептеу батырмасына //фокустау

// басқа символдарға – рұхсат етілмейді

else Key :=Chr(0); // символды бейнелемеу

end;


end;

// Есептеу батырмасында шерту

procedure TForm1.Button1Click(Sender: TObject);

var


dist : integer; // дистанция, метрмен

min : integer; // уақыт, минутпен

sek : real; // уақыт, секундпен

v: real; // жылдамдық

begin

// бастапқы мәліметтерді енгізу өрісінен алу



dist := StrToInt(Edit1.Text);

min := StrToInt(Edit2.Text);

sek := StrToFloat(Edit3.Text);

// дистанция мен уақыт нөлге тең болмауы тиіс

if (dist = 0) or ((min = 0) and (sek = 0)) then

begin


ShowMessage('Дистанция мен уақытты көрсету керек.');

exit;


end;

// есептеу

v := (dist/1000) / ((min*60 + sek)/3600);

// нәтиже шығару

label5.Caption := 'Дистанция: '+ Edit1.Text + ' м' + #13 +

'Уақыт: ' + IntToStr(min) + ' мин ' +

FloatToStrF(sek, ffGeneral,4,2) + ' сек ' + #13 +

'Жылдамдық: ' + FloatToStrF(v,ffFixed,4,2) + ' км/сағ';

end;

// Аяқтау батырмасында шерту



procedure TForm1.Button2Click(Sender: TObject);

begin


Form1.Close; // Бас пішінді жабу – бағдарлама жұмысын аяқтау

end;


end.





Достарыңызбен бөлісу:
1   ...   85   86   87   88   89   90   91   92   ...   97




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет