Ir para conteúdo
  • Cadastre-se

dev botao

Falha na busca de cidades do ACBrIBGE


Ver Solução Respondido por wilson_jr,
  • Este tópico foi criado há 2016 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Ao carregar a lista de cidades, este componente não estava convertendo o UTF8. Eu fiz um ajuste no código pra funcionar corretamente a busca por cidades que contenham acentos.

Favor verificar se esta modificação procede, aqui pra mim funcionou! Obrigado!

Segue arquivo fonte em anexo

ACBrIBGE.pas

Postado

Bom dia Daniel, fiz o teste com esta unit, porém o problema persiste. Ele está encontrando a cidade, mas encontra por ser o nome mais próximo do pesquisado. No meu exemplo,  a cidade pesquisada é "Tubarão" (SC), e ao debugar, na rotina "fListaCidades.Find" na linha 938, dentro da subrotina "CompCidadeMunicipioAsc" onde ele compara o "MunicipioIdx", o nome da cidade aparece como "Tubarão". Estes nomes também ficam desta forma no arquivo de cache ACBrIBGE.txt.

Obrigado pela atenção!

  • Fundadores
Postado

Testei em um Delphi Rio e funcionou a contento...

image.png

 

Acho que o seu arquivo de Cache ACBrIBGE.txt, está com o Encoding errado... experimente apagar esse arquivo e testar novamente...

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

O problema estava no arquivo de cache mesmo, apagando resolveu! Eu achei que o arquivo era substituído ao salvar novamente a lista de cidades... Muito Obrigado!!

  • Fundadores
Postado
22 minutos atrás, leandroksc disse:

O problema estava no arquivo de cache mesmo, apagando resolveu! Eu achei que o arquivo era substituído ao salvar novamente a lista de cidades... Muito Obrigado!!

Tem um propriedade com o número de Dias de validade do arquivo de Cache

CacheDiasValidade: Integer default 0

0 - não apaga nunca o Cache

  • Obrigado 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 1 mês depois ...
Postado

Boa tarde, 

Em meu sistema está ocorrendo o mesmo problema. Observação: Atualizei somente a unit do IBGE.

já ativei/desativei as propriedades de isUTF8 e TextParse para testar e não está localizando cidades com acento.

A cada teste exclui o arquivo cache, mas aparentemente ele está ok, só no Delphi Xe7 que fica errado.

Há mais alguma coisa que possa verificar?

Grato!

Wilson

ibge.png

  • Fundadores
Postado

Apague o arquivo de Cache, e deixe um BkPoint no método abaixo:


function TACBrIBGE.UnZipDoc: String;
var
  CT, UnZipStr: String;
  RespIsUTF8: Boolean;
begin
  UnZipStr := UnZip(HTTPSend.Document);

  CT := LowerCase( GetHeaderValue('Content-Type:') );
  RespIsUTF8 := (pos('utf-8', CT) > 0);
  if RespIsUTF8 then
    Result := UTF8ToNativeString(UnZipStr)
  else
    Result := UnZipStr;
end;    

Observe se o método UTF8ToNativeString é invocado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Solution
Postado

Boa tarde Daniel!

Falha minha! durante minhas férias o outro programador alterou a pasta do nosso ACBR.

Olhei várias vezes isso ontem e não notei.

Obrigado!

  • Curtir 3
  • Este tópico foi criado há 2016 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.