Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Edits und andere Objekte mittels for schleife wählen?? (https://www.delphipraxis.net/121156-edits-und-andere-objekte-mittels-schleife-waehlen.html)

SimStar001 23. Sep 2008 10:35


Edits und andere Objekte mittels for schleife wählen??
 
hallo, ich hatte mal irgendwo (leider weiß ich net mehr wo) gesehen, dass man wenn man z.B. mehrere Objekte eines Typs hat diese per Schleife ansprechen kann.


z.B.
Delphi-Quellcode:
for i := 0 to 15 do
  edit[i].clear;

kann mir jemand weiter helfen und erklären wie man das realisieren kann?


danke

DeddyH 23. Sep 2008 10:41

Re: Edits und andere Objekte mittels for schleife wählen??
 
Du könntest entweder FindComponent() benutzen (das ist in einer Schleife aber eher suboptimal) oder es in etwa so machen:
Delphi-Quellcode:
for i := 0 to Pred(ComponentCount) do
  if (Components[i] is TEdit) then
    TEdit(Components[i]).Clear;

SimStar001 23. Sep 2008 10:51

Re: Edits und andere Objekte mittels for schleife wählen??
 
mh, da sucht der aber alle componenetn durch die es gibt!?


ich weiß aber genau welche ich haben muss entweder nen image oder nen edit der ne checkbox und weiß auch genau wie viele es sindd....
gibt es da noch ne andere möglichkeit!?

DeddyH 23. Sep 2008 10:54

Re: Edits und andere Objekte mittels for schleife wählen??
 
Wie gesagt, FindComponent. Aber AFAIK geht diese Methode auch alle Komponenten durch, ist also somit unperformant in Schleifen.

fwsp 23. Sep 2008 11:01

Re: Edits und andere Objekte mittels for schleife wählen??
 
wenn du die edits in einem array abspeicherst, kannst du sie einfach iterieren.

Delphi-Quellcode:
var edits: array[1..15] of TEdit;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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