Ciao a tutti,
sto creando un nuovo progetto che, tra le altre cose, fa questo:
- all'apertura, come prima cosa, legge un file di testo in cui ci sono una frase per ogni riga
- per ogni riga letta, deve creare un TCheckBox la cui Caption è uguale alla riga letta
Visto che non so a priori quante ne dovrò creare, le creo a runtime così:
with TCheckBox.Create(Form1) do begin
Name:='CheckBox' + PreparaNumeroPerNomeComp(IdxCatg);
Caption:=RigaLetta;
Checked:=True;
Left:=296;
Height:=24;
Top:=WrkTop;
Width:=24;
TabOrder:=GestTabOrder;
Parent:=Form1;
end;
Per farla breve, ogni TCheckBox creata si chiamerà CheckBox001, CheckBox002, ecc.
Al momento, quando poi devo andare a vedere se una di loro è Checked o no, faccio così:
for Idx:=0 to Form1.ComponentCount - 1 do begin
NomeComp:=Form1.Components[Idx].Name;
if (NomeComp = 'TCheckBox001') then begin
.........................
end;
end;
C'è qualche modo per referenziare direttamente l'oggetto che mi interessa, senza farli passare tutti e scegliere quello che mi interessa in base al nome?
Grazie in anticipo, Mario