Fórum Concatenar Nome de Componente com Variável #534561

15/10/2015

0

Olá pessoal,

Eu preciso juntar o nome de um componente (já criado) com uma variável.

Exemplo:
Eu tenho 25 Buttons, 25 Memos e 25 abas do PageCtrl.

O Button1, limpa o Memo1 da ActivePageIndex:=1;
O Button2, limpa o Memo2 da ActivePageIndex:=2;

E assim por diante até:
O Button25, limpa o Memo25 da ActivePageIndex:=25;


Estou utilizando o código abaixo porém sem resultado:

var
tab : integer;
begin
tab := pgctrl_passos.ActivePageIndex;

if (Components[tab]  is TMemo) then
   begin
        if ((Components[tab] as TMemo).name = 'mm_passo_'+inttostr(tab)) then
        begin
        (Components[tab] as TMemo).Lines.Clear;
        end;
   end;


O que estou fazendo de errado?

Desde já agradeço.
Lucas Bernieri

Lucas Bernieri

Responder

Post mais votado

15/10/2015

Boa tarde!

Tenta isso...

var xMemo: TMemo;
begin

  xMemo:= TMemo(FindComponent('mm_passo_'+IntToStr(PageControl1.ActivePageIndex) ));

  if Assigned(xMemo) then // Caso o Memo exista
    xMemo.Clear;


Lembrando que, o "ActivePageIndex" começa com ZERO... então por exemplo, o TAB responsável pelo "MM_PASSO_1" seria a aba 0 (zero), e o "MM_PASSO_5" seria a aba 4 (quarto)... e assim por diante!

Mateus Ribeiro

Mateus Ribeiro
Responder

Gostei + 1

Mais Posts

15/10/2015

Lucas Bernieri

Opa.

Eu tinha utilizado muitos outros códigos antes desse que funcionou perfeitamente.

A codificação vai ser feita a partir da aba 2 (ActivePageIndex := 1),
a primeira aba (ActivePageIndex := 0) é apenas uma aba de instruções ao usuário, sem botões.


Valeu aí Mateus.
Responder

Gostei + 0

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

Aceitar