![]() |
Re: GetTickCount zögert
Zitat:
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Start, Y: Integer; begin Start := GetTickCount; Y := 200; repeat Image1.Canvas.Ellipse(0, Y, 50, Y+50); Y := Y - 1; TrackBar1.Position := GetTickCount-Start; Application.ProcessMessages; until TrackBar1.Position = TrackBar1.Max; end; |
Re: GetTickCount zögert
Nicht dass ich wüsste - du könntest höchstens die entsprechenden Controls einzeln refreshen.
Noch sauberer geht das ganze natürlich mit Threads - dazu siehe das Tutorial von... ich glaube es war Luckie... |
Re: GetTickCount zögert
Hast du bestimmte einstellungen fürs Image und TrackBar? Wenn ich das alles bei mir laufen lasse, ist es in ein paar ms fertig.
|
Re: GetTickCount zögert
Zitat:
Zum Quelltext selbst: Ich finde es etwas ungeeignet abhängig von der Anzahl der Schleifendurchläufe eine bestimmte Anzahl an Elypsen zu zeischnen. In 10 Jahre ist das ganze eventuell so schnell (je nach Rechner) das ein überlauf entsteht. Zudem dürfte die CPU-Auslastung auf 100% stehen während der Ausführung. Ich fände es sinnvoller wenn Y anahand der verstrischenen Zeit berechnet wird. Zudem macht es keinen Sinn durchweg die Schleife mit voller Last laufen zu lassen. Ich würde da noch ein kurzes Sleep(20) einbauen damit die CPU nicht unnötig auf 100% Leistung hoch geschraubt wird. Zudem könnte mann dann davon ausgehen das unbabhängig von der Geschwindigkeit der CPU die Schleife ungefähr gleich oft durchlaufen wird auf jedem Rechner. Für die Fortschrittsanzeige ist übrigens auch eine Progessbar besser geeignet als eine Trackbar. Die Trackbar ist eigentlich dafür gedacht das der User den Wert ändern kann was bei deinem beispiel ja aber nicht geht weil du in der Schleife den wert immer korrigierst und im OnChange der Trackbar ja nicht reagierst sondern dort wo du den Wert automatisch setzt. |
Re: GetTickCount zögert
Zitat:
Zitat:
Zitat:
Zitat:
Ich werde das fertige Programm dann bei Gelegenheit wahrscheinlich auch mal hier vorstellen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz