Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#22

Re: Sekunden an einen Timer übergeben

  Alt 30. Aug 2004, 23:23
also, ich hab das mal etwas anders gelöst, nebenbei noch ne fehler-abfrage gemacht, es sollte jetzt klappen:

Delphi-Quellcode:
var
  Form1: TForm1;//erst mal hab ich deine globalen variablen gelichtet
  vorhanden, prostunde, benoetigt:double;
  laufzeit:integer;
implementation

{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
  h, m, s, sekunden:integer;
  fehlend:double; //dafür lokale...
begin
inc(laufzeit); //wie lange läuft es schon?
vorhanden:=laufzeit*prostunde/3600; //wieviel is nach der zeit da
fehlend:=benoetigt-vorhanden; //wieviel fehlt dann noch
sekunden:=round((fehlend)/prostunde*3600);//soviel zeit fehlt noch

h:= sekunden div (60 * 60); //deine berechnung
sekunden:= sekunden - h*60*60;
m:= sekunden div 60;
sekunden:= sekunden - m*60;
s:= sekunden;

Edit4.Text:= 'h: '+inttostr(h)+' min: '+inttostr(m)+' sec: '+inttostr(s);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin //auf buttonklick
try
  vorhanden:= strtofloat(Edit1.Text); //einlesen
  prostunde:= strtofloat(Edit2.Text);
  benoetigt:= strtofloat(Edit3.Text);
  Timer1.Enabled:=true; //timer enablen
except //wenns fehler gibt (zahl flsch drin oder so)
  Application.MessageBox('Da Stimmt aber eine Zahl nicht...','Oops...');
end;
end;
und ich versteh immer noch nicht was das prog macht...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat