Acessando Componente em um Tabsheet

01/07/2008

1

Estou criando um programa que cria vários Tabs dinnamicamente, pois não sei quantas tabs serão necessárias. Cada TabSheet, que estão dentro de um PageControl, possui um Edit. Eu criei um frame e coloquei o edit e sempre adiciono o frame quando preciso de uma nova aba. A minha questão é: Como posso retirar o valor do Edit que é diferente em cada aba?

Tentei o seguinte:

PageControl1.ActivePage.Components[0].Components[0].Text

Sendo o primeiro components o frame e o segundo o edit. Entretanto, não deu certo.

E2003 Undeclared identifier: ´Text´


Responder

Posts

01/07/2008

Altingon

Eu fiz o codigo abaixo para quando o usuario teclar F5 e o componente for do tipo data ele joga a data atual, a lógica seria +- essa...adapte para vc..

 
for i:=0 to Screen.ActiveForm.ComponentCount-1 do
  if Screen.ActiveForm.Components[i] is TJVDateEdit then
    begin
        if (Screen.ActiveForm.Components[i] as  TJVDateEdit).Focused = true then
         (Screen.ActiveForm.Components[i] as TJVDateEdit).Date := now;
    end;


O segredo é perguntar se o componente é do tipo texto....


Responder

01/07/2008

Renatorm

Muito obrigado, funcionou direitinho aqui. Só para complementar meu código ficou assim:

if (PageControl1.ActivePage.Components[0].Components[0] is TEdit) then
  Showmessage(PageControl1.ActivePage.Components[0].Components[0] as TEdit).Text);


Fiz esse código ai só para ver se estava pegando o valor do campo certo. Muito Obrigado [b:0e3d372f2a]altingon[/b:0e3d372f2a]!


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira