Всё сам додумался теперь нужно как-то отбросить 14 знаков после запятой... но это уже другой вопрос и тругой топик... А решил вот таким способом
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Mask;
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Timer1: TTimer; Button1: TButton; Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; vvodchas,vvodmin,milschas,milsmin,x:integer; const mils=1000; chas=3200; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin vvodchas:=strtoint(Edit1.Text);//ââîä ÷àñîâ vvodmin:=strtoint(Edit2.Text); //ââîä ìèíóò milschas:=vvodchas*chas;//âûñ÷èòûâàåì ñêîëüêî ñåêóíä â ÷àñàõ milsmin:=vvodmin*60;//Âûñ÷èòûâàåì ñêîëüêî ñåêóíä â ìèíóòàõ x:=milschas+milsmin;//ïðèñâàåâàåì òàéìåðó íà÷àëüíîå çíà÷åíèå Timer1.Enabled:=true;//çàïóñêàåì òàéìåð end;
procedure TForm1.Timer1Timer(Sender: TObject); var b,a,s:real;//integer;
f:string; begin begin s:=6000; a:=strtofloat(inttostr(x)); b:=a/s; f:=Floattostr(b); panel1.Caption:=f; end; begin dec(x);//âû÷èòàåì èç ïåðåìåííîé Õ åäèíèöó Panel3.Caption:= IntToStr(x);//ïðèñâàåâàåì ïîëþ òåêóùåå çíà÷åíèå Õ
//Panel1.Caption:=TimeToStr(strtoint(panel3.Caption)); if x = 0 then //Êîãäà Õ áóäåò ðàâåí 0 begin Timer1.Enabled:= False;// âûêëþ÷àåì òàéìåð Showmessage('Âðåìÿ âûøëî');//âûâîäèì ñîîáùåíèå end;
end;
end;
end.
|
|