Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   mehrere Progressbars in Schleife aktualisieren (https://www.delphipraxis.net/149488-mehrere-progressbars-schleife-aktualisieren.html)

hilfmir 22. Mär 2010 19:04


mehrere Progressbars in Schleife aktualisieren
 
ich möchte in einem Messprogramm 8 Kanäle eines USB-Interface auslesen und die Werte in 8 Progressbars ausgeben.

lassen sich die Progressbars in einer Schleife ähnlich wie ein Array ansprechen: also progressbar[x] usw. oder muß ich die Schleife weglassen und den langen Weg über progressbar1, progressbar2, progressbar3 usw. gehen um die Werte zu ändern?

ich möchte ganz einfach Quelltext sparen.

Helmi 22. Mär 2010 19:05

Re: mehrere Progressbars in Schleife aktualisieren
 
Hallo,

such mal nach FindComponent hier im Forum

chaosben 22. Mär 2010 19:08

Re: mehrere Progressbars in Schleife aktualisieren
 
Oder der einfache (aber nicht so elegante) Weg:
Delphi-Quellcode:
var
  PBs : array[0..7] of TProgressBar;
  idx : Integer;
begin
  PBs[0] := Progressbar1;
  PBs[1] := Progressbar2;
  //...

  for idx := Low(PBs) to High(PBs) do
    PBs[idx].Position := 5;
end;

Helmi 22. Mär 2010 19:10

Re: mehrere Progressbars in Schleife aktualisieren
 
Zitat:

Zitat von chaosben
Oder der einfache (aber nicht so elegante) Weg:
Delphi-Quellcode:
var
  PBs : array[0..7] of TProgressBar;
  idx : Integer;
begin
  PBs[0] := Progressbar1;
  PBs[1] := Progressbar2;
  //...

  for idx := Low(PBs) to High(PBs) do
    PBs[idx].Position := 5;
end;

Aber auch das Füllen des Arrays kann man mittels FindComponent vereinfachen, anstatt 9 mal die gleiche Zeile (mit unterschiedlicher ProgressBar-Nummer) zu schreiben

hilfmir 25. Mär 2010 18:53

Re: mehrere Progressbars in Schleife aktualisieren
 
Danke. Mit FindComponent geht's problemlos

alzaimar 25. Mär 2010 20:04

Re: mehrere Progressbars in Schleife aktualisieren
 
Zitat:

Zitat von Helmi
Aber auch das Füllen des Arrays kann man mittels FindComponent vereinfachen, anstatt 9 mal die gleiche Zeile (mit unterschiedlicher ProgressBar-Nummer) zu schreiben

Nun ja, ich pflege meinen Controls aussagekräftige Namen zu geben und da bringt FindComponent nicht viel. Desweiteren ist es fraglich, ob eine Lösung mit FindComponent nun so viel lesbar ist.

Und robust ist die Verwendung von FindComponent garantiert nicht:Was passiert wenn man den Komponenten andere Namen spendiert? Mit FindComponent erzeugt man böse Laufzeitfehler, ohne Compilerfehler, die sich leicht beheben lassen.

Alles in Allem kein Grund, FindComponent zu hypen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz