11 Dez 2016 19:58
11 Dez 2016 20:14
11 Dez 2016 20:21
#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
// 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
13 Dez 2016 18:04
17 Dez 2016 10:53
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
#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
17 Dez 2016 11:10
IF Left( cKeyDne, 4 ) != Left( cNewKeyDne, 4 ) .AND. cKeyDne != "LOC"
18 Dez 2016 06:21
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
20 Dez 2016 10:01
20 Dez 2016 13:17
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
03 Jan 2017 09:05
03 Jan 2017 17:55
04 Jan 2017 14:15
Só ficou faltando aprender como montar um webservice em todos detalhes, mas já agradeço pelo que pude aprender sobre o CEP.
08 Mar 2017 21:47
27 Mar 2017 08:47
27 Mar 2017 09:04