Eu Faço assim

function Valida(Campo : Integer;)
begin
    Result := True
    if campo = 1 then
    begin
        if edit1.text = '' then
        begin
            Aviso('O Campo tal deve ser preenchido!');
            edit1.SetFocus;
           Result := False
        end;
     end;

    if campo = 2 then

    begin

        if DbDate.Date = 0 then

        begin

            Aviso('O Campo data deve ser preenchido!');

           dbDate.SetFocus;

           Result := False

        end;

     end;

end;

em cada campo que quero testar chamo assim:

if Not valida(1) then
    Abort;

Se preciso testar mais de um:
if (Not valida(1)) or (Not Valida(2)) then

    Abort;


----- Mensagem original ----
De: itasouza <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 5 de Novembro de 2007 13:14:01
Assunto: [delphi-br] Testando campos no delphi









  


    
            Valeu Adriano Santos pelo código exemplo, suas dicas são valiosas.



Mais uma dúvida!!

Amigos



Estou precisando testar alguns campos, então declarei as procedure:



procedure Alteracao1;

procedure Alteracao2;



E tenho o meu código:



procedure TfrmAlteracao. Alteracao1;

begin

//1º teste

if DBEditInicialAltera cao1.Text = DBEditInicioEfetiva da.Text then

begin

if Application. MessageBox( 'A Data Inicial Efetivada está igual a

anterior, Deseja Alterar?','Confirme ',MB_YESNO+ MB_ICONQUESTION) =

MRYES then

begin

DBEditInicialAltera cao1.SetFocus;

Exit;

end;

end

end;



procedure TfrmAlteracao. Alteracao2;

begin

//2º teste

if DBEditFinalAlteraca o1.Text = DBEditFinalEfetivad a.Text then

begin

if Application. MessageBox( 'A Data Final Efetivada está igual a

anterior, Deseja Alterar?','Confirme ',MB_YESNO+ MB_ICONQUESTION) =

MRYES then

begin

DBEditFinalAlteraca o1.SetFocus;

Exit;

end;

end

end;



O problema e que precisava fazer os dois testes dentro de uma só

procedure pois da forma que está o sistema não da tempo para

alteração e já vai testando o outro campo na seqüência., o correto

seria jogar o foco no campo e parar caso a alternativa seja sim, se a

alternativa for não, então ele testa o outro campo seguindo a mesma

seqüência.



Alguém poderia dizer o que está errado ou faltando neste código?



Agradeço..





    
  

    
    




<!--

#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
-->



<!--

#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
-->



<!--

#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, 
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}

#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a{
text-decoration:none;}

#ygrp-vital a:hover{
text-decoration:underline;}

#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;}
-->








      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]

Responder a