Ir para conteúdo
  • Cadastre-se

dev botao

Correção Acbribge


Ver Solução Respondido por FGGLUIZ,
  • Este tópico foi criado há 3615 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á 3615 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.