Fórum Percorrer todos os componentes Edit do form e limpá-los #229898

04/05/2004

0

O que eu estou precisando é o seguinte:

quero fazer um procedimento onde eu simplesmente chamo: ´limpatela´ e ele percorre todos os meus Edit´s do form ativo e limpa o texto dos mesmo. Eu tentei o código abaixo, ele percorreu todos componentes mas não funcionou:

for i:= 0 to (formPrincipal.ComponentCount -1) do
begin
formPrincipal.Components[formPrincipal.ComponentIndex].

if formPrincipal.Components[i] is TEdit then
TEdit(formPrincipal.Components[formPrincipal.ComponentIndex]).text := ´teste´;
end;

Agradeço desde já.


Wkx85

Wkx85

Responder

Post mais votado

04/05/2004

veja se assim funciona,
  for i := Nome_Form.ComponentCount -1 downto 0 do
  begin
    if (Nome_Form.Components[i] is TEdit) then
       (Nome_Form.Components[i] as TEdit).text := ´´;
  end;



Fer_nanda

Fer_nanda
Responder

Gostei + 3

Mais Posts

04/05/2004

Wkx85

Funcionou, valew


Responder

Gostei + 2

04/05/2004

Paulo_amorim

Olá

Por que [b:594dfac8fa]downto 0[/b:594dfac8fa] e não [b:594dfac8fa]de 0 ateh ComponentCount -1[/b:594dfac8fa] ?

Entendo que funciona...soh queria saber se tem alguma coisa em especial

Até+

veja se assim funciona,
  for i := Nome_Form.ComponentCount -1 downto 0 do
  begin
    if (Nome_Form.Components[i] is TEdit) then
       (Nome_Form.Components[i] as TEdit).text := ´´;
  end;



Responder

Gostei + 0

04/05/2004

Fer_nanda

o problema naum está no contador estar ao contrário, coloquei assim pq costumo fazer jah...pode ser o contrário, sem problemas.
acredito q o q estava errado é a questão de como ele atribuia
TEdit(formPrincipal.Components [formPrincipal.ComponentIndex]).text := ´teste´

me corrijam se estiver errada, mas acho q é isso.


Responder

Gostei + 0

04/05/2004

Wkx85

Fenanda, vc está correta.

Esse código:

TEdit(formPrincipal.Components
[formPrincipal.ComponentIndex]).text := ´teste´

está errado, correto seria:

TEdit(formPrincipal.Components[i]).text := ´teste´

É exatamente onde eu errei.

Falows


Responder

Gostei + 0

19/04/2017

Carlos Eduardo

Bem eu me deparei com o seguinte problema Quando meu botao estiver em um panel ?
ou
se eu implementar um Form Default e eu nao sei o nome do meu form?

Entao fiz dessa forma bem provavel de ter metodos mais facil kkk

procedure LimpaEdit(Sender: TObject);
var
	i: Integer; { Contador }
	Objeto : TComponent;{ Armazenar o Objeto }
	caminho : String;{ Apenas para Armazenar a String do Caminho do botão }
begin
	Objeto := TForm(Sender);{ A variavel Recebe um Objeto to Form como  Parametro }

	{ Faz um loop Ate Achar a classe TForm }
	while Objeto.ClassType <> TForm do
	begin
	
		Caminho := Caminho + ' >> '+ TForm(Objeto).Name;{ Apenas Para Analizar o Caminho Percorrido }

		if Objeto is TForm then break;{ O objeto armazenado é um TForm ? Se sim saia do loop }

		{ Se objeto tiver um parent Disponivel faça... }
		if (TForm(Objeto).Parent <> nil) then
			Objeto := TForm(TForm(Objeto).Parent);
			
	end;
	ShowMessage(caminho);
	
	{ Caso tenha Chegado ate aqui minha variavel Objeto armazena um TForm }
	{ Com Isso Varro Todos Edits do meu form }
	for i := TForm(Objeto).ComponentCount - 1 downto 0 do
	begin
		if TForm(Objeto).Components[i] is TEdit then
			TEdit(TForm(Objeto).Components[i]).Text := 'passei por Aqui!';
	end;
end;


perdão So tenho alguns meses de Delphi kkk
Responder

Gostei + 0

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

Aceitar