ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Estrutura de Repetição FOR e Nome de Edits

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fernandafa
Novato
Novato


Registrado: Quinta-Feira, 4 de Agosto de 2011
Mensagens: 1

MensagemEnviada: Qui Ago 04, 2011 11:30 am    Assunto: Estrutura de Repetição FOR e Nome de Edits Responder com Citação

Sou iniciante em Delphi, então não sei se minha pergunta é ridícula.

Estou fazendo um programa que deve ler Edits do Form.. no entanto eu tenho 119 Edits que ela deve ler..

Pensei em botar uma estrutura de repetição FOR para ela ler por exemplo: txtvalor1.Text, txtvalor2.Text, txtvalor3.Text, txtvalor4.Text.. e por aí vai..
Eu não posso trocar no nome dos Edits para 1,2,3.. porque tbm tenho: txtqnt1, txtqnt2, txtqnt3, txtqnt4...

Mas não sei como fazer isso.. como fazer ele ler o nome do edit usando o para?? Lógico que tem muito mais coisas dentro desse FOR, mas nesse cado, eu queria fazer algo assim:

For i:= 1 to 119 do
begin
if (txtvalor+'i'+.Text) <> '' then
begin
....
end
end

Mas lógico que txtvalor+'i'+.Text não funciona..
Queria saber se existe alguma forma de eu fazer isso..

Eu sei que a explicação ficou confusa.. não estou conseguindo explicar..
Eu precisava da estrutura FOR para não ter que ficar escrevendo o nome dos Edits um a um porque meu código ficaria gigante.

Por favor me respondam!!! Preciso urgente disso!!
Obrigada desde já!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
rafacauly
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 194

MensagemEnviada: Qui Ago 04, 2011 11:37 am    Assunto: Responder com Citação

Voce vai ler todos os edits do form?
Se sim faz assim:
Código:

for i := 0 to ComponentCount -1 do //for que pesquisa em todos os componentes
  if Components[i] is TEdit then //se o componente por um edit
  begin
    if TEdit(Components[i]).Text <> '' then
    begin
       ....
    end;
  end;
end;

_________________
Jesus loves you!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Qui Ago 04, 2011 11:38 am    Assunto: Responder com Citação

tenta assim:

Código:
procedure ...
var x: Integer;
begin
   for x := 1 to ComponentCount do
   begin
      if Components[xx] is TEdit then
      begin
         if (Components[xx] AS TEdit).Name = 'txtvalor'+IntToStr(x) then
         begin
            // PROCEDIMENTO DESEJADO AQUI
            (Components[xx] AS TEdit).Text := 'algo aqui';
         end;
      end;
   end;
end;

_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafacauly
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 194

MensagemEnviada: Qui Ago 04, 2011 11:39 am    Assunto: Responder com Citação

postei 1 segundo antes! hahaha
_________________
Jesus loves you!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Ago 04, 2011 12:07 pm    Assunto: Responder com Citação

Código:
if TCustomEdit(FindComponet('txtvalor'+IntToStr(i))).Text <> '' then
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Qui Ago 04, 2011 12:45 pm    Assunto: Responder com Citação

rafacauly escreveu:
postei 1 segundo antes! hahaha


kakaka
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB