Eu uso assim:
Procedure LimpaCampos(Formulario: TForm); var wi_Count : Integer; begin for wi_Count := 0 to Formulario.ComponentCount - 1 do if Formulario.Components[wi_Count] is TCustomEdit then (Formulario.Components[wi_Count] as TCustomEdit).Clear else if Formulario.Components[wi_Count] is TCombobox then begin (Formulario.Components[wi_Count] as TCombobox).Text := ''; (Formulario.Components[wi_Count] as TCombobox).ItemIndex := 0; end; end; De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de BandaLemuel Enviada em: segunda-feira, 27 de outubro de 2008 12:29 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Erro função limpar todos os Edits Tente assim... procedure LimpaEdit(Form: TForm); var i : Integer; begin for i := 0 to Form.ComponentCount -1 do begin //Adcione este Begin.... if Form.Components[i] is TDBEdit then begin TDBEdit(Form.Components[i]).Text := ''; end //TDBComboBox //Adiciona else else if Form.Components[i] is TDBComboBox then begin TDBComboBox(Form.Components[i]).Text := ''; end; end; //Fecha o Begin q vc criou.... end; O que estava acontecendo é que o laço for que vc criou estava sendo executado apenas a parte do DBEdit... e quando ele tentava o Combobox... dava erro... Tenta ae... Wesley From: Eduardo Melo Sent: Monday, October 27, 2008 7:47 AM To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> Subject: [delphi-br] Erro função limpar todos os Edits Olá Pessoal, Criei um procedimento que limpa todos os DBEdits e DBCombobox do meu formulário, porem rodando o sistema pelo delphi quando chamo esse procedimento ele me retorna o seguinte erro: '..raised exceptiom class EListError with message 'List index out of bounds(43)'' Porem rodando o sistema direto pelo executavel não apresenta nenhum erro. Mas gostaria de saber o porque disso para não ter problemas futuro. Segue o comando: procedure LimpaEdit(Form: TForm); var i : Integer; //ComponentCount: Integer; begin for i := 0 to Form.ComponentCount -1 do if Form.Components[i] is TDBEdit then begin TDBEdit(Form.Components[i]).Text := ''; end; //TDBComboBox if Form.Components[i] is TDBComboBox then begin TDBComboBox(Form.Components[i]).Text := ''; end; end; -- Att Eduardo Melo 3º Sistemas de Informação - Bacharelado www.meloshospedagem.com.br [As partes desta mensagem que não continham texto foram removidas] __________ Information from ESET NOD32 Antivirus, version of virus signature database 3558 (20081027) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]