viacep
v1.0.2
[Opcional]為了促進依賴管理,我建議使用老闆。 boss install github.com/viniciussanchez/viacep
將以下文件夾添加到您的項目>選項>選項>資源編譯器> Direct和Condiçonals>包含文件搜索路徑中
../viacep/src
您將需要使用以下單元: ViaCEP.Intf , ViaCEP.Core , ViaCEP.Model
uses ViaCEP.Intf, ViaCEP.Core, ViaCEP.Model;當諮詢無效格式郵政編碼時,例如: 950100100 (9位), 95010A10 (字母數字), 95 01010 (Space),返回將為nil 。
驗證它是否是有效的郵政編碼的方法,只需確保知情的郵政編碼具有8數字,並且所有數字都可以訪問,並且可以在使用Validate方法通過IViaCEP接口諮詢WebService之前訪問。
例如,當諮詢有效但不存在的格式郵政編碼時,例如: 99999999 ,返回也將nil 。這意味著在數據庫中找不到諮詢的郵政編碼。
例子:
var
ViaCEP: IViaCEP;
begin
ViaCEP := TViaCEP.Create;
if ViaCEP.Validate( ' 01001000 ' ) then
ShowMessage( ' CEP válido ' )
else
ShowMessage( ' CEP inválido ' );
end ;請記住,在上述方法中,不必破壞TViaCEP類創建的實例,因為它使用了Interface 。
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代碼(僅可用):查看PDF(pp.137)
ViaCep-免費網站服務CEP和IBGE:訪問網站
