Ir para conteúdo
  • Cadastre-se

Correção Acbribge


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

Recommended Posts

Postado

Olá Pessoal,

 

Segue em anexo uma correção para a opção "Exata", foi incluído "AnsiUpperCase" para comparar:ACBrIBGE.rar

 

else if Exata and (AnsiUpperCase(fCidades.Municipio) <> AnsiUpperCase(ACidade)) then

 

Abraços.

 

Fábio Gabriel

  • Consultores
Postado

Aí a busca não vai mais ser exata. Ela vai ser case-insensitive, o que é totalmente diferente.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Aí a busca não vai mais ser exata. Ela vai ser case-insensitive, o que é totalmente diferente.

Elton, no site dos correios trás de uma forma e no site do ibge de outra, no momento de comparar não esta comparando o nome da cidade de forma correta. Execute o demo no wscorreios e veja que não esta trazendo o código do município.

 

Fábio Gabriel

  • Consultores
Postado

Elton, no site dos correios trás de uma forma e no site do ibge de outra, no momento de comparar não esta comparando o nome da cidade de forma correta. Execute o demo no wscorreios e veja que não esta trazendo o código do município.

 

Fábio Gabriel

 

Aqui está funcionando.

 

Efetuando consulta HTTP em:

http://www.ibge.gov.br/home/geociencias/areaterritorial/area.php?nome=Petrolina

2 Cidade(s) encontrada(s)

Cod UF: 26

UF: PE

Cod.Município: 2611101

Município: PETROLINA

Área: 4561,87

--------------------

Cod UF: 52

UF: GO

Cod.Município: 5216809

Município: PETROLINA DE GOIÁS

Área: 531,30

--------------------

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Aqui está funcionando.

Elton, faça uma consulta de CEP com o "wscorreios" e veja que não esta trazendo o código do município. A função abaixo faz isso, veja:

 

 

function TACBrIBGE.BuscarPorNome(const ACidade : String ; const AUF : String ;

  const Exata : Boolean) : Integer ;

var

  I : Integer ;

  Param: String ;

begin

  fCidades.Clear;

 

  Param := AjustaParam( ACidade ) ;

  if Param = '' then

     raise Exception.Create( ACBrStr('Nome do Município deve ser informado') );

 

  HTTPGet(CIBGE_URL + '?nome='+Param ) ;

 

  ProcessaResposta;

 

  // Aplicando filtros (se informados) //

  if (AUF <> '') or Exata then

  begin

    I := 0;

    while I < fCidades.Count do

    begin

      if (AUF <> '') and (fCidades.UF <> AUF) then

         fCidades.Delete(I)

      else if Exata and (AnsiUpperCase(fCidades.Municipio) <> AnsiUpperCase(ACidade)) then

         fCidades.Delete(I)

      else

         Inc( I ) ;

    end ;

  end ;

 

  Result := fCidades.Count;

end ;

 

Fábio Gabriel

Postado

Com quais informações (Cidade, Cep, etc) vc está consultando ?

 

Por favor forneça o passo a passo para reproduzir o problema...

Daniel, qualquer consulta que você fizer na opção "CEP" (qualquer CEP) não esta trazendo a informação "Código do Município". Basta consultar com a configuração "wscorreios".

 

Exemplo:  

Configuração: wscorreios

CEP: 18270-170

  • Consultores
Postado

Daniel, qualquer consulta que você fizer na opção "CEP" (qualquer CEP) não esta trazendo a informação "Código do Município". Basta consultar com a configuração "wscorreios".

Exemplo:

Configuração: wscorreios

CEP: 18270-170

Olá Fábio,

   Agora sim, entendi o que você quer. Enviei uma correção para isso agora juntamente com outras alterações. Muito obrigado pelo report do problema.

 

-- ACBrIBGE --

[+] Criado tipo EACBrIBGEException;

[*] Modificação do Método BuscarPorNome, adicionado parâmetro 'ComparacaoCaseSensitive'

const ComparacaoCaseSensitive: Boolean = True

Se passado False, o método vai ignorar as diferenças entre maiúsculas e minúsculas

ao fazer uma busca com o parâmetro Exata.

Se Exata = False, esse parâmetro é ignorado.

[-] Correção no evento OnBuscaEfetuada, pois estava sendo chamado antes do componente

fazer a filtragem dos Municípios no método BuscarPorNome.

Veja: http://www.projetoacbr.com.br/forum/index.php?/topic/11214-codigo-ibge-no-acbrcep/

-- ACBrCEP --

[-] Busca no provedor correios não estava retornando os dados

de ID do Municipio conforme era esperado.

Veja: http://www.projetoacbr.com.br/forum/index.php?/topic/19315-correção-acbribge

 

   Mas gostaria de lhe dar uma sugestão na hora de postar alterações ou reportar bugs. Para evitar confundir, descreva o problema do ponto de vista de uso do componente e faça a correção do ponto de vista de desenvolvimento.

   Por exemplo, você escreveu no título que a correção era para o ACBrIBGE e no parâmetro Exata. Então fiz testes no ACBrIBGE e no parâmetro e não obtive nenhum problema. Só depois foi que você mencionou que era pra fazer uma busca usando o CEP. Mas isso é no ACBrCEP.

   Se possível, sempre descreva de forma detalhada o seguinte:

  • o que você fez
  • o que esperava obter
  • o que obteve

   A ideia é evitar tanto você quanto nós percamos tempo. Tenho certeza que você também concorda que o tempo, principalmente o seu, é valioso.

 

Mais uma vez, obrigado pelo report.

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 4217 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...