Eduardo,
Realmente vc tem razão, só depois é q percebi a real necessidade do colega e
vi q não estava 100%. Mas o bom da história é q agora com a colaboração de
todos ficou show!!
[]'s
Gilson
-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Eduardo
Enviada em: sexta-feira, 1 de setembro de 2006 09:27
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Rotina para limpar campos dando problemas me
unit sem form
Gilson, desta forma não vai resolver o problema por q dentro da classe
não existe estes obejetos.
Mas a sua ideia melhoraria a rotina disponibilizada pelo Rogerio Martins.
procedure LimparCampos(pai: TForm)
begin
for i := 0 to pai.ComponentCount -1 do
begin
if (pai.Components[i] is TCustomEdit) then
TCustomEdit(pai.Components[i]).Clear;
end;
end;
Eduardo
Gilson escreveu:
Experimente usar desta forma:
procedure TNomedoFormulario.LimparCampos;
var
I: Integer;
Temp: TComponent;
begin
for I := ComponentCount - 1 downto 0 do
begin
Temp := Components[I];
if (Temp is TCustomEdit) then
begin
TCustomEdit(Components[i]).Clear;
end;
end;
end;
Desta forma, todos os componentes que descendem de TCustomEdit (edits,
maskedits, etc...) serão limpos!
[]'s
Gilson
-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Welson Avelar
Enviada em: quinta-feira, 31 de agosto de 2006 17:54
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Rotina para limpar campos dando problemas me unit
sem form
--- Praxis escreveu:
(...)
unit uApoio;//não está acoplada a um form
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, Mask, StdCtrls, Buttons, ExtCtrls, DBCtrls;
//Exporta método pra outra unit
procedure LimparCampos;
implementation
uses ModuloDados, DateUtils, DB, IBQuery;
procedure LimparCampos;
var i : integer;
begin
for i := 0 to ComponentCount -1 do
begin
if (Components[i] is TEdit) Then
(Components[i] as TEdit).Clear;
if (Components[i] is TMaskEdit) then
(Components[i] as TMaskEdit).Clear;
end;
end;
end.
[--x--]
[Welson] Passe um form como parâmetro. É assim que usamos aqui na empresa:
procedure LimpaForm(Form: TForm);
var i: integer;
begin
{ *** Percorre todos os Componentes do Form *** }
for i := 0 to Form.ComponentCount - 1 do
begin
{ *** LabeledEdit *** }
if (Form.Components[i] is TLabeledEdit) then
TLabeledEdit(Form.Components[i]).Clear
{ *** Edit *** }
else if (Form.Components[i] is TEdit) then
TEdit(Form.Components[i]).Clear
{ *** ComboBox *** }
else if (Form.Components[i] is TComboBox) then
TComboBox(Form.Components[i]).ItemIndex := -1
{ *** Radio Group *** }
else if (Form.Components[i] is TRadioGroup) then
TRadioGroup(Form.Components[i]).ItemIndex := -1
{ *** Radio Button *** }
else if (Form.Components[i] is TRadioButton) then
TRadioButton(Form.Components[i]).Checked := False
{ *** Memo *** }
else if (Form.Components[i] is TMemo) then
TMemo(Form.Components[i]).Lines.Clear
{ *** CheckBox *** }
else if (Form.Components[i] is TCheckBox) then
TCheckBox(Form.Components[i]).Checked := False
{ *** MaskEdit *** }
else if (Form.Components[i] is TMaskEdit) then
TMaskEdit(Form.Components[i]).Clear
end;
end;
Atente para o typecast: se você faz antes (Form.Components[i] is
TMaskEdit),
então faça o 'cast' diretamente com TMaskEdit(Form.Components[i]).Clear.
Uma
vez o Daniel Poliblablabla (não sei escrever o sobrenome dele -_-')
explicou
a
diferença disso, mas sinceramente não me lembro.
[]s.
=
O que me preocupa não é o grito dos maus. É o silêncio dos bons.
Martin Luther King.
=
Welson de Avelar Soares Filho
Analista/Programador Delphi
Gemini Sistemas
www.geminisistemas.com.br
Juiz de Fora - Minas Gerais
=
___
Você quer respostas para suas perguntas? Ou você sabe muito e quer
compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
___
Você quer respostas para suas perguntas? Ou você sabe muito e quer
compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links