nsouza Postado Agosto 1, 2009 Denunciar Share Postado Agosto 1, 2009 Colegas,eu tenho o campo CEP 35000120 com o maskedit fica 36000-120. Gostaria que quando alguém digita abaixo ou acima de 8 digitos desce a uma mensagem avisando que falta ou excede caracter. O mesmo para o CPF.Obrigado pela sua ajuda desde já? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 1, 2009 Denunciar Share Postado Agosto 1, 2009 Validar CPF e CNPJhttp://www.delphimais.com/modules/wfdownlo...cid=1&lid=2validar CEPhttp://www.devmedia.com.br/articles/viewcomp.asp?comp=833abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nsouza Postado Agosto 2, 2009 Autor Denunciar Share Postado Agosto 2, 2009 Validar CPF e CNPJhttp://www.delphimais.com/modules/wfdownlo...cid=1&lid=2validar CEPhttp://www.devmedia.com.br/articles/viewcomp.asp?comp=833abraçoJhonas,copiei o codigo e fiz tudo como orientado no tutorial. O Problema é que um dos CEP'S DE MG É36050-130 e da a mensagem "Cep inválido" mesmo se eu simular um CEP tipo 45888-555 que não é de MG. Continua a mesma mensagem.Quanto ao CPF veio um arquivo ponto .PAS como procedo neste caso?Obrigado mais uma vez! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 2, 2009 Denunciar Share Postado Agosto 2, 2009 se eu simular um CEP tipo 45888-555 que não é de MG. Continua a mesma mensagem.Se voce observou voce deve digitar o CEP e o Estadoexemplo: No Edit1 voce coloca 45888-555No Edit2 voce coloca BAQuando clicar no botão ele fará uma verificação se este CEP é realmente da Bahiaprocedure TForm1.Button1Click(Sender: TObject); begin if ChecaCEP(Edit1.Text, Edit2.text)=true then showmessage ('cep válido!') else showmessage ('cep inválido!'); end; Veja estes tópicos http://www.forumweb.com.br/foruns/index.php?showtopic=49021 http://scriptbrasil.com.br/forum/index.php...st&p=455417 Outra dica Formatar CEP { Esta função forma CEP como: 99.999-999 } function tbFormataCEP(const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then raise Exception.Create('CEP inválido.') else Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); end; === Para testar === - Coloque um Edit e um Button no form; - No evento OnClick do Button coloque a instrução abaixo: Edit1.Text := tbFormataCEP(Edit1.Text); Observações Para formatar outros códigos como CPF, CGC, etc., pode-se usar a mesma idéia. Autor: Daniel P. GuimarãesQuanto ao CPF veio um arquivo ponto .PAS como procedo neste caso?Este arquivo voce deve copiar e colar no seu form ou adicioná-lo ao seu projetoabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nsouza Postado Agosto 3, 2009 Autor Denunciar Share Postado Agosto 3, 2009 Validar CPF e CNPJhttp://www.delphimais.com/modules/wfdownlo...cid=1&lid=2validar CEPhttp://www.devmedia.com.br/articles/viewcomp.asp?comp=833abraçoJhonas,copiei o codigo e fiz tudo como orientado no tutorial. O Problema é que um dos CEP'S DE MG É36050-130 e da a mensagem "Cep inválido" mesmo se eu simular um CEP tipo 45888-555 que não é de MG. Continua a mesma mensagem.Quanto ao CPF veio um arquivo ponto .PAS como procedo neste caso?Obrigado mais uma vez!Mas foi isso que eu fiz. o Edit um equivale ao mkeCep do meu programa e o edit 2 equivale a cbStado. ai fica 36000-10 (maskedit) e MG(Combobox) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 3, 2009 Denunciar Share Postado Agosto 3, 2009 nsouza ... veja um exemplo mais simplesunit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask; type TForm1 = class(TForm) Button1: TButton; MaskEdit1: TMaskEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} Function ValidarCEP(const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then begin //ShowMessage('CEP Inválido'); //Form1.MaskEdit1.SetFocus; end else begin Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); ShowMessage('CEP Válido'); end; end; function FormataCEP(const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then begin ShowMessage('CEP Inválido'); Form1.MaskEdit1.SetFocus; //raise Exception.Create('CEP inválido.') end else Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); end; procedure TForm1.Button1Click(Sender: TObject); begin MaskEdit1.Text := FormataCEP(MaskEdit1.Text); ValidarCEP(MaskEdit1.Text); end; end.Se voce digitar no MaskEdit1 menos de 8 digitos ou mais de 8 .. aparecerá a mensagem de CEP Inválidoe o cursor voltará ao MaskEdit1 para digitar novamenteabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nsouza Postado Agosto 3, 2009 Autor Denunciar Share Postado Agosto 3, 2009 nsouza ... veja um exemplo mais simplesunit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask; type TForm1 = class(TForm) Button1: TButton; MaskEdit1: TMaskEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} Function ValidarCEP(const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then begin //ShowMessage('CEP Inválido'); //Form1.MaskEdit1.SetFocus; end else begin Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); ShowMessage('CEP Válido'); end; end; function FormataCEP(const CEP: string): string; var I: integer; begin Result := ''; for I := 1 to Length(CEP) do if CEP[I] in ['0'..'9'] then Result := Result + CEP[I]; if Length(Result) <> 8 then begin ShowMessage('CEP Inválido'); Form1.MaskEdit1.SetFocus; //raise Exception.Create('CEP inválido.') end else Result := Copy(Result, 1, 2) + '.' + Copy(Result, 3, 3) + '-' + Copy(Result, 6, 3); end; procedure TForm1.Button1Click(Sender: TObject); begin MaskEdit1.Text := FormataCEP(MaskEdit1.Text); ValidarCEP(MaskEdit1.Text); end; end.Se voce digitar no MaskEdit1 menos de 8 digitos ou mais de 8 .. aparecerá a mensagem de CEP Inválidoe o cursor voltará ao MaskEdit1 para digitar novamenteabraçoJhonas muito obrigado(Resolvido) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
nsouza
Colegas,
eu tenho o campo CEP 35000120 com o maskedit fica 36000-120.
Gostaria que quando alguém digita abaixo ou acima de 8 digitos desce a uma mensagem avisando que falta ou excede caracter.
O mesmo para o CPF.
Obrigado pela sua ajuda desde já?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.