[Opcional] 의존성 관리를 용이하게하려면 BOSS를 사용하는 것이 좋습니다. boss install github.com/viniciussanchez/viacep
프로젝트> 옵션> 리소스 컴파일러> Directs and Condiçonals>의 프로젝트에 다음 폴더 추가> 파일 검색 경로 포함
../viacep/src
다음 장치를 사용해야합니다. ViaCEP.Intf , ViaCEP.Core , ViaCEP.Model
uses ViaCEP.Intf, ViaCEP.Core, ViaCEP.Model; 예를 들어 950100100 (9 자리), 95010A10 (Alphanumeric), 95 01010 (공간)과 같은 잘못된 형식 우편 번호를 참조하면 반환이 nil 됩니다.
유효한 우편 번호인지 여부를 검증하는 방법은 정보에 입각 한 우편 번호에 8 자리가 8 자리가 있고 Validate 메소드를 사용하여 IViaCEP 인터페이스를 통해 웹 서비스에 컨설팅하기 전에 모두 액세스 할 수 있는지 확인하십시오.
유효하지만 존재하지 않는 형식 우편 번호 (예 : 99999999 를 상담하면 반품은 nil 입니다. 이는 협의 된 우편 번호가 데이터베이스에서 찾을 수 없음을 의미합니다.
예:
var
ViaCEP: IViaCEP;
begin
ViaCEP := TViaCEP.Create;
if ViaCEP.Validate( ' 01001000 ' ) then
ShowMessage( ' CEP válido ' )
else
ShowMessage( ' CEP inválido ' );
end ; 위의 방법에서는 Interface 사용하기 때문에 TViaCEP 클래스의 생성 인스턴스를 파괴 할 필요는 없습니다.
var
ViaCEP: IViaCEP;
CEP: TViaCEPClass;
begin
ViaCEP := TViaCEP.Create;
// Aqui você pode chamar a rotina para validar se é um CEP válido.
CEP := ViaCEP.Get(edtCEPConsultar.Text);
if not Assigned(CEP) then
Exit; // Aqui você pode exibir uma mensagem para o usuário falando que o CEP não foi encontrado.
try
edtJSON.Lines.Text := CEP.ToJSONString;
edtCEP.Text := CEP.CEP;
edtLogradouro.Text := CEP.Logradouro;
edtComplemento.Text := CEP.Complemento;
edtBairro.Text := CEP.Bairro;
edtLocalidade.Text := CEP.Localidade;
edtUF.Text := CEP.UF;
edtDDD.Text := CEP.DDD;
edtIBGE.Text := CEP.IBGE;
edtGIA.Text := CEP.GIA;
finally
CEP.Free;
end ;
end ; 우편 번호 상담을 받으면 TViaCEPClass 클래스에서 사용 가능한 .tojsonstring 메소드를 사용하여 반환 된 컨텐츠를 JSON 형식으로 얻을 수 있습니다. 아래의 예를 참조하십시오. TMemo 쿼리의 내용으로 채워진 예를 참조하십시오.
var
CEP: TViaCEPClass;
begin
Memo.Lines.Text := CEP.ToJSONString;
end ; {
"cep": "01001-000",
"logradouro": "Praça da Sé",
"complemento": "lado ímpar",
"bairro": "Sé",
"localidade": "São Paulo",
"uf": "SP",
"ddd": "",
"ibge": "3550308",
"gia": "1004"
}
양식에 액세스하고 온라인 업데이트 : 우편 번호를 업데이트하십시오
원산지 IBGE 지방 자치 단체 : 액세스 사이트
Origin GIA/ICMS 코드 (SP 만 사용 가능) : PDF보기 (pp.137)
Viacep- 무료 웹 서비스 CEP 및 IBGE : 액세스 사이트
