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:
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;
also die verstrichene zeit wird ordentlich angezeigt, nur die restdauer ist verdammt klein und stimmt sogar nicht...
hat jemand n hinweis fuer mich woran das liegen koennte ? ich guck heute irgendwie nich durch