Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Memo.Clear zeigt keinen Effekt - Falsche Anzeige

  Alt 14. Dez 2005, 13:46
Hi,
ach die schönen Türme von Hanoi. Dein sleep legt den Hauptprozess schlafen, dass heißt natürlich auch, dass dieser nicht neu zeichnet. Dein Algorithmus ist also so wie er ist schon vollkommen richtig, aber du solltest in deiner Methode procedure TForm1.Schiebe(n, Turm1, Turm2, Turm3: integer); noch ein Application.ProcessMessages; vor dem sleep einfügen (gibt Rechenzeit frei und damit wird neu gezeichnet).

Ein (wie ich glaube) schönerer Weg ist es dann einfach anders zu warten, statt sleep(500) kannst du auch
Delphi-Quellcode:
var time : Int64;
begin
  time := GetTickCount;
  while (GetTickCount - time) < 500 do
    begin
      Application.ProcessMessages;
    end;
end;
verwenden, das sollte auf jeden Fall klappen.

Schau einfach mal,
Gruß Der Unwissende

Ps: Nicht schlecht, ich hatte damals (gut, noch Pascal) eine deutlich unschönere Lösung
  Mit Zitat antworten Zitat