Clipper On Line • Ver Tópico - Tabela de Cidades e UF

Tabela de Cidades e UF

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Tabela de Cidades e UF

Mensagempor asimoes » 18 Out 2018 18:49

Prezados,

Alguém teria alguma tabela de cidade + UF para popular 2 combos da hwgui, um é UF e outro Cidade, com todas as cidades referente a Uf selecionada.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Tabela de Cidades e UF

Mensagempor alxsts » 18 Out 2018 19:26

Olá!

Uma pesquisa básica no Google mostra algumas opções. A mais atualizada que encontrei foi de 20/06/2016 e contem o script SQL Server para criar e dados para popular tabelas de País, Estados e Cidades do Brasil: SQL completo de todas as cidades e estados do Brasil.

Este post deveria estar na Seção de tabelas em geral
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Tabela de Cidades e UF

Mensagempor asimoes » 18 Out 2018 19:34

Alexandre,

Obrigado pela dica,

Acabei achando uma planilha excel do ibge, baixei e fiz um dbf, pode virar até uma hashtable
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Tabela de Cidades e UF

Mensagempor JoséQuintas » 18 Out 2018 23:01

José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tabela de Cidades e UF

Mensagempor malcarli » 06 Dez 2019 12:55

Boa tarde, estou mudando o meu sistema e irei trocar vários arquivos pelas chs da classe sefaz

Como faço por exemplo para carregar no nome do estado em um combo?

fiz assim mas não funcionou

DEFINE COMBOBOX Cb_TransUf
               ROW    410
               COL    10
               WIDTH  200
               HEIGHT 110
               TOOLTIP     "Uf do Veículo"
            ITEMS   SEFAZ_UF[1]
            VALUE  1
        END COMBOBOX


obrigado
malcarli
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 181
Data de registro: 20 Ago 2015 18:14
Cidade/Estado: marilia/sp
Curtiu: 81 vezes
Mens.Curtidas: 4 vezes

Tabela de Cidades e UF

Mensagempor sygecom » 07 Dez 2019 11:08

Post o exemplo completo para ver o que vem preenchido em: SEFAZ_UF[1]
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Tabela de Cidades e UF

Mensagempor JoséQuintas » 07 Dez 2019 19:43

O CH da Sefazclass define um array com cidades/países e UFs

#define SEFAZ_CIDADE { ;
   { "EX", "000132 ", "AFEGANISTAO" }, ;


A partir daí, pode usar o array como quiser.
Por exemplo:

FUNCTION IBGE( UF, Cidade )

   LOCAL aList := SEFAZ_CIDADE

   nPos := AScan( aList, { | e | e[ 1 ] == UF .AND. e[ 3 ] == Cidade } )
   cIbge := iif( nPos == 0, "", aList[ nPos, 2 ] )

   RETURN cIbge
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tabela de Cidades e UF

Mensagempor Fernando queiroz » 10 Dez 2019 15:23

resolvi assim
#include "SEFAZ_CIDADE.CH"
#include "SEFAZ_UF.CH"

private aPAIS        := {}      
private aUF        := {}
private aMunicipios   := {}

o que já tem no cadastro ou em um novo cadastro, faz pequisa e carrega o combo
      FOR EACH oPAIS IN SEFAZ_CIDADE
         IF oPAIS[1] == "EX"
            AAdd(aPAIS,oPAIS[3])
         ENDIF
      NEXT
      
      FOR EACH oUF IN SEFAZ_UF
         AAdd(aUF,oUF[1])
      NEXT
      
      FOR EACH oCIDADE IN SEFAZ_CIDADE
         IF oCIDADE[1] == mUF
            AAdd(aMunicipios,oCIDADE[3])
         ENDIF
      NEXT

na tela fiz assim
   @ 78,376 SAY oLabel14 CAPTION "UF"  SIZE 20,24 
   @ 105,374 GET COMBOBOX oCombo2 VAR nCombo2 ;
        ITEMS aUF  ;
        SIZE 65,24  DISPLAYCOUNT 8 ;
      ON CHANGE {|| oCombo2_onChange( aUF[nCombo2] ),oCombo3:REFRESH() }

após a carga da tela executo
   oCombo4:SetItem( Ascan(aPAIS,RTRIM(mPAIS) ) )   
   oCombo2:SetItem( Ascan(aUF,RTRIM(mUF) ) )   
   oCombo3:SetItem( Ascan(aMunicipios,RTRIM(mCIDADE) ) )

quando mudar a UF executo essa rotina
***************************************
STATIC FUNCTION oCombo2_onChange( mUF )
***************************************
LOCAL oCIDADE
   DO WHILE .T.
      FOR nI := 1 TO Len(aMunicipios)
         hb_ADel( aMunicipios, nI, .T. )
      NEXT
      IF Len(aMunicipios) <= 0
         EXIT
      ENDIF
   ENDDO
   FOR EACH oCIDADE IN SEFAZ_CIDADE
      IF oCIDADE[1] == mUF
         AAdd(aMunicipios,oCIDADE[3])
      ENDIF
   NEXT
   ThisCAD:oCombo3:SetItem( Ascan(aMunicipios,RTRIM(mCIDADE) ) )
//   nCombo3 := 1
RETURN( aMunicipios )
Nota de Moderação:
JoséQuintas: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Tabela de Cidades e UF

Mensagempor JoséQuintas » 10 Dez 2019 15:56

Cuidado com isto:

 FOR nI := 1 TO Len(aMunicipios)
   hb_ADel( aMunicipios, nI, .T. )
NEXT


Poderia ser assim:

FOR nCont = Len( aMunicipios ) TO 1 STEP -1
   hb_ADel( aMunicipios, nI, .T. )
NEXT


Na prática:

{ "a", 'b', "c" }

nCont = 1 exclui o A, e o B passa a ser 1
nCont = 2 exclui o C e para, restando o B sem excluir

Mas na prática, se é pra limpar tudo:

aMunicipios := {}
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tabela de Cidades e UF

Mensagempor JoséQuintas » 10 Dez 2019 16:14

Esqueci de dizer uma coisa importante:

array é passado automaticamente como referência... MAS.... NÃO É BEM ASSIM.

função( array )
função( @array )

Nos dois casos, se for uma rotina que ALTERA os elementos do array, os dois funcionam
Se a rotina fizer array := {}, só funciona do segundo modo.

O que imagino:
No primeiro caso, os elementos do array são passados por referência, então array := {} não tem mais vínculo com os elementos anteriores.
No segundo caso a variável é passada por referência, então qualquer alteração na variável faz efeito.

Talvez tenha usado o hb_ADel() porque teve esse imprevisto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro