Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
fernandafa Novato
Registrado: Quinta-Feira, 4 de Agosto de 2011 Mensagens: 1
|
Enviada: Qui Ago 04, 2011 11:30 am Assunto: Estrutura de Repetição FOR e Nome de Edits |
|
|
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 |
|
|
rafacauly Aprendiz
Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 194
|
Enviada: Qui Ago 04, 2011 11:37 am Assunto: |
|
|
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 |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qui Ago 04, 2011 11:38 am Assunto: |
|
|
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 |
|
|
rafacauly Aprendiz
Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 194
|
Enviada: Qui Ago 04, 2011 11:39 am Assunto: |
|
|
postei 1 segundo antes! hahaha _________________ Jesus loves you! |
|
Voltar ao Topo |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Ago 04, 2011 12:07 pm Assunto: |
|
|
Código: | if TCustomEdit(FindComponet('txtvalor'+IntToStr(i))).Text <> '' then |
|
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qui Ago 04, 2011 12:45 pm Assunto: |
|
|
rafacauly escreveu: | postei 1 segundo antes! hahaha |
kakaka _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
|