Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Zufällige Komponente auswählen
20:30 - Sa 14.07.12 11:28
Titel: Zufällige Komponente auswählen
Ich wollte fragen, ob man eine zufällige Komponente auswählen kann.
z.B.:
Ich habe 25 TImages
21 davon sollen sind benannt: I_1, I_2, I_3, etc.
Die restlichen Vier sollen nicht beeinflusst werden, heißen auch jeweils anders.
Jedes Mal soll ein TImage der 21 zufällig ausgesucht werden und mit einem anderem Bild (Picture) belegt werden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var i:integer;
begin Randomize; i := Random(21) + 1; I_[i].Picture := 'C:\...\...' end; |
jaenicke - Sa 14.07.12 11:39
Du kannst die betreffenden Komponenten in ein Array packen und das dann benutzen wie du gerade geschrieben hast.
Alternativ kannst du FindComponent benutzen um ein Image über den Namen zu finden.
IhopeonlyReader - Sa 14.07.12 23:20
wie jaenicke sagt, kannst du ein Array anlegen.. beispiel
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var ImageArray: Array[1..21] of TImage; C: Integer; Kom: TComponent; begin For C:=1 to Components-1 do begin if Kom[C]=TImage then begin (if not(Kom[C] as TImage).Name = 'nicht l_1' then) ImageArray[C] := Kom[C]; end; end; end; |
P.S := Könnten Fehler drin sein, bin mir nicht mehr sicher, wie genau das mit dem Massenkomponentenabfragen ging.. aber vom prinzip her
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!