![]() |
Fortschritt einer for-Schleife anzeigen
Moin moin,
also ich stehe vor folgendem Problem: Ich habe ein for-Schleife, die bis zu einem hohen Wert zählt, da dies ein Weilchen dauert, wollte ich eine ProgressBar mit dem Fortschritt einfügen, aber wenn ich
Delphi-Quellcode:
drinstehen habe, bleibt das Fenster natürlich leer und nichts wird angezeigt.
for i:=1 to 5000 do begin
... ProgressBar1.Position := i; end; Wie krieg ich jetzt diese Progressbar zum Vorschein, sodass der User sehen kann wo gerade die for-Schleife ist? :mrgreen: |
Re: Fortschritt einer for-Schleife anzeigen
Du musst der deinem Fenster entweder die Möglichkeit gegeben die Fortschrittsanzeige zu zeichnen, in dem du dem fenster die Möglichkeit gibst die Nachrichtenschleife abzarbeiten. das geht mit Application.Processmessages. Oder du sagts der Fortschrittsanzeige explizit, dass sie sich neu zeichnen soll mit der Metgode Refresh oder Repaint der Fortschrittsanzeige.
|
Re: Fortschritt einer for-Schleife anzeigen
Wie stell ich das jetzt genau an. Bin noch nich sooooo weit mit Delphi.
ProcessBar1.Position := i; ProcessBar1.Refresh; oder wie? :glaskugel: |
Re: Fortschritt einer for-Schleife anzeigen
Zitat:
|
Re: Fortschritt einer for-Schleife anzeigen
Also ich hab es jetzt so ausprobiert:
Delphi-Quellcode:
und irgendwie funktioniert es nicht wirklich. Also immer noch dasselbe wie vorher.
for i:=1 to 10000 do begin
... ProgressBar1.Position := i; ProgressBar1.Refresh; end; |
Re: Fortschritt einer for-Schleife anzeigen
wie wäre vor der for-schleife ein Progressbar.Max := 10000? oder steht das schon drin?
|
Re: Fortschritt einer for-Schleife anzeigen
Ja ProgressBar1.Max ist schon drin.
|
Re: Fortschritt einer for-Schleife anzeigen
komisch...
Delphi-Quellcode:
so mach ich das (momentan) in meinem aktuellen projekt funktioniert einwandfrei versuch das mal.
pb1.Position := pb1.Position + 1;
Application.ProcessMessages; |
Re: Fortschritt einer for-Schleife anzeigen
Ich bin auch blöd :mrgreen:
Ich hab die ProgressBar auf einem Panel, welches ich aus Versehen auf eine GroupBox geschoben habe, die gerade nicht sichtbar war ^^ Naja, vielen Dank es funktioniert jetzt :dp: |
Re: Fortschritt einer for-Schleife anzeigen
Eventuell könnte es noch sinnvoll sein, den Balken nur alle 50-100 Schritte neu zu zeichnen.
LG, Xong |
Re: Fortschritt einer for-Schleife anzeigen
kommt drauf an wie oft man neu zeichnet bei 10000 die schleife durchlaufen macht das sinn, denn der balken verändert sich ja nicht mit jedem durchlauf
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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