Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi mehrere Elemente in einer Schleife bearbeiten (https://www.delphipraxis.net/18004-mehrere-elemente-einer-schleife-bearbeiten.html)

Wilder 12. Mär 2004 17:26


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:
for i := 1 to 10 do
Begin
   Button[i].enabled := true;
end;
Damit hätte ich 10 Buttons aktiviert mit 4 Quellzeilen, anstatt jedesmal den gesamten Seremon zu kopieren.
Ich bin der Ansicht, daß das irgendwie gehen müsste... wenn ich nur wüsste wie...
:wall:

hummer 12. Mär 2004 17:33

Re: mehrere Elemente in einer Schleife bearbeiten
 
So müßte es gehen.
Zuerst die ShellAPI einbinden.

Delphi-Quellcode:
var i : integer;

for i := 1 to s do //s Anzahl der Buttons
  TButton(FindComponent('Button' + IntToStr(i))).Enabled := true;
Jetzt werden die Button mit dem Namen Button1 bis Buttons auf Enabled true gesetzt.

Wilder 12. Mär 2004 17:39

Re: mehrere Elemente in einer Schleife bearbeiten
 
Danke, hat hingehauen
:thuimb:

hummer 12. Mär 2004 17:48

Re: mehrere Elemente in einer Schleife bearbeiten
 
Und sind sogar nur 2 Zeilen. :lol:

Spectre 8. Mär 2013 01:16

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 ?

mkinzler 8. Mär 2013 06:32

AW: mehrere Elemente in einer Schleife bearbeiten
 
Einfach Hotspots[i]?

DeddyH 8. Mär 2013 07:22

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]);

Spectre 8. Mär 2013 12:43

AW: mehrere Elemente in einer Schleife bearbeiten
 
Code:
procedure Tworldmapsource.FormCreate(Sender: TObject);
var i : integer;
begin
for i := 1 to 48 do
  THotSpot(FindComponent('Hotspots[i]')).HoverColor := clwhite;
hsiafrika.Loaded;
end;
complilieren kann ich den code so zwar, aber ich bekomme eine zugriffsverletzung wenn ich versuche zu starten :lol:

p80286 8. Mär 2013 12:52

AW: mehrere Elemente in einer Schleife bearbeiten
 
Hast Du es einmal mit dem Vorschlag von DeddyH versucht
Delphi-Quellcode:
for i:=low() to high()
Gruß
K-H

Spectre 8. Mär 2013 12:56

AW: mehrere Elemente in einer Schleife bearbeiten
 
jop...the same..

Code:
procedure Tworldmapsource.FormCreate(Sender: TObject);
var i : integer;
begin
for i:=low(1) to high(5) do
  THotSpot(FindComponent('Hotspots[i]')).HoverColor := clwhite;

end;
die zugriffsverletzung kommt in der FindComponent zeile.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.
Seite 1 von 2  1 2      

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