Ir para conteúdo
  • Cadastre-se

dev botao

Falha na busca de cidades do ACBrIBGE


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

Recommended Posts

  • Fundadores

O Ajuste quebrará Compiladores que usam UTF8.. como FPC e DelphiXE...

Vou verificar onde podemos inserir a conversão, sem quebrar as diversas IDEs que suportamos...

  • 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.

Link para o comentário
Compartilhar em outros sites

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!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
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.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

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

Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1771 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.