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


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



бет90/98
Дата07.02.2022
өлшемі1,51 Mb.
#85980
1   ...   86   87   88   89   90   91   92   93   ...   98
Байланысты:
Delphi

Жұмысты орындау бағдарламасы:
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   ...   86   87   88   89   90   91   92   93   ...   98




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

    Басты бет