Hallo Peter,
so funktioniert es bei mir.
Ich habe das mit einer
Progressbar (smooth = true) gemacht.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.enabled := true;
Timer1.Interval := 10;
Gauge1.Position:=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i, x, y: Integer;
ergebnis,ergebnis2: extended;
Faktor: Integer;
begin
Faktor := 100;
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
Ergebnis:= x / y;
if ergebnis > 1 then
gauge1.Max:=Faktor*(trunc(ergebnis)+1)
else
Gauge1.Max := Faktor;
Ergebnis2:= ergebnis*Faktor;
Gauge1.Position := gauge1.Position + 1;
if gauge1.Position >= ergebnis2 then // >= wegen Vergleich Integer mit extended
Timer1.enabled :=false;
Label1.Caption:= Floattostr(ergebnis);
end;
[edit] noch eine Frage, warum willst Du das denn unbedingt mit einem Timer lösen? [/edit]
Grüße
Klaus