![]() |
mehrere Elemente in einer Schleife bearbeiten
Hy!
ich würde gerne in einer Prozedur die Eigenschaften vieler Elemente hintereinanderweg ändern. Das Ganze stelle ich mir folgendermaßen vor:
Delphi-Quellcode:
Damit hätte ich 10 Buttons aktiviert mit 4 Quellzeilen, anstatt jedesmal den gesamten Seremon zu kopieren.
for i := 1 to 10 do
Begin Button[i].enabled := true; end; Ich bin der Ansicht, daß das irgendwie gehen müsste... wenn ich nur wüsste wie... :wall: |
Re: mehrere Elemente in einer Schleife bearbeiten
So müßte es gehen.
Zuerst die ShellAPI einbinden.
Delphi-Quellcode:
Jetzt werden die Button mit dem Namen Button1 bis Buttons auf Enabled true gesetzt.
var i : integer;
for i := 1 to s do //s Anzahl der Buttons TButton(FindComponent('Button' + IntToStr(i))).Enabled := true; |
Re: mehrere Elemente in einer Schleife bearbeiten
Danke, hat hingehauen
:thuimb: |
Re: mehrere Elemente in einer Schleife bearbeiten
Und sind sogar nur 2 Zeilen. :lol:
|
AW: mehrere Elemente in einer Schleife bearbeiten
hey..danke für den code! älteres topic aber ich muss es grad mal ausbuddeln :D
ich habe allerdings das problem das meine objekte keine zahlen AM ENDE haben, sondern so aussehen: Hotspots[3], Hotspots[4], Hotspots[5], Hotspots[6] ich habe schwierigkeiten das anzupassen, hat jemand nen tip wie ich den code ändern muss :S ? |
AW: mehrere Elemente in einer Schleife bearbeiten
Einfach Hotspots[i]?
|
AW: mehrere Elemente in einer Schleife bearbeiten
Das scheint ja ein Array zu sein, also müsste das auch so gehen:
Delphi-Quellcode:
for i := Low(Hotspots) to High(Hotspots) do
MachWasMit(Hotspots[i]); |
AW: mehrere Elemente in einer Schleife bearbeiten
Code:
complilieren kann ich den code so zwar, aber ich bekomme eine zugriffsverletzung wenn ich versuche zu starten :lol:
procedure Tworldmapsource.FormCreate(Sender: TObject);
var i : integer; begin for i := 1 to 48 do THotSpot(FindComponent('Hotspots[i]')).HoverColor := clwhite; hsiafrika.Loaded; end; |
AW: mehrere Elemente in einer Schleife bearbeiten
Hast Du es einmal mit dem Vorschlag von DeddyH versucht
Delphi-Quellcode:
Gruß
for i:=low() to high()
K-H |
AW: mehrere Elemente in einer Schleife bearbeiten
jop...the same..
Code:
die zugriffsverletzung kommt in der FindComponent zeile.
procedure Tworldmapsource.FormCreate(Sender: TObject);
var i : integer; begin for i:=low(1) to high(5) do THotSpot(FindComponent('Hotspots[i]')).HoverColor := clwhite; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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