Fórum Componente label #335568
03/01/2007
0
Eu preciso criar um flexibilidade em exibir determinadas informações e esta exibição é por meio de label espalhados pelo formulários porém não estou conseguindo definir o código. Atualmente tenho o seguinte código:
var comp, componente : string; posicao: integer; begin comp :=´label´; posicao := 1; componente:=comp+IntToStr(posicao); // Como fazer componente.caption := ´ouvidoria´; end;
e na linha COMPONENTE.CAPTION eu precise fazer alguma validação porém desconheço qual seja.
Fico o aguardo de um ajuda e obrigado.
Att,
Wagner
Wagnermarrane
Curtir tópico
+ 0Posts
03/01/2007
Leonardobhbr
ve se isto ajuda
[color=green:159332874e]
// Varro por todos os components no Form.
for i := 0 to ComponentCount - 1 do begin
//Verifico se o componente é da Classe TLabel.
if(Components[i] is TLabel)then begin
//Se for verifico se o nome dele é igual a ´nome´.
if(Components[i] as TLabel).Name = ´nome´)then
//Se for mudo o caption dele.
(Components[i] as TLabel).Caption:= ´Teste´;
end;
end;
[/color:159332874e]
Gostei + 0
03/01/2007
Leonardobhbr
[color=green:f7c5114693]
var
comp : TComponent;
begin
//Verifico se existe o comp. com o nome de Label1.
comp := FindComponent(´Label1´);
//Se existir ele ira retornar diferente de nil.
if(comp <> nil)then
//mudo o Caption do comp.
(comp as TLabel).Caption := ´teste´
else
//Se não achar se quiser validar.
raise Exception.Create(´erro´);
[/color:f7c5114693]
Espero ter ajudado com uma das duas resposta.
Gostei + 0
03/01/2007
Wagnermarrane
Gostei + 0
03/01/2007
Wagnermarrane
var comp : TComponent; componente, nome : String; posicao : integer; begin componente := ´Label´; posicao := 1; nome := componente + IntToStr(posicao); label2.Caption:=nome; if (comp as TLabel).Name = nome then (comp as TLabel).Caption := ´teste´; end;
Gostei + 0
03/01/2007
Wagnermarrane
Gostei + 0
03/01/2007
Wagnermarrane
Leonardo deu certo, muito obrigado
Abaixo o código q estou usando
var componente, nome : String; posicao,i : integer; begin componente := ´Label´; posicao := 1; for i := 0 to ComponentCount - 1 do begin nome := componente + IntToStr(posicao); if(Components[i] is TLabel) then begin if(Components[i] as TLabel).Name = nome then (Components[i] as TLabel).Caption:= ´Ouvidoria´; end; posicao:= posicao +1; end; end;
Gostei + 0
03/01/2007
Leonardobhbr
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)