Zitat von
Hallo_Thomas:
...
Bis jetzt lagst Du immer richtig, aber dieses einemal nicht, würdch behaupten.
Ich jetzt ein Diese Zeile so ersetzt und unten natürlich
folgendes rausgelöscht.
Ich glaube Du hast mich falsch verstanden.
Schauen wir uns mal den Code an:
Delphi-Quellcode:
for pl0 := Form1.Anzeige.count - 1 downto 0 do // (1) Das ist die Schleife für die Items (30.000)
begin
for x := 0 to 81 do // (2) Das ist die Schleife für die Berechnung
begin
if StrToInt(Form1.Anzeige.Items[pl0]) in werte[x] then
Counte[x] := 0
else
Inc(Counte[x]);
end; // (2) Hier endet die Schleife für die Berechnung
for x := 0 to 81 do // (3) Das ist die Schleife für die Ausgabe
begin
(FindComponent('Label' + IntToStr(x + 2)) as TLabel).Caption :=
IntToStr(Counte[x]);
end; // (3) Hier endet die Schleife für die Ausgabe
end; // (1) hier endet die Schleife für die Items.
end;
Du weisst also
jedem TLabel 30.000 mal einenen wert zu
Wenn Du es aus der Schleife der Items raus nimmst:
Delphi-Quellcode:
for pl0 := Form1.Anzeige.count - 1 downto 0 do // (1) Das ist die Schleife für die Items (30.000)
begin
for x := 0 to 81 do // (2) Das ist die Schleife für die Berechnung
begin
if StrToInt(Form1.Anzeige.Items[pl0]) in werte[x] then
Counte[x] := 0
else
Inc(Counte[x]);
end; // (2) Hier endet die Schleife für die Berechnung
end; // (1) hier endet die Schleife für die Items.
for x := 0 to 81 do // (3) Das ist die Schleife für die Ausgabe
begin
(FindComponent('Label' + IntToStr(x + 2)) as TLabel).Caption :=
IntToStr(Counte[x]);
end; // (3) Hier endet die Schleife für die Ausgabe
end;
dann weisst Du jedem Label genau
einmal einen Wert zu.
Stephan B.
"Lasst den Gänsen ihre Füßchen"