Autor Beitrag
Ottchen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Mi 29.01.03 18:37 
Hallo Liste,

kennt jmd. eine Möglichkeit, z.B. ein Rechteck, eine Linie oder nur Punkte mit Zeitverzug (z.B. "langsam") zu zeichnen? Mit dem Timer kann ich nur einstellen, nach welcher Zeit das Rechteck gezeichnet werden soll. In TurboPascal gabs die Möglichkeit eine Wartezeit mit Delay(Zeit in Millisekunden) anzugeben.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
  with Image1.Canvas do  
    begin
      Pen.Color:=clRed;         
      Rectangle(20,30,180,90);
      Ellipse(20,30,180,90);    
    end;
end;


Danke.

Ottchen

_________________
See you.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 29.01.03 19:15 
ich weiß zwar nicht, was du bezwecken willst, aber ein Ersatz für delay ist zumndest in Delphi6 der sleep()-Befehl.
Aber mit dem Timer geht sowas auch:
Du schaltest ihn auf Disabled und stellst die Zeit ein. Wenn du dann den Timer startest (enabled auf true), dann wird von dem Augenblick an gezählt. Der Vorteil ist, daß das Programm weiterläuft, also quasi ständig ProcessMessages ausgeführt wird und auf jedes Event gewartet wird, während sleep() dein Programm wirklich schlafen legt und dann auch keine Klicks o.Ä. mehr annimmt.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Ottchen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Mi 29.01.03 23:07 
Titel: Funktionen zeichnen
Hallo Tommie-lie,

Zitat:
ich weiß zwar nicht, was du bezwecken willst


Hintergrund ist der, z.B. eine quadratische Funktion grafisch darzutellen und zwar so, dass man das Setzen von Punkten bzw. Zeichnen von Linien als Prozess verfolgen kann und nicht so, dass der Graf "sofort" erscheint.

Ottchen

_________________
See you.
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Do 30.01.03 15:35 
wenn du einen Parser zum zeichnen benutzt, kommt die Wartezeit von selber, ansonsten kannst du ja bei jedem verändern des x wertes sleep(1); schreiben, dabei läuft das ganze langsam ab und trotzdem reagiert dein Programm noch, wenn du Processmessages aufrufst

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Do 30.01.03 19:19 
ähhh, bei sleep(1) bringt processMessages relativ wenig. Welche Message hat es schon so eilig, daß sie nicht mal eine Millisekunde warten kann? *g*
Ne, ich würde einen Timer verwenden: Ihn jedesmal resetten und neu starten lassen. Durch den Tag (der bei jedem Durchgang erhöht wird) wird die X-Achse festgehalten und jedesmal der entsprechende Y-Wert berechnet und gezeichnet. Finde ich gar kein Problem...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert