GARANTIR DESCONTO

Fórum Edit #350544

13/12/2007

0

Pessoal,

No meu programa eu crio vários Edits dentro de um Panel em tempo de execução. como faço para alterar o conteúdo de um dos edits criados?

for i:=0 to 10 do
begin
      Edits := TEdit.create(Panel);
      with Edits do
      begin
        Parent := Panel;
        Name := ´edt´ + i;
        Left := 392;
        Top := 19;
        Width := 41;
        Height := 21;
        TabOrder := i;
      end;
end;


Como eu faço para colocar um texto via código no ´edit2´ por exemplo? quando clico em um botao.


Obrigado

[]s[color=blue:d6b9d63f02][/color:d6b9d63f02]


Nshiga

Nshiga

Responder

Posts

13/12/2007

Jakefrog

Se eu entendi bem, seria assim.

Edit2.Text := ´Texto´;

Agora se ele estiver dentro do panel tenta

Panel1.Edit2.Text := ´Texto´;


Responder

Gostei + 0

13/12/2007

Nshiga

Eu não posso colocar dessa forma pois os Edits ainda não estão criados. Eles sào criados em tempo de execução.
Então se eu simplesmente coloco Edit2.text := ´texto´ vai dar erro ao compilar pois o Edit2 não existe. Ele só passa a existir qdo executo a função do for, que cria os edits.


Responder

Gostei + 0

13/12/2007

Edilcimar

Tente fazer um array de Edit[i], se conseguir, você poderá jogar
for I := 1 to 10
Edit[i].text := ´texto´;
não testei, foi apenas uma idéia


Responder

Gostei + 0

13/12/2007

Jakefrog

Bem eu pensei em vc ter colocado após ele ser criado! O.o

vc pode fazer um teste dentro do for,

if i = 2 then
edit.text := ´Texto´

espero q funcione!


Responder

Gostei + 0

13/12/2007

Brunog3

Tente fazer um array de Edit[i], se conseguir, você poderá jogar for I := 1 to 10 Edit[i].text := ´texto´; não testei, foi apenas uma idéia


[b:d19b55bf83]Edit[/b:d19b55bf83][i].text := ´texto´;

O que seria esse Edit, um Array?


[b:d19b55bf83]nshiga[/b:d19b55bf83] Dê uma olhada!

procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  Edits : TEdit;
begin
  for I := 0 to 10 do
  begin
    Edits := TEdit.create(Panel);
    with Edits do
    begin
      Parent := Panel;
      Name := ´edt´ + IntToStr(I);
      //Text := ´´;
      Left := 25;
      Top := 2 + 23 * I;
      Width := 41;
      Height := 21;
      TabOrder := i;
    end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Edit : TComponent;
begin
  Edit := Panel.FindComponent(´edt2´);
  if edit is TEdit then
  begin
    (Edit as TEdit).Text := ´Teste´;
  end;
end;



Responder

Gostei + 0

13/12/2007

Brunog3

Edilcimar
Eu havia lido errado...
O array também daria certo nesse caso...


Responder

Gostei + 0

14/12/2007

Nshiga

brunog3, está dando erro na linha

Edit := panel.FindComponent(´edit2´);

Incompatible types: ´TEdit´ and ´TComponent´


Responder

Gostei + 0

14/12/2007

Bruno Belchior

Edit := (TEdit)(panel.FindComponent(´edit2´));



Responder

Gostei + 0

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

Aceitar