|
Wx - Busca Endereço Rota e Endereço das coordendas |
Débuté par adrianoboller, 29 aoû. 2015 21:18 - 8 réponses |
| |
| | | |
|
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:18 |
ProcedureCEP_FuncaoBuscarEndereco(sEndereco,sNumero,sCidade,sUF)
sEnderecoLongo isstring arrResult1 isarray of strings EnderecoInicial,sEnderecoLocalizadoLongo isstring=""
IFsNumero=0ORsNumero=""ORIsNumeric(sNumero) =FalseTHEN sNumero=10 END
IFsUF=""THEN sUF="PR" END
IFsNumero=0ORsNumero=""ORIsNumeric(sNumero) =FalseTHEN sNumero=10 END
EnderecoInicial=sEndereco+"-"+sNumero+"-"+sCidade+"-"+sUF+"-Brasil"
sEnderecoLongo=CEP_Rota(EnderecoInicial,EnderecoInicial,"")
IFsEnderecoLongo<>""ANDsEnderecoLongo<>"ERRO"THEN
arrResult1=CEP_ExtrairEndereco(sEnderecoLongo)
ELSE ArrayDeleteAll(arrResult1)
END
RESULT(arrResult1) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:20 |
OD="O" LocEndereco isarray of string gLoOrigemLocalizado=False
IFEDT_CidadeOrigem=""ORCOD_LOC_ORIG=0 Info("Obrigatório informar a cidade de origem") RETURN END
IFEDT_EnderecoOrigem<>"" LocEndereco=CEP_FuncaoBuscarEndereco(EDT_EnderecoOrigem+" - "+EDT_CidadeOrigem,EDT_NumOrigem,"","") IFArrayCount(LocEndereco) >0THEN EDT_EnderecoOrigem=LocEndereco[1] EDT_CidadeOrigem=LocEndereco[4]
gLoOrigemLocalizado=True ELSE ExecuteProcess(BTN_Valida,trtClick) END ELSE Info("Obrigatório informar o nome da rua de origem.") END > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:21 |
ProcedureCEP_Rota(LOCALOrigem,LOCALDestino,LOCALDebugSN)
IFOrigem<>""ANDDestino=""THEN Destino=Origem END
nVirgula isint=0
gbLocalizouRotaisboolean
nID_Numero isint=1 nID_Endereco isint=1 nID_Bairro01 isint=1 nID_Bairro02 isint=1 nID_Cidade01 isint=1 nID_Cidade02 isint=1 nID_Estado isint=1 nID_Pais isint=1 nID_CEP isint=1 nQTD_ADDRESS_COMPONENT isint=0
GloRotaEncode isstring
GloVoceEnderecoLongo="ERRO" GloDestinoEnderecoLongo="ERRO"
GloLatitudeNorte="" GloLongitudeNorte=""
GloLatitudeSul="" GloLongitudeSul=""
GloTempoDestino="" GloTempoDestinoText="" GloTempoTaxi=""
GloDistanciaDestino="" GloDistanciaDestinoText="" GloDistanciaTaxi=""
ok isboolean=False
IFOrigem<>""ANDDestino<>""
ChangeCharset(charsetOccidental)
Origem=Replace(Origem," ","+")
Origem=Capitalize(WS_RemoveAcentos(Origem))
Destino=Replace(Destino," ","+")
Destino=Capitalize(WS_RemoveAcentos(Destino))
UrlRota isstring="http://maps.googleapis.com/maps/api/directions/xml?origin="+Origem+"&destination="+Destino+"&sensor=false&mode=driving"
IFDebugSN="S"THEN Info("URL Busca Origem Google",UrlRota) END ok=HTTPRequest(UrlRota)
IFok=TrueTHEN
XmlResultado isstring=CEP_HTTPGetResult()
IFPositionOccurrence(XmlResultado,"<status>OK</status>",firstRank,FromBeginning) >0ORPositionOccurrence(XmlResultado,"<status>ok</status>",firstRank,FromBeginning) >0
IFLength(XmlResultado) >0THEN
GloRotaEncode=XmlResultado nInicioPoint isint=PositionOccurrence(XmlResultado,"<copyrights>",firstRank,FromBeginning) GloRotaEncode=Middle(XmlResultado,nInicioPoint,Length(XmlResultado)) nInicioPoint=PositionOccurrence(GloRotaEncode,"<points>",firstRank,FromBeginning)+Length("<points>") nFinalPoint isint=PositionOccurrence(GloRotaEncode,"</points>",firstRank,FromBeginning) GloRotaEncode=Middle(GloRotaEncode,nInicioPoint,nFinalPoint-nInicioPoint)
IFDebugSN="S" Info("POINT",GloRotaEncode,"",XmlResultado) END
XmlResultado=WS_RemoveAcentos(XmlResultado)
sXmlResultadoRetorno isstring=XmlResultado
XmlResultado=CEP_RemoveCaracteresRota(XmlResultado)
IFDebugSN="S"THEN Info("Retorno XML Busca Origem",XmlResultado) END
nInicio isint=PositionOccurrence(XmlResultado,"</step>",lastRank,FromBeginning) +7 XmlResultado=Middle(XmlResultado,nInicio,Length(XmlResultado)) XmlResultado="<leg>"+XmlResultado
nFim isint=PositionOccurrence(XmlResultado,"</leg>",firstRank,FromBeginning) +5 XmlResultado=Middle(XmlResultado,1,nFim)
IFIniOSMode() =TrueTHEN
NoXml isstring=XMLExtractString(XmlResultado,"leg")
GloVoceEnderecoLongo=XMLExtractString(NoXml,"start_address") GloVoceEnderecoLongo=Capitalize(GloVoceEnderecoLongo)
GloDestinoEnderecoLongo=XMLExtractString(NoXml,"end_address") GloDestinoEnderecoLongo=Capitalize(GloDestinoEnderecoLongo)
NoXml1 isstring=XMLExtractString(NoXml,"duration") GloTempoDestino=XMLExtractString(NoXml1,"value") GloTempoDestinoText=XMLExtractString(NoXml1,"text") GloTempoTaxi=GloTempoDestino
NoXml1=XMLExtractString(NoXml,"distance") GloDistanciaDestino=XMLExtractString(NoXml1,"value") GloDistanciaDestinoText=XMLExtractString(NoXml1,"text") GloDistanciaTaxi=GloDistanciaDestino
NoXml1=XMLExtractString(NoXml,"start_location") IFVal(XMLExtractString(NoXml1,"lat"))<0 GloVoceLatitude=XMLExtractString(NoXml1,"lat") GloVoceLongitude=XMLExtractString(NoXml1,"lng") END
NoXml1=XMLExtractString(NoXml,"end_location") IFVal(XMLExtractString(NoXml1,"lat")) <0THEN GloDestinoLatitude=XMLExtractString(NoXml1,"lat") GloDestinoLongitude=XMLExtractString(NoXml1,"lng") END
ELSE
XmlDoc02 isXMLDocument XmlDoc02=XMLOpen(XmlResultado,fromString)
GloVoceEnderecoLongo=XmlDoc02.leg.start_address GloVoceEnderecoLongo=Capitalize(GloVoceEnderecoLongo)
GloDestinoEnderecoLongo=XmlDoc02.leg.end_address GloDestinoEnderecoLongo=Capitalize(GloDestinoEnderecoLongo)
GloTempoDestino=XmlDoc02.leg.duration.value GloTempoDestinoText=XmlDoc02.leg.duration.text GloTempoTaxi=GloTempoDestino
GloDistanciaDestino=XmlDoc02.leg.distance.value GloDistanciaDestinoText=XmlDoc02.leg.distance.text GloDistanciaTaxi=GloDistanciaDestino
IFXmlDoc02.leg.start_location.lat<0 GloVoceLatitude=XmlDoc02.leg.start_location.lat GloVoceLongitude=XmlDoc02.leg.start_location.lng END
IFXmlDoc02.leg.end_location.lat<0THEN GloDestinoLatitude=XmlDoc02.leg.end_location.lat GloDestinoLongitude=XmlDoc02.leg.end_location.lng END
END
END gbLocalizouRota=True ELSE
GloDestinoEndereco="" GloDestinoEnderecoLongo=""
GloTempoDestino="" GloDistanciaDestino="" END
END
END
IFDebugSN="S"THEN Info(GloRotaEncode) Info("Origem:",GloVoceEnderecoLongo,GloVoceEndereco,"","Destino:",GloDestinoEnderecoLongo,GloDestinoEndereco,"","Tempo: "+GloTempoDestino,"Distancia: "+GloDistanciaDestino,"","Latitude Origem: "+GloVoceLatitude,"Longitute Origem: "+GloVoceLongitude,"","Latitude Destino: "+GloDestinoLatitude,"Longitude Destino: "+GloDestinoLongitude) END
IFCEP_QtdeOccurrence(GloVoceEnderecoLongo," - ") =1 GloVoceEndereco="" GloVoceNumero="" GloVoceEnderecoLongo="ERRO" GloVoceLatitude=0 GloVoceLongitude=0 END
IFCEP_QtdeOccurrence(GloDestinoEnderecoLongo," - ") =1 GloDestinoEndereco="" GloDestinoNumero="" GloDestinoEnderecoLongo="ERRO" END IFDebugSN="S" IFGloVoceEnderecoLongo="ERRO"ORGloDestinoEnderecoLongo="ERRO" Info("Endereço inválido") END END
RESULT(GloVoceEnderecoLongo) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:22 |
ProcedureCEP_ExtrairEndereco(endereco)
sRua,sNumero,sBairro,sCidade,sEstado,sPais,sCep isstring=""
IFendereco<>""
endereco=Replace(endereco,"State Of ","",IgnoreCase)
arrSplitArray isarray of strings StringToArray(endereco,arrSplitArray," - ")
IFArrayCount(arrSplitArray) =4
arrSplitRuaNumeroArray isarray of strings StringToArray(arrSplitArray[2],arrSplitRuaNumeroArray,",")
IFArrayCount(arrSplitRuaNumeroArray) =1
sRua=arrSplitRuaNumeroArray[1];
sNumero="0";
ELSE IFArrayCount(arrSplitRuaNumeroArray) =2
sRua=arrSplitRuaNumeroArray[1];
IFPositionOccurrence(arrSplitRuaNumeroArray[2],"-",firstRank) >0THEN
arrSplitNumeroArray isarray of strings StringToArray(arrSplitRuaNumeroArray[2],arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media isint= (Val(arrSplitNumeroArray[1]) +Val(arrSplitNumeroArray[2])) /2 DO sNumero=0 ELSE sNumero=Media END
ELSE
sNumero=arrSplitRuaNumeroArray[2];
END
END
arrSplitBairroCidadeArray isarray of strings StringToArray(arrSplitArray[3],arrSplitBairroCidadeArray,",")
IFArrayCount(arrSplitBairroCidadeArray) =2
sBairro=arrSplitBairroCidadeArray[1]; sCidade=arrSplitBairroCidadeArray[2];
ELSE IF(ArrayCount(arrSplitBairroCidadeArray) =3)
sBairro=arrSplitBairroCidadeArray[1]; sCidade=arrSplitBairroCidadeArray[3];
ELSE
sBairro=""; sCidade="";
END
arrSplitEstadoCepPaisArray isarray of strings StringToArray(arrSplitArray[4],arrSplitEstadoCepPaisArray,",")
IFArrayCount(arrSplitEstadoCepPaisArray) =2
sEstado=arrSplitEstadoCepPaisArray[1]; sPais=arrSplitEstadoCepPaisArray[2]; sCep=""
ELSE IFArrayCount(arrSplitEstadoCepPaisArray)=3
sEstado=arrSplitEstadoCepPaisArray[1]; sCep=arrSplitEstadoCepPaisArray[2]; sPais=arrSplitEstadoCepPaisArray[3]; ELSE
sEstado="" sCep="" sPais=""
END ELSE IFArrayCount(arrSplitArray) =3
arrSplitRuaNumeroArray isarray of strings StringToArray(arrSplitArray[1],arrSplitRuaNumeroArray,",")
IFArrayCount(arrSplitRuaNumeroArray) =1
sRua=arrSplitRuaNumeroArray[1];
sNumero="0";
ELSE IFArrayCount(arrSplitRuaNumeroArray) =2
sRua=arrSplitRuaNumeroArray[1];
IFPositionOccurrence(arrSplitRuaNumeroArray[2],"-",firstRank) >0THEN
arrSplitNumeroArray isarray of strings StringToArray(arrSplitRuaNumeroArray[2],arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media isint= (Val(arrSplitNumeroArray[1]) +Val(arrSplitNumeroArray[2])) /2 DO sNumero=0 ELSE sNumero=Media END
ELSE
sNumero=arrSplitRuaNumeroArray[2];
END
END
arrSplitBairroCidadeArray isarray of strings StringToArray(arrSplitArray[2],arrSplitBairroCidadeArray,",")
IFArrayCount(arrSplitBairroCidadeArray) =2
sBairro=arrSplitBairroCidadeArray[1]; sCidade=arrSplitBairroCidadeArray[2];
ELSE IF(ArrayCount(arrSplitBairroCidadeArray) =3)
sBairro=arrSplitBairroCidadeArray[1]; sCidade=arrSplitBairroCidadeArray[3];
ELSE
sBairro=""; sCidade="";
END
arrSplitEstadoCepPaisArray isarray of strings StringToArray(arrSplitArray[3],arrSplitEstadoCepPaisArray,",")
IFArrayCount(arrSplitEstadoCepPaisArray) =2
sEstado=arrSplitEstadoCepPaisArray[1]; sPais=arrSplitEstadoCepPaisArray[2]; sCep=""
ELSE IFArrayCount(arrSplitEstadoCepPaisArray)=3
sEstado=arrSplitEstadoCepPaisArray[1]; sCep=arrSplitEstadoCepPaisArray[2]; sPais=arrSplitEstadoCepPaisArray[3]; ELSE
sEstado="" sCep="" sPais=""
END ELSE IFArrayCount(arrSplitArray) =2
arrSplitRuaCidadeArray isarray of strings StringToArray(arrSplitArray[1],arrSplitRuaCidadeArray,",")
sNumero="0"; IFArrayCount(arrSplitRuaCidadeArray) =1
sRua=arrSplitRuaCidadeArray[1];
ELSE IFArrayCount(arrSplitRuaCidadeArray) =2
sRua=arrSplitRuaCidadeArray[1]; sCidade=arrSplitRuaCidadeArray[2];
ELSE IFArrayCount(arrSplitRuaCidadeArray) =3
sRua=arrSplitRuaCidadeArray[1];
IFPositionOccurrence(arrSplitRuaCidadeArray[2],"-",firstRank) >0THEN
arrSplitNumeroArray isarray of strings StringToArray(arrSplitRuaCidadeArray[2],arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media isint= (Val(arrSplitNumeroArray[1]) +Val(arrSplitNumeroArray[2])) /2 DO sNumero=0 ELSE sNumero=Media END
ELSE
sNumero=arrSplitRuaCidadeArray[2];
END
sCidade=arrSplitRuaCidadeArray[3]; END
arrSplitEstadoCepPaisArray isarray of strings StringToArray(arrSplitArray[2],arrSplitEstadoCepPaisArray,",") IFArrayCount(arrSplitEstadoCepPaisArray) =2
sEstado=arrSplitEstadoCepPaisArray[1]; sPais=arrSplitEstadoCepPaisArray[2]; sCep=""
ELSE IFArrayCount(arrSplitEstadoCepPaisArray)=3
sEstado=arrSplitEstadoCepPaisArray[1]; sCep=arrSplitEstadoCepPaisArray[2]; sPais=arrSplitEstadoCepPaisArray[3]; ELSE
sEstado="" sCep="" sPais=""
END
END
sEstado=Capitalize(Clip(sEstado)) IFsEstado<>""
IFsEstado="Acre"THEN sEstado="AC" ELSE IFsEstado="Alagoas"THEN sEstado="AL" ELSE IFsEstado="Amazonas"THEN sEstado="AM" ELSE IFsEstado="Amapa"THEN sEstado="AP" ELSE IFsEstado="Bahia"THEN sEstado="BA" ELSE IFsEstado="Ceara"THEN sEstado="CE" ELSE IFsEstado="Distrito Federal"THEN sEstado="DF" ELSE IFsEstado="Espirito Santo"THEN sEstado="ES" ELSE IFsEstado="Goias"THEN sEstado="GO" ELSE IFsEstado="Maranhao"THEN sEstado="MA" ELSE IFsEstado="Minas Gerais"THEN sEstado="MG" ELSE IFsEstado="Mato Grosso do Sul"THEN sEstado="MS" ELSE IFsEstado="Mato Grosso"THEN sEstado="MT" ELSE IFsEstado="Parana"THEN sEstado="PR" ELSE IFsEstado="Para"THEN sEstado="PA" ELSE IFsEstado="Paraiba"THEN sEstado="PB" ELSE IFsEstado="Pernambuco"THEN sEstado="PE" ELSE IFsEstado="Piaui"THEN sEstado="PI" ELSE IFsEstado="Rio de Janeiro"THEN sEstado="RJ" ELSE IFsEstado="Rio Grande DO Norte"THEN sEstado="RN" ELSE IFsEstado="Rondonia"THEN sEstado="RO" ELSE IFsEstado="Roraima"THEN sEstado="RR" ELSE IFsEstado="Rio Grande DO Sul"THEN sEstado="RS" ELSE IFsEstado="Santa Catarina"THEN sEstado="SC" ELSE IFsEstado="Sergipe"THEN sEstado="SE" ELSE IFsEstado="Sao Paulo"THEN sEstado="SP" ELSE IFsEstado="Tocantins"THEN sEstado="TO" END
END
END arrResult isarray of strings
Add(arrResult,Capitalize(Clip(sRua))) Add(arrResult,Clip(sNumero)) Add(arrResult,Capitalize(Clip(sBairro))) Add(arrResult,Capitalize(Clip(sCidade))) Add(arrResult,Upper(Clip(sEstado))) Add(arrResult,Clip(sCep)) Add(arrResult,Capitalize(Clip(sPais)))
RESULTarrResult > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:23 |
WS_EnderecoDasCoordenadas #######################
ProcedureWS_EnderecoDasCoordenadas(LOCALpLatitude isstring,LOCALpLongitude isstring,LOCALDebugSN)
ok isboolean=False
Endereco,RetJson isstring=""
IFpLatitude<>0ANDpLongitude<>0ANDpLatitude<>NullANDpLongitude<>NullTHEN
Url isstring="http://maps.googleapis.com/maps/api/geocode/json?latlng="+pLatitude+","+pLongitude+"&sensor=true"
IFDebugSN="S" Info("01",Url) END
ok=HTTPRequest(Url)
IFok=TrueTHEN
ChangeCharset(charsetOccidental)
RetJson=HTTPGetResult(httpResult) IFLength(RetJson) =0THEN
ok=False ELSE
IFDebugSN="S" Info(Url,RetJson) END
TagEnd isstring="""formatted_address"" :"
i isint=PositionOccurrence(RetJson,TagEnd,firstRank,IgnoreCase) +Length(TagEnd)
Endereco=""
IFi>0THEN Endereco=ExtractString(RetJson[[i TO]],2,"""") END
IFEndereco=""ORRetJson="ERRO"THEN
Url="http://maps.googleapis.com/maps/api/geocode/xml?latlng="+pLatitude+","+pLongitude+"&sensor=true"
IFDebugSN="S" Info("02",Url) END
ok=HTTPRequest(Url) IFok=TrueTHEN
RetXml isstring=HTTPGetResult(httpResult)
IFLength(RetXml) =0THEN
ok=False ELSE
IFDebugSN="S" Info("Xml:",RetXml) END
IFPositionOccurrence(RetXml,"<formatted_address>",firstRank) >0THEN
nPosicaoInicial isint=PositionOccurrence(RetXml,"<formatted_address>",firstRank) +Length("<formatted_address>") nPosicaoFinal isint=PositionOccurrence(RetXml,"</formatted_address>",firstRank) +Length("</formatted_address>") nPosicaoFinal=nPosicaoFinal-nPosicaoInicial Endereco=Middle(RetXml,nPosicaoInicial,nPosicaoFinal)
END END END END END END
Endereco=WS_RemoveAcentos(Endereco)
END
RESULT(Endereco) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:23 |
WS_EnderecoRetornaLatLon #####################
ProcedureWS_EnderecoRetornaLatLon(LOCALEndereco)
ok isboolean=False
Retorno isstring=""
ChangeCharset(charsetOccidental)
inicio,fim isint=0
Endereco=NoAccent(Endereco)
Endereco=Replace(Endereco," ","+")
Endereco="http://maps.google.com/maps/api/geocode/xml?address="+Endereco+"&sensor=true"
ok=HTTPRequest(Endereco)
IFok=TrueTHEN
Retorno=HTTPGetResult(httpResult)
ChangeCharset(charsetOccidental)
Retorno=WS_RemoveAcentos(Retorno)
Retorno=Replace(Retorno,"Matriz,","")
Retorno=Replace(Retorno,"Matriz","")
IFRetorno<>NullTHEN
Retorno=Replace(Retorno,Charact(34),"")
IFPositionOccurrence(Retorno,"OVER_QUERY_LIMIT",firstRank,FromBeginning) >0THEN NextTitle("Atenção") Info("Excedeu a quantidade de pesquisas no google maps.") ELSE
IFPositionOccurrence(Retorno,"<formatted_address>",firstRank,IgnoreCase) >0THEN inicio=PositionOccurrence(Retorno,"<formatted_address>",firstRank,IgnoreCase) +19 fim=PositionOccurrence(Retorno,"</formatted_address>",firstRank,IgnoreCase) GloEnderecoLongo=Middle(Retorno,inicio,fim-inicio) END
IFPositionOccurrence(Retorno,"<lat>",firstRank,IgnoreCase) >0THEN inicio=PositionOccurrence(Retorno,"<lat>",firstRank,IgnoreCase) +5 fim=PositionOccurrence(Retorno,"</lat>",firstRank,IgnoreCase) -1 GloLatitudeLocalizada=Val(Middle(Retorno,inicio,fim-inicio),"d") END
IFPositionOccurrence(Retorno,"<lng>",firstRank,IgnoreCase) >0THEN inicio=PositionOccurrence(Retorno,"<lng>",firstRank,IgnoreCase) +5 fim=PositionOccurrence(Retorno,"</lng>",firstRank,IgnoreCase) -1 GloLongitudeLocalizada=Val(Middle(Retorno,inicio,fim-inicio),"d") END
Retorno=GloLatitudeLocalizada+";"+GloLongitudeLocalizada
END
END
END
RESULT(Retorno) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 21:24 |
WS_GeoIpLatitudeLongitude #####################
ProcedureWS_GeoIpLatitudeLongitude()
ok,achou isboolean=False
sUrl01 isstring="https://geoiptool.com/"
sUrl02 isstring="http://www.geoipview.com/"
nInicio,nFim isint=0
Retorno is Buffer
sHost,IP,sCidade,sEstado,sPais,sCodPais,sHoraLocal,sCodigoPostal,sLatitude,sLongitude isstring=""
HTTPTimeOut(10000)
ok=HTTPRequest(sUrl01)
IFok=TrueTHEN
Retorno=HTTPGetResult(httpResult)
IFPositionOccurrence(Retorno,"<html",firstRank,FromBeginning) =0THEN
Retorno=""
ELSE
Retorno=Lower(Retorno) Retorno=WS_RemoveAcentos(Retorno) Retorno=Replace(Retorno,"'","") Retorno=Replace(Retorno,Charact(34),"") Retorno=Replace(Retorno,CRLF,"") Retorno=Replace(Retorno,Charact(9),"") Retorno=Replace(Retorno,Charact(13),"") Retorno=Replace(Retorno,Charact(10),"") Retorno=Replace(Retorno,Charact(13)+Charact(10),"") Retorno=Replace(Retorno,"</span><span><td>","") Retorno=Replace(Retorno,"</span><span>","") Retorno=Replace(Retorno,"</td></span></div>","") Retorno=Replace(Retorno,"<div class=data-item>","") Retorno=Replace(Retorno,"<div Class=data-item><span Class=bold>","") Retorno=Replace(Retorno,"<div class=data-item><span class=bold>","") Retorno=Replace(Retorno,"</span></div><div Class=data-item><span Class=bold>","") Retorno=Replace(Retorno,"</span></div><div class=data-item><span class=bold>","") Retorno=Replace(Retorno,"<img src=../static/img/flags/br.gif>","") Retorno=Replace(Retorno,"</span></div>","") Retorno=Lower(Retorno)
IFPositionOccurrence(Retorno,"<div class=sidebar-data hidden-xs hidden-sm style=margin-top: 5px>",firstRank,FromBeginning) >0THEN
nInicio=PositionOccurrence(Retorno,"<div class=sidebar-data hidden-xs hidden-sm style=margin-top: 5px>",firstRank,FromBeginning)
IFPositionOccurrence(Retorno,"<div class=mobile-button-display-hidden data-value=0>",firstRank,FromBeginning) >0THEN
nFim=PositionOccurrence(Retorno,"<div class=mobile-button-display-hidden data-value=0>",firstRank,FromBeginning)
Retorno=Middle(Retorno,nInicio,nFim-nInicio)
IFPositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning) >0AND... PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning) >0AND... PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning) >0 achou=True ELSE achou=False END
ELSE
IFPositionOccurrence(Retorno,"<div class=col-md-8 column>",firstRank,FromBeginning) >0THEN
nFim=PositionOccurrence(Retorno,"<div class=col-md-8 column>",firstRank,FromBeginning)
Retorno=Middle(Retorno,nInicio,nFim-nInicio)
IFPositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning) >0AND... PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning) >0AND... PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning) >0 achou=True ELSE achou=False END
END
END
IFachou=True
nInicio=PositionOccurrence(Retorno,"hostname:",firstRank,FromBeginning)+Length("hostname:") nFim=PositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning) sHost=Middle(Retorno,nInicio,nFim-nInicio)
sHost=Replace(sHost,"</span><span><td>","") sHost=Replace(sHost,"</span><span>","") sHost=Replace(sHost,"</td></span></div>","") sHost=Replace(sHost,"<div class=data-item>","") sHost=Replace(sHost,"<div Class=data-item><span Class=bold>","") sHost=Replace(sHost,"<div class=data-item><span class=bold>","") sHost=Replace(sHost,"</span></div><div Class=data-item><span Class=bold>","") sHost=Replace(sHost,"</span></div><div class=data-item><span class=bold>","") sHost=Replace(sHost,"<img src=../static/img/flags/br.gif>","") sHost=Replace(sHost,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning)+Length("ip address:") nFim=PositionOccurrence(Retorno,"country:",firstRank,FromBeginning) IP=Middle(Retorno,nInicio,nFim-nInicio)
IP=Replace(IP,"</span><span><td>","") IP=Replace(IP,"</span><span>","") IP=Replace(IP,"</td></span></div>","") IP=Replace(IP,"<div class=data-item>","") IP=Replace(IP,"<div Class=data-item><span Class=bold>","") IP=Replace(IP,"<div class=data-item><span class=bold>","") IP=Replace(IP,"</span></div><div Class=data-item><span Class=bold>","") IP=Replace(IP,"</span></div><div class=data-item><span class=bold>","") IP=Replace(IP,"<img src=../static/img/flags/br.gif>","") IP=Replace(IP,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"country:",firstRank,FromBeginning)+Length("country:") nFim=PositionOccurrence(Retorno,"country code:",firstRank,FromBeginning) sPais=Middle(Retorno,nInicio,nFim-nInicio)
sPais=Replace(sPais,"</span><span><td>","") sPais=Replace(sPais,"</span><span>","") sPais=Replace(sPais,"</td></span></div>","") sPais=Replace(sPais,"<div class=data-item>","") sPais=Replace(sPais,"<div Class=data-item><span Class=bold>","") sPais=Replace(sPais,"<div class=data-item><span class=bold>","") sPais=Replace(sPais,"</span></div><div Class=data-item><span Class=bold>","") sPais=Replace(sPais,"</span></div><div class=data-item><span class=bold>","") sPais=Replace(sPais,"<img src=../static/img/flags/br.gif>","") sPais=Replace(sPais,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"country code:",firstRank,FromBeginning)+Length("country code:") nFim=PositionOccurrence(Retorno,"region:",firstRank,FromBeginning) sCodPais=Middle(Retorno,nInicio,nFim-nInicio)
sCodPais=Replace(sCodPais,"</span><span><td>","") sCodPais=Replace(sCodPais,"</span><span>","") sCodPais=Replace(sCodPais,"</td></span></div>","") sCodPais=Replace(sCodPais,"<div class=data-item>","") sCodPais=Replace(sCodPais,"<div Class=data-item><span Class=bold>","") sCodPais=Replace(sCodPais,"<div class=data-item><span class=bold>","") sCodPais=Replace(sCodPais,"</span></div><div Class=data-item><span Class=bold>","") sCodPais=Replace(sCodPais,"</span></div><div class=data-item><span class=bold>","") sCodPais=Replace(sCodPais,"<img src=../static/img/flags/br.gif>","") sCodPais=Replace(sCodPais,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"region:",firstRank,FromBeginning)+Length("region:") nFim=PositionOccurrence(Retorno,"city:",firstRank,FromBeginning) sEstado=Middle(Retorno,nInicio,nFim-nInicio)
sEstado=Replace(sEstado,"</span><span><td>","") sEstado=Replace(sEstado,"</span><span>","") sEstado=Replace(sEstado,"</td></span></div>","") sEstado=Replace(sEstado,"<div class=data-item>","") sEstado=Replace(sEstado,"<div Class=data-item><span Class=bold>","") sEstado=Replace(sEstado,"<div class=data-item><span class=bold>","") sEstado=Replace(sEstado,"</span></div><div Class=data-item><span Class=bold>","") sEstado=Replace(sEstado,"</span></div><div class=data-item><span class=bold>","") sEstado=Replace(sEstado,"<img src=../static/img/flags/br.gif>","") sEstado=Replace(sEstado,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"city:",firstRank,FromBeginning)+Length("city:") nFim=PositionOccurrence(Retorno,"local time:",firstRank,FromBeginning) sCidade=Middle(Retorno,nInicio,nFim-nInicio)
sCidade=Replace(sCidade,"</span><span><td>","") sCidade=Replace(sCidade,"</span><span>","") sCidade=Replace(sCidade,"</td></span></div>","") sCidade=Replace(sCidade,"<div class=data-item>","") sCidade=Replace(sCidade,"<div Class=data-item><span Class=bold>","") sCidade=Replace(sCidade,"<div class=data-item><span class=bold>","") sCidade=Replace(sCidade,"</span></div><div Class=data-item><span Class=bold>","") sCidade=Replace(sCidade,"</span></div><div class=data-item><span class=bold>","") sCidade=Replace(sCidade,"<img src=../static/img/flags/br.gif>","") sCidade=Replace(sCidade,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"local time:",firstRank,FromBeginning)+Length("local time:") nFim=PositionOccurrence(Retorno,"postal code:",firstRank,FromBeginning) sHoraLocal=Middle(Retorno,nInicio,nFim-nInicio)
sHoraLocal=Replace(sHoraLocal,"</span><span><td>","") sHoraLocal=Replace(sHoraLocal,"</span><span>","") sHoraLocal=Replace(sHoraLocal,"</td></span></div>","") sHoraLocal=Replace(sHoraLocal,"<div class=data-item>","") sHoraLocal=Replace(sHoraLocal,"<div Class=data-item><span Class=bold>","") sHoraLocal=Replace(sHoraLocal,"<div class=data-item><span class=bold>","") sHoraLocal=Replace(sHoraLocal,"</span></div><div Class=data-item><span Class=bold>","") sHoraLocal=Replace(sHoraLocal,"</span></div><div class=data-item><span class=bold>","") sHoraLocal=Replace(sHoraLocal,"<img src=../static/img/flags/br.gif>","") sHoraLocal=Replace(sHoraLocal,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"postal code:",firstRank,FromBeginning)+Length("postal code:") nFim=PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning) sCodigoPostal=Middle(Retorno,nInicio,nFim-nInicio)
sCodigoPostal=Replace(sCodigoPostal,"</span><span><td>","") sCodigoPostal=Replace(sCodigoPostal,"</span><span>","") sCodigoPostal=Replace(sCodigoPostal,"</td></span></div>","") sCodigoPostal=Replace(sCodigoPostal,"<div class=data-item>","") sCodigoPostal=Replace(sCodigoPostal,"<div Class=data-item><span Class=bold>","") sCodigoPostal=Replace(sCodigoPostal,"<div class=data-item><span class=bold>","") sCodigoPostal=Replace(sCodigoPostal,"</span></div><div Class=data-item><span Class=bold>","") sCodigoPostal=Replace(sCodigoPostal,"</span></div><div class=data-item><span class=bold>","") sCodigoPostal=Replace(sCodigoPostal,"<img src=../static/img/flags/br.gif>","") sCodigoPostal=Replace(sCodigoPostal,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning)+Length("latitude:") nFim=PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning) sLatitude=Middle(Retorno,nInicio,nFim-nInicio)
sLatitude=Replace(sLatitude,"</span><span><td>","") sLatitude=Replace(sLatitude,"</span><span>","") sLatitude=Replace(sLatitude,"</td></span></div>","") sLatitude=Replace(sLatitude,"<div class=data-item>","") sLatitude=Replace(sLatitude,"<div Class=data-item><span Class=bold>","") sLatitude=Replace(sLatitude,"<div class=data-item><span class=bold>","") sLatitude=Replace(sLatitude,"</span></div><div Class=data-item><span Class=bold>","") sLatitude=Replace(sLatitude,"</span></div><div class=data-item><span class=bold>","") sLatitude=Replace(sLatitude,"<img src=../static/img/flags/br.gif>","") sLatitude=Replace(sLatitude,"</span></div>","")
Retorno=Middle(Retorno,nFim,Length(Retorno))
nInicio=PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning)+Length("longitude:") nFim=20 sLongitude=Middle(Retorno,nInicio,nFim) sLongitude=Replace(sLongitude,"</span></div><","")
sLongitude=Replace(sLongitude,"</span><span><td>","") sLongitude=Replace(sLongitude,"</span><span>","") sLongitude=Replace(sLongitude,"</td></span></div>","") sLongitude=Replace(sLongitude,"<div class=data-item>","") sLongitude=Replace(sLongitude,"<div Class=data-item><span Class=bold>","") sLongitude=Replace(sLongitude,"<div class=data-item><span class=bold>","") sLongitude=Replace(sLongitude,"</span></div><div Class=data-item><span Class=bold>","") sLongitude=Replace(sLongitude,"</span></div><div class=data-item><span class=bold>","") sLongitude=Replace(sLongitude,"<img src=../static/img/flags/br.gif>","") sLongitude=Replace(sLongitude,"</span></div>","") sLongitude=Replace(sLongitude,"</div><div cla","") sLongitude=Replace(sLongitude,"</div><div Cla","")
Retorno="Latitude: "+sLatitude+" Longitude: "+sLongitude
END
END
END
END
IFRetorno=""THEN
ok=HTTPRequest(sUrl02)
Retorno=HTTPGetResult(httpResult)
ok=fSaveBuffer("c:\temp\geoip.txt",Retorno)
IFPositionOccurrence(Retorno,"<html",firstRank,FromBeginning) =0THEN
Retorno=""
ELSE
Retorno=Replace(Retorno,Charact(34),"") Retorno=Replace(Retorno,"'","") Retorno="Latitude: "+sLatitude+" Longitude: "+sLongitude
END
END
gslatitude=sLatitude gslongitude=sLongitude gsCidade=Upper(sCidade) gsUf=Upper(sEstado)
IFIP<>"" gsIpFixo=IP END
RESULT(Retorno) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 29 août 2015 - 23:15 |
> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 25 avril 2017 - 20:43 |
| |
| |
| | | |
|
| | | | |
| | |
|