BuscaCEP
v2.1.5
BuscaCEP是一个用于查询在线地址的库,允许按 CEP(邮政地址代码)或街道(UF、地点和街道)进行搜索。
BuscaCEP 采用Delphi
语言实现,使用流畅界面的概念来指导库的使用,旨在提供实用性和效率, BuscaCEP集成了市场上的主要参与者:Correios、ViaCEP、BrasilAPI 等。
对于寻求强大、灵活且高效的解决方案以将在线地址查询集成到其应用程序中的 Delphi 开发人员来说,该库是理想的选择。
使用Boss (Delphi 的依赖管理器)可以自动安装该库。
boss install https://github.com/antoniojmsjr/BuscaCEP
如果您选择手动安装,只需将以下文件夹添加到您的项目中,位于“项目”>“选项”>“Delphi 编译器”>“目标”>“所有配置”>“搜索路径”下
.. BuscaCEP Source
提供者 | 你使用APIKey吗? | 按邮政编码搜索? | * 寻找公共场所? |
---|---|---|---|
邮件 | 不 | 是的 | 是的 |
通过CEP | 不 | 是的 | 是的 |
巴西API | 不 | 是的 | 不 |
打开CEP | 是的 | 是的 | 是的 |
虚拟共和国 | 不 | 是的 | 不 |
正确的邮政编码 | 不 | 是的 | 是的 |
霸王主机 | 是的 | 是的 | 不 |
波斯特蒙 | 不 | 是的 | 不 |
免费CEP | 是的 | 是的 | 是的 |
打开CEP | 是的 | 是的 | 是的 |
环境政策应用程序接口 | 是的 | 是的 | 是的 |
巴西公开赛 | 是的 | 是的 | 是的 |
很棒的API | 不 | 是的 | 不 |
* 使用街道地址查询,需要三个必填参数: State、City 和 Street 。
为了在返回查询时提供该位置的 IBGE 代码和 DDD 代码,根据 IBGE 位置 API 和 Anatel 提供的数据创建了BuscaCEP .dat文件。
项目文件夹中提供了示例:
.. BuscaCEP Samples
按邮政编码查询
uses
BuscaCEP , BuscaCEP .Types, BuscaCEP .Interfaces, System.SysUtils;
var
l BuscaCEP Response: I BuscaCEP Response;
lMsgError: string;
begin
try
l BuscaCEP Response := T BuscaCEP .New
// .SetArquivoCache() [OPCIONAL]
.Providers[T BuscaCEP ProvidersKind.Correios]
// .SetAPIKey() [CONFORME O PROVEDOR]
.Filtro
.SetCEP( ' 90520-003 ' )
.Request
// .SetTimeout() [OPCIONAL]
.Execute;
except
on E: E BuscaCEP Request do
begin
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
end ;
end ;
街道咨询
uses
BuscaCEP , BuscaCEP .Types, BuscaCEP .Interfaces, System.SysUtils;
var
l BuscaCEP Response: I BuscaCEP Response;
lMsgError: string;
begin
try
l BuscaCEP Response := T BuscaCEP .New
// .SetArquivoCache() [OPCIONAL]
.Providers[T BuscaCEP ProvidersKind.Correios]
// .SetAPIKey() [CONFORME O PROVEDOR]
.Filtro
.SetLogradouro( ' Avenida Plínio Brasil Milano ' )
.SetLocalidade( ' Porto Alegre ' )
.SetUF( ' RS ' )
.& End
.Request
// .SetTimeout() [OPCIONAL]
.Execute;
except
on E: E BuscaCEP Request do
begin
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
end ;
end ;
查询结果 [I BuscaCEP响应]
uses
BuscaCEP .Types, BuscaCEP .Interfaces;
var
l BuscaCEP Response: I BuscaCEP Response;
l BuscaCEP Logradouro: T BuscaCEP Logradouro;
begin
for l BuscaCEP Logradouro in l BuscaCEP Response.Logradouros do
begin
l BuscaCEP Logradouro.Logradouro;
l BuscaCEP Logradouro.Complemento;
l BuscaCEP Logradouro.Unidade;
l BuscaCEP Logradouro.Bairro;
l BuscaCEP Logradouro.Localidade.Nome;
l BuscaCEP Logradouro.Localidade.IBGE;
l BuscaCEP Logradouro.Localidade.DDD;
l BuscaCEP Logradouro.Localidade.Estado.Nome;
l BuscaCEP Logradouro.Localidade.Estado.IBGE;
l BuscaCEP Logradouro.Localidade.Estado.Sigla;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.Nome;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.IBGE;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.Sigla;
l BuscaCEP Logradouro.CEP;
end ;
查询结果[JSON]
{
"provider" : " #CORREIOS " ,
"date_time" : " 2024-05-01T02:35:14.772-03:00 " ,
"request_time" : " 75ms " ,
"total" : 1 ,
"logradouros" : [
{
"logradouro" : " Avenida Plínio Brasil Milano " ,
"complemento" : " de 1947 ao fim - lado ímpar " ,
"unidade" : " " ,
"bairro" : " Passo da Areia " ,
"cep" : " 90520003 " ,
"localidade" : {
"ibge" : 4314902 ,
"ddd" : 51 ,
"nome" : " Porto Alegre " ,
"estado" : {
"ibge" : 43 ,
"nome" : " Rio Grande do Sul " ,
"sigla" : " RS " ,
"regiao" : {
"ibge" : 4 ,
"nome" : " Sul " ,
"sigla" : " S "
}
}
}
}
]
}
下载:演示.zip
BuscaCEP
是根据以下协议许可的免费开源软件