Fórum Indice de componentes #245491

03/08/2004

0

Olá pessoal,
Programava em VB e lá eu conseguia criar um índice de componentes tipo tinha 10 caixas de texto, então eu colocava todas com o mesmo nome e mudava somente o indice para 1, 2, 3 etc. Entao poderia fazer algo do tipo:
For i := 1 to 10 do
caixatexti(i).text := ´3´

Assim o sistema alterava o valor de todas as caixas nomeadas como caixatexti com indice de um até dez sem precisar fazer um a um.

Aguém sabe como fazer algo parecido em Delphi?

Desde já agradeço.


Alfadesign

Alfadesign

Responder

Posts

03/08/2004

Marcelo Saviski

um modo
for I := 1 to 10 do
  TEdit(FindComponent(´Edit´ + IntToStr(I))).Text := IntToStr(I);


ou tb poderia criar um array

var
  Edit: array[0..9] of TEdit;

inicializar
  Edit[0] := Edit1;
  Edit[1] := Edit2;
  Edit[2] := Edit3;
  ....
  Edit[9] := Edit10;


e depois usar

for I := 0 to 9 do
  Edit[I/].Text := IntToStr(I);


também poderia usar um TList

para reutilizar o mesmo código em eventos p/ componentes vc usa o Sender, que é o componente, no caso do vb ele passa o Index, no Delphi Sender corresponde ao componente

por exemplo, selecione todos os edits, e clique duplo no evento onExit, digite isso:
TEdit(Sender).Text := ´Outro Texto´;


talvez vc esteja acostumado, mas eu não sinto nenhuma falta do Index´s


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar