Guia Postal dos correios
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Acho que só agora encerrei isso.
Daqui pra frente é deixar atualizando o que sobrou.
A título de curiosidade, tem CEP que inclui o endereço completo, incluindo número.
O primeiro da lista é um dos exemplos.
Não sei porque em cpCepList ficou dobrado.
Daqui pra frente é deixar atualizando o que sobrou.
A título de curiosidade, tem CEP que inclui o endereço completo, incluindo número.
O primeiro da lista é um dos exemplos.
Não sei porque em cpCepList ficou dobrado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Só a título de curiosidade:
Serviu pra deixar a base atualizada, mas para o webservice não fez diferença.
Como 31/10/2016 já tem mais de 30 dias, de qualquer forma o webservice vai consultar on-line e atualizar.
Serviu pra deixar a base atualizada, mas para o webservice não fez diferença.
Como 31/10/2016 já tem mais de 30 dias, de qualquer forma o webservice vai consultar on-line e atualizar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
A propósito: descobri a "criptografia" inversa.
Daria pra usar direto a base dos correios no aplicativo, sem conversão nenhuma.
Ou a base MySQL do mesmo jeito.
aqui direto no Access:
A função inversa é simples: o critério é que a cada ocorrência de mesmo número, é usada a codificação seguinte.
Testei só alguns CEPs, não todos.
Pode ser que precise ajustar a ordem das letras de cada número.
Como não vou usar, não me preocupei em acertar todos.
Usei dois CEPs de referência: 03676-080 e 03677-070
O primeiro zero vai usar UG, o segundo LA, o terceiro AL, e o quarto GU.
Não sei o que acontece se tivesse um quinto zero, mas coloquei pra reiniciar.
Desta forma, é só pegar um CEP, converter e pesquisar direto, sem nem precisar mexer na base original.
Daria pra usar direto a base dos correios no aplicativo, sem conversão nenhuma.
Ou a base MySQL do mesmo jeito.
aqui direto no Access:
Código: Selecionar todos
#include "inkey.ch"
#define AD_USE_CLIENT 3
REQUEST HB_CODEPAGE_PTISO
PROCEDURE Main
LOCAL cnGuia, Rs, nKey := 0, cCep, Rs2, Rs3, cSql
Set( _SET_CODEPAGE, "PTISO" )
SetMode( 40, 100 )
CLS
cnGuia := ConexaoAccess()
cnGuia:Open()
cCep := ConverteFromCep( "03677070" )
cSql := "SELECT " + ;
"LOG_LOGRADOURO.LOG_NOME AS ENDERECO, " + ;
"BAI_NU_SEQUENCIAL_INI, " + ;
"LOC_NU_SEQUENCIAL, " + ;
"LOG_LOGRADOURO.UFE_SG AS UF, " + ;
"LOG_LOGRADOURO.LOG_KEY_DNE AS KEYDNE " + ;
"FROM LOG_LOGRADOURO " + ;
"WHERE LOG_KEY_DNE=" + StringSql( cCep )
//? cSql
Rs := cnGuia:Execute( cSql )
cSql := "SELECT BAI_NO AS BAIRRO FROM LOG_BAIRRO WHERE BAI_NU_SEQUENCIAL=" + NumberSql( Rs:Fields( "BAI_NU_SEQUENCIAL_INI" ):Value )
//? cSql
Rs2 := cnGuia:Execute( cSql )
cSql := "SELECT LOC_NO AS CIDADE FROM LOG_LOCALIDADE WHERE LOC_NU_SEQUENCIAL=" + NumberSql( Rs:Fields( "LOC_NU_SEQUENCIAL" ):Value )
//? cSql
Rs3 := cnGuia:Execute( cSql )
DO WHILE nKey != K_ESC .AND. ! Rs:Eof()
nKey := Inkey()
?
?? Rs:Fields( "ENDERECO" ):Value
?? Rs2:Fields( "BAIRRO" ):Value
?? Rs3:Fields( "CIDADE" ):Value
?? Rs:Fields( "UF" ):Value
?? ConverteToCep( Rs:Fields( "KEYDNE" ):Value )
Rs2:Close()
Rs3:Close()
Rs:MoveNext()
ENDDO
Rs:Close()
cnGuia:Close()
RETURN
Testei só alguns CEPs, não todos.
Pode ser que precise ajustar a ordem das letras de cada número.
Como não vou usar, não me preocupei em acertar todos.
Usei dois CEPs de referência: 03676-080 e 03677-070
O primeiro zero vai usar UG, o segundo LA, o terceiro AL, e o quarto GU.
Não sei o que acontece se tivesse um quinto zero, mas coloquei pra reiniciar.
Desta forma, é só pegar um CEP, converter e pesquisar direto, sem nem precisar mexer na base original.
Código: Selecionar todos
// SELECT * FROM LOG_LOGRADOURO WHERE LOG_DNE_KEY = ConverteFromCep( cCep )
//
FUNCTION ConverteFromCEP( cCep )
LOCAL oElement, cKey := "", ConvList, nIndex
ConvList := { ;
{ "UG", "LA", "AL", "GU" }, ;
{ "X8", "8X", "CN", "NC" }, ;
{ "Z0", "EP", "PE", "0Z" }, ;
{ "GR", "B1", "1B", "RG" }, ;
{ "3D", "DI", "D3", "ID" }, ;
{ "SJ", "C4", "4C", "JS" }, ;
{ "2A", "A2", "QH", "HQ" }, ;
{ "FO", "90", "09", "OF" }, ;
{ "7Y", "DM", "Y7", "MD" }, ;
{ "5V", "BK", "V5", "KB" } }
FOR EACH oElement IN ConvList
AAdd( oElement, 1 )
NEXT
FOR EACH oElement IN cCep
nIndex := ConvList[ Val( oElement ) + 1, 5 ]
cKey += ConvList[ Val( oElement ) + 1, nIndex ]
ConvList[ Val( oElement ) + 1, 5 ] := iif( ConvList[ Val( oElement ) + 1, 5 ] == 4, 1, ConvList[ Val( oElement ) + 1, 5 ] + 1 )
NEXT
RETURN cKey
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Como eu disse, testei somente alguns.
Deve ser o caso de testar todos, e acertar a ordem.
Deve ser o caso de testar todos, e acertar a ordem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Ainda como eu disse, só a questão da ordem.
Uma vez que a "descriptografia" deu certo, só usá-la pra decifrar a "criptografia", que só depende da ordem.
usei este fonte pra testar.
Testado para todos os 1.016.352 CEPs existentes no guia postal.
Uma vez que a "descriptografia" deu certo, só usá-la pra decifrar a "criptografia", que só depende da ordem.
Código: Selecionar todos
FUNCTION ConverteFromCEP( cCep )
LOCAL oElement, cKey := "", ConvList
ConvList := { ;
{ "UG", "AL", "UG", "AL", "GU", "LA", "00", "LA" }, ;
{ "X8", "CN", "X8", "CN", "8X", "NC", "8X", "NC" }, ;
{ "Z0", "EP", "02", "EP", "0Z", "7Y", "02", "PE" }, ;
{ "1B", "GR", "1B", "03", "B1", "RG", "B1", "GR" }, ;
{ "3D", "ID", "3D", "04", "D3", "04", "3D", "DI" }, ;
{ "4C", "JS", "05", "05", "05", "SJ", "C4", "SJ" }, ;
{ "2A", "HQ", "06", "06", "06", "06", "A2", "06" }, ;
{ "09", "FO", "09", "FO", "07", "07", "90", "OF" }, ;
{ "Y7", "DM", "Y7", "DM", "7Y", "MD", "7Y", "MD" }, ;
{ "V5", "BK", "09", "BK", "09", "09", "09", "KB" } }
FOR EACH oElement IN cCep
cKey += ConvList[ Val( oElement ) + 1, oElement:__EnumIndex ]
NEXT
RETURN cKey
Código: Selecionar todos
#include "inkey.ch"
REQUEST HB_CODEPAGE_PTISO
PROCEDURE Main
LOCAL cnGuia, Rs, nKey := 0, cSql, cCep, cKeyDne, cNewKeyDne, nCont := 1, aTabelaList, oElement
aTabelaList := { ;
{ "LOG_LOCALIDADE", "LOC_KEY_DNE" }, ;
{ "LOG_UNID_OPER", "UOP_KEY_DNE" }, ;
{ "LOG_CPC", "CPC_KEY_DNE" }, ;
{ "LOG_GRANDE_USUARIO", "GRU_KEY_DNE" }, ;
{ "LOG_LOGRADOURO", "LOG_KEY_DNE" } }
Set( _SET_CODEPAGE, "PTISO" )
SetMode( 40, 100 )
CLS
cnGuia := ConexaoAccess()
cnGuia:Open()
FOR EACH oElement IN aTabelaList
? oElement[ 1 ]
cSql := "SELECT " + ;
oElement[ 2 ] + " AS KEYDNE " + ;
"FROM " + oElement[ 1 ]
Rs := cnGuia:Execute( cSql )
DO WHILE nKey != K_ESC .AND. ! Rs:Eof()
nKey := Inkey()
cKeyDne := Rs:Fields( "KEYDNE" ):Value
cCep := ConverteToCep( cKeyDne )
cNewKeyDne := ConverteFromCep( cCep )
nCont++
IF Left( cKeyDne, 4 ) != Left( cNewKeyDne, 4 ) .AND. cKeyDne != "LOC"
? nCont, cCep, Transform( cKeyDne, "@R XX-XX-XX-XX-XX-XX-XX-XX" ), Transform( cNewKeyDne, "@R XX-XX-XX-XX-XX-XX-XX-XX" ), cKeyDne == cNewKeyDne
ENDIF
Rs:MoveNext()
ENDDO
? nCont
NEXT
Rs:Close()
cnGuia:Close()
? nCont
RETURN
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Opa... estava fazendo por partes, não reparei que não terminei.... rs
Aqui só fez para os primeiros dígitos.
Aqui só fez para os primeiros dígitos.
Código: Selecionar todos
IF Left( cKeyDne, 4 ) != Left( cNewKeyDne, 4 ) .AND. cKeyDne != "LOC"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Até o quarto digito numérico deu certo: a cada número em cada posição corresponde um par de letras.
Nos demais, há algum critério que precisa decifrar, porque pode ser normal ou invertido.
Nos demais, há algum critério que precisa decifrar, porque pode ser normal ou invertido.
Código: Selecionar todos
FUNCTION ConverteFromCEP( cCep )
LOCAL oElement, cKey := "", ConvList
ConvList := { ;
{ "UG", "AL", "UG", "AL", "GU", "LA", "GU", "AL" }, ;
{ "X8", "CN", "X8", "CN", "8X", "CN", "8X", "NC" }, ;
{ "Z0", "EP", "Z0", "EP", "0Z", "PE", "0Z", "PE" }, ;
{ "1B", "GR", "1B", "GR", "B1", "RG", "B1", "GR" }, ;
{ "3D", "ID", "3D", "ID", "D3", "DI", "3D", "DI" }, ;
{ "4C", "JS", "4C", "JS", "C4", "SJ", "C4", "SJ" }, ;
{ "2A", "HQ", "2A", "HQ", "A2", "QH", "A2", "QH" }, ;
{ "09", "FO", "09", "FO", "90", "OF", "90", "OF" }, ;
{ "Y7", "DM", "Y7", "DM", "7Y", "MD", "7Y", "MD" }, ;
{ "V5", "BK", "V5", "BK", "5V", "KB", "5V", "KB" } }
FOR EACH oElement IN cCep
cKey += ConvList[ Val( oElement ) + 1, oElement:__EnumIndex ]
NEXT
RETURN cKey
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Mas e aquelas ferramentas que disse ter? Elas não ajudam a decifrar?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Sem chance. Talvez seja pela data de cadastro, e não tenha nenhuma lógica aritmética.
Os mesmos CEPs com final 6500, cada hora o último zero é codificado como LA ou AL.
Não é pela soma ser par ou ímpar, não é por ter zero repetido, e não é relacionado a nenhum número anterior.
Esses são apenas alguns, onde usaram no final LA ao invés de AL, pra representar o zero.
Nenhum ponto em comum que indique o porque disso.
Para os quatro primeiros dígitos, basta a posição.
Para os quatro últimos... não dá pra saber.
Isso seria pra pesquisar diretamente no arquivos dos correios, sem nenhuma alteração.
No caso é só criar uma cópia, que permita alteração, e gravar um campo com o CEP descodificado, como fiz no início, e usar esse novo campo como pesquisa.
Pesquisar por endereço dá, mas pesquisar por CEP só fazendo isso.
Os mesmos CEPs com final 6500, cada hora o último zero é codificado como LA ou AL.
Não é pela soma ser par ou ímpar, não é por ter zero repetido, e não é relacionado a nenhum número anterior.
Código: Selecionar todos
832672 617 24866500 Z0IDY7HQA2SJGULA Z0IDY7HQA2SJGUAL
833106 617 24846500 Z0IDY7IDA2SJGULA Z0IDY7IDA2SJGUAL
833771 617 24856500 Z0IDY7JSA2SJGULA Z0IDY7JSA2SJGUAL
836369 617 41336500 3DCN1BGRA2SJGULA 3DCN1BGRA2SJGUAL
847328 617 08726500 UGDM09EPA2SJGULA UGDM09EPA2SJGUAL
848288 617 71256500 09CNZ0JSA2SJGULA 09CNZ0JSA2SJGUAL
851535 617 32056500 1BEPUGJSA2SJGULA 1BEPUGJSA2SJGUAL
868625 617 24936500 Z0IDV5GRA2SJGULA Z0IDV5GRA2SJGUAL
868676 617 24926500 Z0IDV5EPA2SJGULA Z0IDV5EPA2SJGUAL
873362 617 07726500 UGFO09EPA2SJGULA UGFO09EPA2SJGUAL
874232 617 09336500 UGBK1BGRA2SJGULA UGBK1BGRA2SJGUAL
876302 617 70686500 09AL2ADMA2SJGULA 09AL2ADMA2SJGUAL
877419 617 79816500 09BKY7CNA2SJGULA 09BKY7CNA2SJGUAL
884237 617 74936500 09IDV5GRA2SJGULA 09IDV5GRA2SJGUAL
893319 617 08586500 UGDM4CDMA2SJGULA UGDM4CDMA2SJGUAL
894545 617 63046500 2AGRUGIDA2SJGULA 2AGRUGIDA2SJGUAL
908479 617 05276500 UGJSZ0FOA2SJGULA UGJSZ0FOA2SJGUAL
912855 617 29136500 Z0BKX8GRA2SJGULA Z0BKX8GRA2SJGUAL
921991 617 32636500 1BEP2AGRA2SJGULA 1BEP2AGRA2SJGUAL
923457 617 25946500 Z0JSV5IDA2SJGULA Z0JSV5IDA2SJGUAL
923955 617 25916500 Z0JSV5CNA2SJGULA Z0JSV5CNA2SJGUAL
928842 617 07786500 UGFO09DMA2SJGULA UGFO09DMA2SJGUAL
932399 617 29016500 Z0BKUGCNA2SJGULA Z0BKUGCNA2SJGUAL
963361 617 75516500 09JS4CCNA2SJGULA 09JS4CCNA2SJGUAL
967387 617 28926500 Z0DMV5EPA2SJGULA Z0DMV5EPA2SJGUAL
978999 617 13736500 X8GR09GRA2SJGULA X8GR09GRA2SJGUAL
979286 617 13176500 X8GRX8FOA2SJGULA X8GRX8FOA2SJGUAL
982182 617 76386500 09HQ1BDMA2SJGULA 09HQ1BDMA2SJGUAL
985010 617 75386500 09JS1BDMA2SJGULA 09JS1BDMA2SJGUAL
987918 617 79076500 09BKUGFOA2SJGULA 09BKUGFOA2SJGUAL
991608 617 14786500 X8ID09DMA2SJGULA X8ID09DMA2SJGUAL
995860 617 55156500 4CJSX8JSA2SJGULA 4CJSX8JSA2SJGUAL
1010244 617 64036500 2AIDUGGRA2SJGULA 2AIDUGGRA2SJGUAL
Nenhum ponto em comum que indique o porque disso.
Para os quatro primeiros dígitos, basta a posição.
Para os quatro últimos... não dá pra saber.
Isso seria pra pesquisar diretamente no arquivos dos correios, sem nenhuma alteração.
No caso é só criar uma cópia, que permita alteração, e gravar um campo com o CEP descodificado, como fiz no início, e usar esse novo campo como pesquisa.
Pesquisar por endereço dá, mas pesquisar por CEP só fazendo isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Pois é....
Ainda não terminei de verificar todos os CEPs, mas alguns do guia COMPRADO já não valem mais.
Definitivamente, impossível manter uma base 100% atualizada, nem mesmo comprando dos correios.
Só mesmo online, e olhe lá....
Nota: falta verificar uns 8.000 ainda, e estou verificando somente os "extras" que vieram no guia, menos de 2% do total.
Ainda não terminei de verificar todos os CEPs, mas alguns do guia COMPRADO já não valem mais.
Definitivamente, impossível manter uma base 100% atualizada, nem mesmo comprando dos correios.
Só mesmo online, e olhe lá....
Nota: falta verificar uns 8.000 ainda, e estou verificando somente os "extras" que vieram no guia, menos de 2% do total.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Foi só coincidência eu ter dado uma olhada nisto.
Mas achei curioso.
CEPs diferentes, conforme o andar do prédio.
Mas achei curioso.
CEPs diferentes, conforme o andar do prédio.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Vai escolher aonde vai hospedar o webservice, escolher a linguagem de programação, o banco de dados, e fazer.Só ficou faltando aprender como montar um webservice em todos detalhes, mas já agradeço pelo que pude aprender sobre o CEP.
Não há o que ensinar, ou sabe ou não sabe.
Com certeza, dificilmente vai ser usando Harbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Só a título de curiosidade:
Quando fui mexer com CEP, sairam atualizacões logo em seguida, constando no site dos correios..
Até agora não tem nenhuma novidade no site dos correios, apesar do guia postal dizer que está atualizado até uma data mais nova.
Sei lá se foi concidência issso, ou se deixaram pra mostrar serviço só no final do ano.... rs
Quando fui mexer com CEP, sairam atualizacões logo em seguida, constando no site dos correios..
Até agora não tem nenhuma novidade no site dos correios, apesar do guia postal dizer que está atualizado até uma data mais nova.
Sei lá se foi concidência issso, ou se deixaram pra mostrar serviço só no final do ano.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Concentra
- Usuário Nível 1

- Mensagens: 25
- Registrado em: 28 Jan 2008 16:41
- Localização: Piracicaba - SP
Guia Postal dos correios
Bom dia !
Esta base de dados tem informações de posição, latitude, longitude ?
[[]]
Esta base de dados tem informações de posição, latitude, longitude ?
[[]]
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Guia Postal dos correios
Não.
Até comecei a gravar numa época, mas não era base confiável, então não atualizei mais.
Acho que era do opencep.
Até comecei a gravar numa época, mas não era base confiável, então não atualizei mais.
Acho que era do opencep.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/