[Opcional] Untuk memfasilitasi manajemen ketergantungan, saya sarankan menggunakan bos. boss install github.com/viniciussanchez/viacep
Tambahkan folder berikut ke proyek Anda di Project> Options> Resource Compiler> Directs and Condiçonals> Sertakan Jalur Pencarian File
../viacep/src
Anda perlu melakukan penggunaan unit berikut: ViaCEP.Intf , ViaCEP.Core , ViaCEP.Model
uses ViaCEP.Intf, ViaCEP.Core, ViaCEP.Model; Saat berkonsultasi dengan kode pos format yang tidak valid, misalnya: 950100100 (9 digit), 95010A10 (alfanumerik), 95 01010 (ruang), pengembaliannya akan nil .
Metode memvalidasi apakah itu kode pos yang valid atau tidak, pastikan saja bahwa kode pos yang diinformasikan memiliki 8 digit dan semuanya numerik dan dapat diakses sebelum berkonsultasi dengan layanan web melalui antarmuka IViaCEP menggunakan metode Validate .
Saat berkonsultasi dengan kode pos format yang valid namun tidak ada, misalnya: 99999999 , pengembalian juga akan menjadi nil . Ini berarti bahwa kode pos yang dikonsultasikan tidak ditemukan dalam database.
Contoh:
var
ViaCEP: IViaCEP;
begin
ViaCEP := TViaCEP.Create;
if ViaCEP.Validate( ' 01001000 ' ) then
ShowMessage( ' CEP válido ' )
else
ShowMessage( ' CEP inválido ' );
end ; Ingatlah bahwa dalam metode di atas, tidak perlu untuk menghancurkan instance yang dibuat dari kelas TViaCEP , karena menggunakan 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 ; Setelah Anda melakukan konsultasi kode pos, Anda bisa mendapatkan konten yang dikembalikan dalam format JSON menggunakan metode .toJSonstring yang tersedia di kelas TViaCEPClass . Lihat contoh di bawah ini, di mana TMemo diisi dengan isi kueri:
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"
}
Akses formulir dan perbarui online: Perbarui kode pos
Kode Kota IBGE Asal: Situs Akses
Kode Asal GIA/ICMS (SP saja tersedia): Lihat PDF (pp.137)
Viacep - CEP Servis Web Gratis dan Ibge: Situs Akses
