Re: RES: RES: [delphi-br] Rotina para limpar campos dando problemas me unit sem form

2006-09-04 Por tôpico Welson Avelar
--- Gilson escreveu:
 (...)
 Mas o bom da história é q agora com a colaboração de
 todos ficou show!!
 
 []'s
 
 Gilson 
[--x--]

[Welson] É como diz o velho deitado: Duas cabeças pensam melhor do que uma.
Se bem que aqui foram mais de duas, mas enfim, a frase é isso aí. ^_^

[]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
=



___ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com


-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





RES: RES: [delphi-br] Rotina para limpar campos dando problemas me unit sem form

2006-09-01 Por tôpico Gilson
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