Autor Beitrag
20:30
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Sa 14.07.12 11:28 
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.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var i:integer;

begin
Randomize;
i := Random(21) + 1;
I_[i].Picture := 'C:\...\...'
end;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 14.07.12 23:20 
wie jaenicke sagt, kannst du ein Array anlegen.. beispiel

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var ImageArray: Array[1..21of 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

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!

Für diesen Beitrag haben gedankt: 20:30