Ir para conteúdo
  • Cadastre-se

dev botao

AcbrIBGE parou???


  • Este tópico foi criado há 2294 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá,

atualizei o meu trunk2 ontem a noite e estou fazendo uma verificação de todas as funcionalidades e notei que o componente ACBrIBGE não está funcionando. Sempre que busco uma cidade ele retorna a mensagem dizendo Nenhum Município Encontrado

Será que pelas mudanças no site do IBGE parou?

image.png.c8899230a0eeb6646626c7a8e691684c.png

Editado por flexsistemas
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde,

Não sei se vai ser de ajuda para os responsáveis pelos ajustes, mas, provisoriamente, estou fazendo assim para meus usuários terem um acesso mais rápido ao código.

procedure AbreSiteIBGEConsulCodigo(VCidade, VUF : String);
Var
 VLink : String;
 Const 
  VURL = 'https://cidades.ibge.gov.br/brasil/';
begin
 VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final.

 VLink := VURL + lowerCase(VUF) +  '/' + lowerCase(VCidade) + '/panorama';
  
 HlinkNavigateString(nil, PChar(VLink));
end;

 

Abraços.

Editado por valdirdill

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia,

Que tal essa função?

function GetIBGE(VUF, VCidade : String) : String;
Var 
 VConteudo : TStringList;
 I : Integer;
 VAcbrIBGE : TACBRIBGE;
Const
 VURLBase = 'https://cidades.ibge.gov.br/brasil/';
begin
 VConteudo := TStringList.Create;
 VAcbrIBGE := TACBRIBGE.Create(nil);

 try
  VCidade := TiraAcentos(VCidade);
  VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final.

  VAcbrIBGE.HTTPGet(VURLBase + lowerCase(VUF) +  '/' + lowerCase(VCidade) + '/panorama');
  VConteudo.text := VAcbrIBGE.RespHTTP.Text;

  for I := 0 to VConteudo.Count-1 do
   begin
    if (trim(VConteudo[ i ] ) = 'Código do Município') and (pos('class="topo__valor">', VConteudo[I+2]) > 0) then
     result := trim(VConteudo[I+3]);
  end;

 finally
  freeAndNil(VConteudo); freeAndNil(VAcbrIBGE);
 end;
end;

Obs.: aceito sugestões para melhorar.

Abraços!

Editado por valdirdill

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2294 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.