Como validar CEP por estado no Delphi
Aprenda como validar CEPs por Estado, para que não haja problemas no envio de correspondências.
Veja neste artigo como efetuar a validação de CEP utilizando uma função desenvolvida em Delphi chamada ChecaCEP.
Para desenvolver esse exemplo você precisará de um Button e 2 Edits em seu formulário. Veja baixo o código como deverá ficar seu formulário.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function ChecaCEP(cCep: string ; cEstado: string): Boolean;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Tform1.ChecaCEP(cCep: string ; cEstado: string): Boolean;
var
cCEP1 : Integer;
begin
cCep := copy(cCep,1,5) + copy(cCep,7,3);
cCEP1 := StrToInt(copy(cCep,1,3));
if Length(trim(cCep)) > 0 then
begin
if (StrToInt(cCep) <= 1000000.0) then
begin
MessageDlg('CEP tem que ser maior que [01000-000]',mtError,[mbOk],0);
Result := False
end
else
begin
if Length(trim(copy(cCep,6,3))) < 3 then Result := False else
if (cEstado = 'SP') and (cCEP1 >= 10 ) and (cCEP1 <= 199) then Result := True else
if (cEstado = 'RJ') and (cCEP1 >= 200) and (cCEP1 <= 289) then Result := True else
if (cEstado = 'ES') and (cCEP1 >= 290) and (cCEP1 <= 299) then Result := True else
if (cEstado = 'MG') and (cCEP1 >= 300) and (cCEP1 <= 399) then Result := True else
if (cEstado = 'BA') and (cCEP1 >= 400) and (cCEP1 <= 489) then Result := True else
if (cEstado = 'SE') and (cCEP1 >= 490) and (cCEP1 <= 499) then Result := True else
if (cEstado = 'PE') and (cCEP1 >= 500) and (cCEP1 <= 569) then Result := True else
if (cEstado = 'AL') and (cCEP1 >= 570) and (cCEP1 <= 579) then Result := True else
if (cEstado = 'PB') and (cCEP1 >= 580) and (cCEP1 <= 589) then Result := True else
if (cEstado = 'RN') and (cCEP1 >= 590) and (cCEP1 <= 599) then Result := True else
if (cEstado = 'CE') and (cCEP1 >= 600) and (cCEP1 <= 639) then Result := True else
if (cEstado = 'PI') and (cCEP1 >= 640) and (cCEP1 <= 649) then Result := True else
if (cEstado = 'MA') and (cCEP1 >= 650) and (cCEP1 <= 659) then Result := True else
if (cEstado = 'PA') and (cCEP1 >= 660) and (cCEP1 <= 688) then Result := True else
if (cEstado = 'AM') and ((cCEP1 >= 690) and (cCEP1 <= 692) or (cCEP1 >= 694) and
(cCEP1 <= 698)) then Result := True else
if (cEstado = 'AP') and (cCEP1 = 689) then Result := True else
if (cEstado = 'RR') and (cCEP1 = 693) then Result := True else
if (cEstado = 'AC') and (cCEP1 = 699) then Result := True else
if ((cEstado = 'DF') or (cEstado = 'GO')) and (cCEP1 >= 000)and(cCEP1 <= 999)then
Result := True else
if (cEstado = 'TO') and (cCEP1 >= 770) and (cCEP1 <= 779) then Result := True else
if (cEstado = 'MT') and (cCEP1 >= 780) and (cCEP1 <= 788) then Result := True else
if (cEstado = 'MS') and (cCEP1 >= 790) and (cCEP1 <= 799) then Result := True else
if (cEstado = 'RO') and (cCEP1 = 789) then Result := True else
if (cEstado = 'PR') and (cCEP1 >= 800) and (cCEP1 <= 879) then Result := True else
if (cEstado = 'SC') and (cCEP1 >= 880) and (cCEP1 <= 899) then Result := True else
if (cEstado = 'RS') and (cCEP1 >= 900) and (cCEP1 <= 999) then Result := True else
Result := False
end;
end
else
begin
Result := True;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ChecaCEP(Edit1.Text, edit2.text)=true then
showmessage ('cep válido!')
else
showmessage ('cep inválido!');
end;
end.
Confira também
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo