Einer von uns beiden hat die Anforderung falsch verstanden, kann gut sein daß ich das bin.
so ähnlich hatte ich das verstanden
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i:INteger;
begin
for I := 20 downto 0 do
begin
Stringgrid1.Cells[1,i] := 'AAAA' ;
Sleep(500);
Application.ProcessMessages;
end;
end;
und da wird es ohne Application.ProcessMessages duster...
Hallo Bummi,
Du hast offensichtlich nicht nur die Anforderung falsch verstanden, sondern auch meine Antwort.
Pausiert werden kann mit z.B. Sleep(500).
Neugezeichnet werden kann mit z.B. a) Repaint, b) Update oder c) Application.ProcessMessages. Die Variante c) hat Nebeneffekte, auf die der Programmierer vorbereitet sein muß, sonst kann es ganz gewaltig knatschen. Ich kann Dir gerne Beispiele geben.
Application.ProcessMessages wird leider hier gerne Foristen empfohlen, die offensichtlich unerfahren sind. Das halte ich für fahrlässig, wenn man selber mehr darüber weiß.
Zurück zur Anforderung.
Z.B. hiermit wird das geänderte StringGrid neugezeichnet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i:INteger;
begin
for I := 20 downto 0 do
begin
Stringgrid1.Cells[1,i] := 'AAAA' ;
Sleep(500);
Stringgrid1.Repaint; // oder Stringgrid1.Update
end;
end;
Gruß
blauweiss