Concatenar Nome de Componente com Variável

Delphi

15/10/2015

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

Curtidas 0

Melhor post

Mateus Ribeiro

Mateus Ribeiro

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!
GOSTEI 1

Mais Respostas

Lucas Bernieri

Lucas Bernieri

15/10/2015

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.
GOSTEI 0
POSTAR