![]() |
verbleibende zeit - restdauer
hi,
ich wende mich mal wieder an euch... ich sitz schon ewig an diesem kleinen problem rum und find die loesung nicht... also die sache ist so: ich oeffne eine textdatei, lese zeileweise aus und schreibe in datenbank, soweit so gut, es klappt auch alles, da das ganze nun recht lange dauert wollte ich ne restdauer angeben und hier liegt der hund begraben... also mal den code
Delphi-Quellcode:
also die verstrichene zeit wird ordentlich angezeigt, nur die restdauer ist verdammt klein und stimmt sogar nicht...
While not EOF(tempFile) do
begin if (z-1) mod 10 =0 then t1:=now; z:=z+1; if z mod 10 = 0 then begin inc(tc); t2:=now; t3:=t2-t1; // zeitl. abstand 10 eintraege zeit 2 - zeit 1 t3:=t3*24*60; // in minuten t4:=(t3+t4)/tc; // mittelwert zeit fuer 10 eintraege in min end; form1.ProgressBar1.Position:=z; form1.Label1.Caption:='Zeile: '+inttostr(z)+' / '+inttostr(fs); form1.Label3.Caption:='Verstrichene Zeit: '+ timetostr(now-ta); t3:=((fs-z)/10)*t4; // restdauer in min (anz. zeilen - zeile)/10*mittlere zeit fuer 10 t3m:=60*(t3/60-trunc(t3/60)); // restminuten ermitteln form1.Label2.caption:='Restdauer: '+floattostrf(t3/60,fffixed,5,0)+' Stunden '+floattostrf(t3m,fffixed,7,2)+' Minuten '; form1.Label2.Repaint; form1.ProgressBar1.Repaint; form1.Label1.Repaint; form1.Label3.Repaint; hat jemand n hinweis fuer mich woran das liegen koennte ? ich guck heute irgendwie nich durch :shock: |
Re: verbleibende zeit - restdauer
nimm mal die [ / delphi] tags und so, damit man das halbwegs effektiv lesen kann
|
Re: verbleibende zeit - restdauer
warum nicht so ?
GesamtDauer := fs * (now - ta) * 24.0 * 60.0 / z; DauerToDo := (fs - z) * (now - ta) * 24.0 * 60.0 / z; Wenn fsw die gesamten zeilen; ta der Zeitpunkt des Startes und z die bereits kopierten Zeilen |
Re: verbleibende zeit - restdauer
hi,
danke hans :) das klappt wunderbar .... :lol: so einfach und ich gruebel hier stundenlang :oops: |
Re: verbleibende zeit - restdauer
mal ne generelle frage : wie kommst du auf die konstanten werte :gruebel:
|
Re: verbleibende zeit - restdauer
meinst du 24 und 60?
|
Re: verbleibende zeit - restdauer
jap :)
|
Re: verbleibende zeit - restdauer
:roll:
Ein Tag hat 24 Stunden, eine Stunde hat 60 Minuten usw... |
Re: verbleibende zeit - restdauer
das liegt daran, dass now vom typ tdatetime ist: dort steht in der OH :
Wenn beide TDateTime-Werte positiv sind, brauchen Sie zur Ermittlung der Tage zwischen zwei Datumsangaben die beiden Werte nur voneinander zu subtrahieren. das heisst es kommen tage raus und um die in minuten umzurechnen: *24h * 60min |
Re: verbleibende zeit - restdauer
lol :wall: ja ja .. ich hätte vielleicht etwas länger nachdenken sollen :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz