Criar TRadioGroup em tempo de execução
Pessoal,
Bom dia!
Tenho em um projeto um ClientDataSet com 5 registros e o que eu preciso fazer é criar um TRadioGroup para cada registro que eu tenha em meu ClientDataSet e de maneira que cada um fique abaixo do outro.
Comecei a fazer mas nao estou conseguindo terminar, segue o codigo:
O problema que ja detectei é que estou usando a mesma variavel:
Para criar todos os RadioGroup e de inicio o problema que estou tendo é o ultimo RadioGroup estar sobrepondo o segundo e o terceiro RadioGroup uma vez que eu tenho 5 registros no meu ClientDataSet.
Alguem poderia dar uma força?
Abraços!
Bom dia!
Tenho em um projeto um ClientDataSet com 5 registros e o que eu preciso fazer é criar um TRadioGroup para cada registro que eu tenha em meu ClientDataSet e de maneira que cada um fique abaixo do outro.
Comecei a fazer mas nao estou conseguindo terminar, segue o codigo:
procedure TForm1.Button1Click(Sender: TObject); var Contador, Topo : integer; RG : TRadioGroup; begin Topo := 5; CDS.First; while not CDS.Eof do begin RG := TRadioGroup.Create(nil); try with RG do begin Parent := ScrollBox1; Top := Topo; Left := 5; Caption := CDSPERGUNTA.AsString; for Contador := 0 to DBMemo1.Lines.Count - 1 do begin Items.Add(DBMemo1.Lines.Strings[Contador]); end; Topo := Height + 5; end; finally // FreeAndNil(RG); end; CDS.Next; end; end;
O problema que ja detectei é que estou usando a mesma variavel:
RG : TRadioGroup;
Para criar todos os RadioGroup e de inicio o problema que estou tendo é o ultimo RadioGroup estar sobrepondo o segundo e o terceiro RadioGroup uma vez que eu tenho 5 registros no meu ClientDataSet.
Alguem poderia dar uma força?
Abraços!
Mmoreira
Curtidas 0
Respostas
Mmoreira
01/10/2007
Pessoal,
Ao que parece vou ter que criar um Array de TRadioGroup. Nunca precisei fazer isso entao nao tenho experiencia. Seria algo do tipo:
Obrigado!
Ao que parece vou ter que criar um Array de TRadioGroup. Nunca precisei fazer isso entao nao tenho experiencia. Seria algo do tipo:
procedure TForm1.Button3Click(Sender: TObject); var Comp : array of TComponent; x : Integer; begin x := 0; // for x := 0 to 3 do begin Comp[x] := TRadioGroup.Create(nil); Comp[x].Name := ´Teste´; // end; end;
Obrigado!
GOSTEI 0
Martins
01/10/2007
Pessoal,
Ao que parece vou ter que criar um Array de TRadioGroup. Nunca precisei fazer isso entao nao tenho experiencia. Seria algo do tipo:
Obrigado!
procedure TForm1.Button3Click(Sender: TObject); var Comp : array of TComponent; x : Integer; begin x := 0; // for x := 0 to 3 do begin Comp[x] := TRadioGroup.Create(nil); Comp[x].Name := ´Teste´; // end; end;
Vou ver se tem como fazer isso com recursividade.
bons códigos.
GOSTEI 0