LOOP COM SELEÇÃO DO COMPONENTE ATRAVÉS DO PONTEIRO

Delphi

17/03/2003

ae

Como faço para acesar o componente e mudar alguma propriedade através de um loop.

Ex.:

for i:= 1 to 10 do
labelX.caption := Olá + IntToStr(´i´);

onde o caracter X deveria ser o valor de i, como nao da para usar label+intTostr(i) para selecionar o componente, alguem me ajuda

brigadu


Anonymous

Anonymous

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

17/03/2003

[b:40b10f12cb][color=#012345:40b10f12cb]faça assim:[/color:40b10f12cb][/b:40b10f12cb]

for i := 0 to form1.componentcount do
if components[i] is TLabel then
Tlabel(components[i]).caption := ´Olá ´ + Tlabel(components[i]).name



GOSTEI 0
Anonymous

Anonymous

17/03/2003

eu preciso pegar o componente pelo nome, eu tenho 50 labels no formulario e num loop preciso mudar o valor de 10, sendo cada um um valor diferente de um calculo, com essa rotina eu mudaria a de todas


[quote:b5d5baa2a7=´Marcelo Saviski´][b:b5d5baa2a7][color=#012345:b5d5baa2a7]faça assim:[/color:b5d5baa2a7][/b:b5d5baa2a7]

for i := 0 to form1.componentcount do
if components[i] is TLabel then
Tlabel(components[i]).caption := ´Olá ´ + Tlabel(components[i]).name
[/quote:b5d5baa2a7]


GOSTEI 0
Adilsond

Adilsond

17/03/2003

procedure TForm1.AlteraLabel(Ind: Word; Value: String);
begin
TLabel(FindComponent(´Label´ + IntToStr(Ind))).Caption := Value;
end;


GOSTEI 0
Anonymous

Anonymous

17/03/2003

BRIGADU

procedure TForm1.AlteraLabel(Ind: Word; Value: String); begin TLabel(FindComponent(´Label´ + IntToStr(Ind))).Caption := Value; end;



GOSTEI 0
Bilouro

Bilouro

17/03/2003

eu preciso pegar o componente pelo nome, eu tenho 50 labels no formulario e num loop preciso mudar o valor de 10, sendo cada um um valor diferente de um calculo, com essa rotina eu mudaria a de todas [quote:574444acdc=´Marcelo Saviski´][b:574444acdc][color=#012345:574444acdc]faça assim:[/color:574444acdc][/b:574444acdc]
for i := 0 to form1.componentcount do
if components[i] is TLabel then
Tlabel(components[i]).caption := ´Olá ´ + Tlabel(components[i]).name
[/quote:574444acdc]

na linha for, faça uma pequena atualização:
for i := 0 to form1.componentcount [color=red:574444acdc][size=18:574444acdc]-1[/size:574444acdc][/color:574444acdc] do


GOSTEI 0
POSTAR