ciao a tutti....
sono disperato perchè non riesco a sbloccare una situazione.
un pulsante deve generare n numeri casuali e riditrubuirli tra le caption di n groupbox contenute in n tframe... solo che non riesco a fare nulla di tutto ciò...
MainForm
-->pulsante Crea Frame (btnNuovoFrame)
-->pulsante Genera Numeri (Button1)
-->pannello contenitore del frame (pannello)
TFrmGriglia è il frame di cui sopra
gbox è la groupbox da modificare
una variabile publica (ngriglie) inizializzata a 0 OnFormCreate (MainForm) tiene conto di quanti frame il pulsante Crea genera.
codice:
procedure TMainForm.btnNuovoFrameClick(Sender: TObject);
begin
ngriglie:=ngriglie+1;
with TFrmGriglia.Create(pannello) do
begin
parent:=pannello;
left:=sn; {gestione posizionamento}
top:=115; //idem
Inc(sn,115); // "
name:='frmGriglia'+IntToStr(i); //creazione di nome univoco
Inc(i);
gbox.Caption:='Mia Capation'; //caption standard e statica
Inc(let);
cont:=cont+1;
end;
end;
questa procedura genera ad ogni click un frame che al suo interno presenta la groupBox gbox.
io vorrei che un altro pulsante generasse una serie di valori numerici casuali e li inserisse all'interno delle gbox.Caption.
tralasciando la gestione del vettore che memorizza i dati casuali da 1 a ngriglie, vorrei sapere come si fa ad alterare il testo delle caption da codice, tenendo conto che i frame non son presenti su form, ma vengono generati a runtime dall'utente.
avevo provato così (gazie ad alka)
codice:
for i := 0 to pannello.ComponentCount - 1 do
begin
if (pannello.Components[i] is TGroupBox) then
TGroupBox(pannello.Components[i]).Caption := Ncasuale[i];
end;
ma così non succede nulla
idee o miracoli?
grazie e