|
Wx - Busca Endereço Rota e Endereço das coordendas |
Iniciado por adrianoboller, 29,ago. 2015 21:18 - 8 respuestas |
| |
| | | |
|
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:18 |
Procedure CEP_FuncaoBuscarEndereco(sEndereco, sNumero, sCidade, sUF)
sEnderecoLongo is string arrResult1 is array of strings EnderecoInicial, sEnderecoLocalizadoLongo is string = ""
IF sNumero = 0 OR sNumero = "" OR IsNumeric(sNumero) = False THEN sNumero = 10 END
IF sUF = "" THEN sUF = "PR" END
IF sNumero = 0 OR sNumero = "" OR IsNumeric(sNumero) = False THEN sNumero = 10 END
EnderecoInicial = sEndereco +"-"+ sNumero +"-"+ sCidade +"-"+ sUF +"-Brasil"
sEnderecoLongo = CEP_Rota(EnderecoInicial,EnderecoInicial,"")
IF sEnderecoLongo <> "" AND sEnderecoLongo <> "ERRO" THEN
arrResult1 = CEP_ExtrairEndereco(sEnderecoLongo)
ELSE ArrayDeleteAll(arrResult1)
END
RESULT(arrResult1) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:20 |
OD = "O" LocEndereco is array of string gLoOrigemLocalizado = False
IF EDT_CidadeOrigem = "" OR COD_LOC_ORIG = 0 Info("Obrigatório informar a cidade de origem") RETURN END
IF EDT_EnderecoOrigem <> "" LocEndereco = CEP_FuncaoBuscarEndereco(EDT_EnderecoOrigem +" - "+ EDT_CidadeOrigem,EDT_NumOrigem,"","") IF ArrayCount(LocEndereco) > 0 THEN 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
|
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:21 |
Procedure CEP_Rota(LOCAL Origem, LOCAL Destino, LOCAL DebugSN)
IF Origem <> "" AND Destino = "" THEN Destino = Origem END
nVirgula is int = 0
gbLocalizouRota is boolean
nID_Numero is int = 1 nID_Endereco is int = 1 nID_Bairro01 is int = 1 nID_Bairro02 is int = 1 nID_Cidade01 is int = 1 nID_Cidade02 is int = 1 nID_Estado is int = 1 nID_Pais is int = 1 nID_CEP is int = 1 nQTD_ADDRESS_COMPONENT is int = 0
GloRotaEncode is string
GloVoceEnderecoLongo = "ERRO" GloDestinoEnderecoLongo = "ERRO"
GloLatitudeNorte = "" GloLongitudeNorte = ""
GloLatitudeSul = "" GloLongitudeSul = ""
GloTempoDestino = "" GloTempoDestinoText = "" GloTempoTaxi = ""
GloDistanciaDestino = "" GloDistanciaDestinoText = "" GloDistanciaTaxi = ""
ok is boolean = False
IF Origem <> "" AND Destino <> ""
ChangeCharset(charsetOccidental)
Origem = Replace(Origem," ","+")
Origem = Capitalize(WS_RemoveAcentos(Origem))
Destino = Replace(Destino," ","+")
Destino = Capitalize( WS_RemoveAcentos(Destino))
UrlRota is string = "http://maps.googleapis.com/maps/api/directions/xml?origin="+Origem+"&destination="+Destino+"&sensor=false&mode=driving"
IF DebugSN ="S" THEN Info("URL Busca Origem Google",UrlRota) END ok = HTTPRequest(UrlRota)
IF ok = True THEN
XmlResultado is string = CEP_HTTPGetResult()
IF PositionOccurrence(XmlResultado,"<status>OK</status>",firstRank,FromBeginning) > 0 OR PositionOccurrence(XmlResultado,"<status>ok</status>",firstRank,FromBeginning) > 0
IF Length(XmlResultado) > 0 THEN
GloRotaEncode = XmlResultado nInicioPoint is int = PositionOccurrence(XmlResultado,"<copyrights>",firstRank,FromBeginning) GloRotaEncode = Middle(XmlResultado,nInicioPoint,Length(XmlResultado)) nInicioPoint = PositionOccurrence(GloRotaEncode,"<points>",firstRank,FromBeginning)+Length("<points>") nFinalPoint is int = PositionOccurrence(GloRotaEncode,"</points>",firstRank,FromBeginning) GloRotaEncode = Middle(GloRotaEncode,nInicioPoint,nFinalPoint-nInicioPoint)
IF DebugSN = "S" Info("POINT",GloRotaEncode,"",XmlResultado) END
XmlResultado = WS_RemoveAcentos(XmlResultado)
sXmlResultadoRetorno is string = XmlResultado
XmlResultado = CEP_RemoveCaracteresRota(XmlResultado)
IF DebugSN ="S" THEN Info("Retorno XML Busca Origem",XmlResultado) END
nInicio is int = PositionOccurrence(XmlResultado,"</step>",lastRank,FromBeginning) + 7 XmlResultado = Middle(XmlResultado,nInicio,Length(XmlResultado)) XmlResultado = "<leg>"+XmlResultado
nFim is int = PositionOccurrence(XmlResultado,"</leg>",firstRank,FromBeginning) + 5 XmlResultado = Middle(XmlResultado,1,nFim)
IF IniOSMode() = True THEN
NoXml is string = XMLExtractString(XmlResultado,"leg")
GloVoceEnderecoLongo = XMLExtractString(NoXml,"start_address") GloVoceEnderecoLongo = Capitalize(GloVoceEnderecoLongo)
GloDestinoEnderecoLongo = XMLExtractString(NoXml,"end_address") GloDestinoEnderecoLongo = Capitalize(GloDestinoEnderecoLongo)
NoXml1 is string = 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") IF Val(XMLExtractString(NoXml1,"lat")) < 0 GloVoceLatitude = XMLExtractString(NoXml1,"lat") GloVoceLongitude = XMLExtractString(NoXml1,"lng") END
NoXml1 = XMLExtractString(NoXml,"end_location") IF Val(XMLExtractString(NoXml1,"lat")) < 0 THEN GloDestinoLatitude = XMLExtractString(NoXml1,"lat") GloDestinoLongitude = XMLExtractString(NoXml1,"lng") END
ELSE
XmlDoc02 is XMLDocument 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
IF XmlDoc02.leg.start_location.lat < 0 GloVoceLatitude = XmlDoc02.leg.start_location.lat GloVoceLongitude = XmlDoc02.leg.start_location.lng END
IF XmlDoc02.leg.end_location.lat < 0 THEN 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
IF DebugSN = "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
IF CEP_QtdeOccurrence(GloVoceEnderecoLongo," - ") = 1 GloVoceEndereco = "" GloVoceNumero = "" GloVoceEnderecoLongo = "ERRO" GloVoceLatitude = 0 GloVoceLongitude = 0 END
IF CEP_QtdeOccurrence(GloDestinoEnderecoLongo," - ") = 1 GloDestinoEndereco = "" GloDestinoNumero = "" GloDestinoEnderecoLongo = "ERRO" END IF DebugSN = "S" IF GloVoceEnderecoLongo = "ERRO" OR GloDestinoEnderecoLongo = "ERRO" Info("Endereço inválido") END END
RESULT(GloVoceEnderecoLongo) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:22 |
Procedure CEP_ExtrairEndereco(endereco)
sRua, sNumero, sBairro, sCidade, sEstado, sPais, sCep is string = ""
IF endereco <> ""
endereco = Replace(endereco,"State Of ", "",IgnoreCase)
arrSplitArray is array of strings StringToArray(endereco, arrSplitArray," - ")
IF ArrayCount(arrSplitArray) = 4
arrSplitRuaNumeroArray is array of strings StringToArray(arrSplitArray[2], arrSplitRuaNumeroArray,",")
IF ArrayCount(arrSplitRuaNumeroArray) = 1
sRua = arrSplitRuaNumeroArray[1];
sNumero = "0";
ELSE IF ArrayCount(arrSplitRuaNumeroArray) = 2
sRua = arrSplitRuaNumeroArray[1];
IF PositionOccurrence(arrSplitRuaNumeroArray[2],"-",firstRank) > 0 THEN
arrSplitNumeroArray is array of strings StringToArray(arrSplitRuaNumeroArray[2], arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media is int = (Val(arrSplitNumeroArray[1]) + Val(arrSplitNumeroArray[2])) / 2 DO sNumero = 0 ELSE sNumero = Media END
ELSE
sNumero = arrSplitRuaNumeroArray[2];
END
END
arrSplitBairroCidadeArray is array of strings StringToArray(arrSplitArray[3], arrSplitBairroCidadeArray,",")
IF ArrayCount(arrSplitBairroCidadeArray) = 2
sBairro =arrSplitBairroCidadeArray[1]; sCidade = arrSplitBairroCidadeArray[2];
ELSE IF (ArrayCount(arrSplitBairroCidadeArray) = 3)
sBairro = arrSplitBairroCidadeArray[1]; sCidade = arrSplitBairroCidadeArray[3];
ELSE
sBairro = ""; sCidade = "";
END
arrSplitEstadoCepPaisArray is array of strings StringToArray(arrSplitArray[4], arrSplitEstadoCepPaisArray,",")
IF ArrayCount(arrSplitEstadoCepPaisArray) = 2
sEstado = arrSplitEstadoCepPaisArray[1]; sPais = arrSplitEstadoCepPaisArray[2]; sCep = ""
ELSE IF ArrayCount(arrSplitEstadoCepPaisArray)= 3
sEstado = arrSplitEstadoCepPaisArray[1]; sCep = arrSplitEstadoCepPaisArray[2]; sPais = arrSplitEstadoCepPaisArray[3]; ELSE
sEstado = "" sCep = "" sPais = ""
END ELSE IF ArrayCount(arrSplitArray) = 3
arrSplitRuaNumeroArray is array of strings StringToArray(arrSplitArray[1], arrSplitRuaNumeroArray,",")
IF ArrayCount(arrSplitRuaNumeroArray) = 1
sRua = arrSplitRuaNumeroArray[1];
sNumero = "0";
ELSE IF ArrayCount(arrSplitRuaNumeroArray) = 2
sRua = arrSplitRuaNumeroArray[1];
IF PositionOccurrence(arrSplitRuaNumeroArray[2],"-",firstRank) > 0 THEN
arrSplitNumeroArray is array of strings StringToArray(arrSplitRuaNumeroArray[2], arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media is int = (Val(arrSplitNumeroArray[1]) + Val(arrSplitNumeroArray[2])) / 2 DO sNumero = 0 ELSE sNumero = Media END
ELSE
sNumero = arrSplitRuaNumeroArray[2];
END
END
arrSplitBairroCidadeArray is array of strings StringToArray(arrSplitArray[2], arrSplitBairroCidadeArray,",")
IF ArrayCount(arrSplitBairroCidadeArray) = 2
sBairro =arrSplitBairroCidadeArray[1]; sCidade = arrSplitBairroCidadeArray[2];
ELSE IF (ArrayCount(arrSplitBairroCidadeArray) = 3)
sBairro = arrSplitBairroCidadeArray[1]; sCidade = arrSplitBairroCidadeArray[3];
ELSE
sBairro = ""; sCidade = "";
END
arrSplitEstadoCepPaisArray is array of strings StringToArray(arrSplitArray[3], arrSplitEstadoCepPaisArray,",")
IF ArrayCount(arrSplitEstadoCepPaisArray) = 2
sEstado = arrSplitEstadoCepPaisArray[1]; sPais = arrSplitEstadoCepPaisArray[2]; sCep = ""
ELSE IF ArrayCount(arrSplitEstadoCepPaisArray)= 3
sEstado = arrSplitEstadoCepPaisArray[1]; sCep = arrSplitEstadoCepPaisArray[2]; sPais = arrSplitEstadoCepPaisArray[3]; ELSE
sEstado = "" sCep = "" sPais = ""
END ELSE IF ArrayCount(arrSplitArray) = 2
arrSplitRuaCidadeArray is array of strings StringToArray(arrSplitArray[1], arrSplitRuaCidadeArray,",")
sNumero = "0"; IF ArrayCount(arrSplitRuaCidadeArray) = 1
sRua = arrSplitRuaCidadeArray[1];
ELSE IF ArrayCount(arrSplitRuaCidadeArray) = 2
sRua = arrSplitRuaCidadeArray[1]; sCidade = arrSplitRuaCidadeArray[2];
ELSE IF ArrayCount(arrSplitRuaCidadeArray) = 3
sRua = arrSplitRuaCidadeArray[1];
IF PositionOccurrence(arrSplitRuaCidadeArray[2],"-",firstRank) > 0 THEN
arrSplitNumeroArray is array of strings StringToArray(arrSplitRuaCidadeArray[2], arrSplitNumeroArray,"-")
WHEN EXCEPTION IN Media is int = (Val(arrSplitNumeroArray[1]) + Val(arrSplitNumeroArray[2])) / 2 DO sNumero = 0 ELSE sNumero = Media END
ELSE
sNumero = arrSplitRuaCidadeArray[2];
END
sCidade = arrSplitRuaCidadeArray[3]; END
arrSplitEstadoCepPaisArray is array of strings StringToArray(arrSplitArray[2], arrSplitEstadoCepPaisArray,",") IF ArrayCount(arrSplitEstadoCepPaisArray) = 2
sEstado = arrSplitEstadoCepPaisArray[1]; sPais = arrSplitEstadoCepPaisArray[2]; sCep = ""
ELSE IF ArrayCount(arrSplitEstadoCepPaisArray)= 3
sEstado = arrSplitEstadoCepPaisArray[1]; sCep = arrSplitEstadoCepPaisArray[2]; sPais = arrSplitEstadoCepPaisArray[3]; ELSE
sEstado = "" sCep = "" sPais = ""
END
END
sEstado = Capitalize(Clip(sEstado)) IF sEstado <> ""
IF sEstado = "Acre" THEN sEstado = "AC" ELSE IF sEstado = "Alagoas" THEN sEstado = "AL" ELSE IF sEstado = "Amazonas" THEN sEstado = "AM" ELSE IF sEstado = "Amapa" THEN sEstado = "AP" ELSE IF sEstado = "Bahia" THEN sEstado = "BA" ELSE IF sEstado = "Ceara" THEN sEstado = "CE" ELSE IF sEstado = "Distrito Federal" THEN sEstado = "DF" ELSE IF sEstado = "Espirito Santo" THEN sEstado = "ES" ELSE IF sEstado = "Goias" THEN sEstado = "GO" ELSE IF sEstado = "Maranhao" THEN sEstado = "MA" ELSE IF sEstado = "Minas Gerais" THEN sEstado = "MG" ELSE IF sEstado = "Mato Grosso do Sul" THEN sEstado = "MS" ELSE IF sEstado = "Mato Grosso" THEN sEstado = "MT" ELSE IF sEstado = "Parana" THEN sEstado = "PR" ELSE IF sEstado = "Para" THEN sEstado = "PA" ELSE IF sEstado = "Paraiba" THEN sEstado = "PB" ELSE IF sEstado = "Pernambuco" THEN sEstado = "PE" ELSE IF sEstado = "Piaui" THEN sEstado = "PI" ELSE IF sEstado = "Rio de Janeiro" THEN sEstado = "RJ" ELSE IF sEstado = "Rio Grande DO Norte" THEN sEstado = "RN" ELSE IF sEstado = "Rondonia" THEN sEstado = "RO" ELSE IF sEstado = "Roraima" THEN sEstado = "RR" ELSE IF sEstado = "Rio Grande DO Sul" THEN sEstado = "RS" ELSE IF sEstado = "Santa Catarina" THEN sEstado = "SC" ELSE IF sEstado = "Sergipe" THEN sEstado = "SE" ELSE IF sEstado = "Sao Paulo" THEN sEstado = "SP" ELSE IF sEstado = "Tocantins" THEN sEstado = "TO" END
END
END arrResult is array 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)))
RESULT arrResult |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:23 |
WS_EnderecoDasCoordenadas #######################
Procedure WS_EnderecoDasCoordenadas(LOCAL pLatitude is string, LOCAL pLongitude is string, LOCAL DebugSN)
ok is boolean = False
Endereco, RetJson is string = ""
IF pLatitude <> 0 AND pLongitude <> 0 AND pLatitude <> Null AND pLongitude <> Null THEN
Url is string = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + pLatitude + "," + pLongitude + "&sensor=true"
IF DebugSN = "S" Info("01",Url) END
ok = HTTPRequest(Url)
IF ok = True THEN
ChangeCharset(charsetOccidental)
RetJson = HTTPGetResult(httpResult) IF Length(RetJson) = 0 THEN
ok= False ELSE
IF DebugSN = "S" Info(Url,RetJson) END
TagEnd is string = """formatted_address"" :"
i is int = PositionOccurrence(RetJson, TagEnd, firstRank, IgnoreCase ) + Length(TagEnd)
Endereco = ""
IF i> 0 THEN Endereco = ExtractString(RetJson[[i TO]],2,"""") END
IF Endereco = "" OR RetJson = "ERRO" THEN
Url = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" + pLatitude + "," + pLongitude + "&sensor=true"
IF DebugSN = "S" Info("02",Url) END
ok = HTTPRequest(Url) IF ok = True THEN
RetXml is string = HTTPGetResult(httpResult)
IF Length(RetXml) = 0 THEN
ok= False ELSE
IF DebugSN = "S" Info("Xml:",RetXml) END
IF PositionOccurrence(RetXml,"<formatted_address>",firstRank) > 0 THEN
nPosicaoInicial is int = PositionOccurrence(RetXml,"<formatted_address>",firstRank) + Length("<formatted_address>") nPosicaoFinal is int = 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) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:23 |
WS_EnderecoRetornaLatLon #####################
Procedure WS_EnderecoRetornaLatLon(LOCAL Endereco)
ok is boolean = False
Retorno is string = ""
ChangeCharset(charsetOccidental)
inicio, fim is int = 0
Endereco = NoAccent(Endereco)
Endereco = Replace(Endereco," ","+")
Endereco = "http://maps.google.com/maps/api/geocode/xml?address="+Endereco+"&sensor=true"
ok = HTTPRequest(Endereco)
IF ok = True THEN
Retorno = HTTPGetResult(httpResult)
ChangeCharset(charsetOccidental)
Retorno = WS_RemoveAcentos(Retorno)
Retorno = Replace(Retorno,"Matriz,","")
Retorno = Replace(Retorno,"Matriz","")
IF Retorno <> Null THEN
Retorno = Replace(Retorno,Charact(34),"")
IF PositionOccurrence(Retorno,"OVER_QUERY_LIMIT",firstRank,FromBeginning) > 0 THEN NextTitle("Atenção") Info("Excedeu a quantidade de pesquisas no google maps.") ELSE
IF PositionOccurrence(Retorno,"<formatted_address>",firstRank,IgnoreCase) > 0 THEN inicio = PositionOccurrence(Retorno,"<formatted_address>",firstRank,IgnoreCase) + 19 fim = PositionOccurrence(Retorno,"</formatted_address>",firstRank,IgnoreCase) GloEnderecoLongo = Middle(Retorno,inicio,fim-inicio) END
IF PositionOccurrence(Retorno,"<lat>",firstRank,IgnoreCase) > 0 THEN inicio = PositionOccurrence(Retorno,"<lat>",firstRank,IgnoreCase) + 5 fim = PositionOccurrence(Retorno,"</lat>",firstRank,IgnoreCase) - 1 GloLatitudeLocalizada = Val(Middle(Retorno,inicio,fim-inicio),"d") END
IF PositionOccurrence(Retorno,"<lng>",firstRank,IgnoreCase) > 0 THEN 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) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 21:24 |
WS_GeoIpLatitudeLongitude #####################
Procedure WS_GeoIpLatitudeLongitude()
ok, achou is boolean = False
sUrl01 is string = "https://geoiptool.com/"
sUrl02 is string = "http://www.geoipview.com/"
nInicio, nFim is int = 0
Retorno is Buffer
sHost, IP, sCidade, sEstado, sPais, sCodPais, sHoraLocal, sCodigoPostal, sLatitude, sLongitude is string = ""
HTTPTimeOut(10000)
ok = HTTPRequest(sUrl01)
IF ok = True THEN
Retorno = HTTPGetResult(httpResult)
IF PositionOccurrence(Retorno,"<html",firstRank,FromBeginning) = 0 THEN
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)
IF PositionOccurrence(Retorno,"<div class=sidebar-data hidden-xs hidden-sm style=margin-top: 5px>",firstRank,FromBeginning) > 0 THEN
nInicio = PositionOccurrence(Retorno,"<div class=sidebar-data hidden-xs hidden-sm style=margin-top: 5px>",firstRank,FromBeginning)
IF PositionOccurrence(Retorno,"<div class=mobile-button-display-hidden data-value=0>",firstRank,FromBeginning) > 0 THEN
nFim = PositionOccurrence(Retorno,"<div class=mobile-button-display-hidden data-value=0>",firstRank,FromBeginning)
Retorno = Middle(Retorno,nInicio,nFim-nInicio)
IF PositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning) > 0 AND... PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning) > 0 AND... PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning) > 0 achou = True ELSE achou = False END
ELSE
IF PositionOccurrence(Retorno,"<div class=col-md-8 column>",firstRank,FromBeginning) > 0 THEN
nFim = PositionOccurrence(Retorno,"<div class=col-md-8 column>",firstRank,FromBeginning)
Retorno = Middle(Retorno,nInicio,nFim-nInicio)
IF PositionOccurrence(Retorno,"ip address:",firstRank,FromBeginning) > 0 AND... PositionOccurrence(Retorno,"latitude:",firstRank,FromBeginning) > 0 AND... PositionOccurrence(Retorno,"longitude:",firstRank,FromBeginning) > 0 achou = True ELSE achou = False END
END
END
IF achou = 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
IF Retorno = "" THEN
ok = HTTPRequest(sUrl02)
Retorno = HTTPGetResult(httpResult)
ok = fSaveBuffer("c:\temp\geoip.txt",Retorno)
IF PositionOccurrence(Retorno,"<html",firstRank,FromBeginning) = 0 THEN
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)
IF IP <> "" gsIpFixo=IP END
RESULT(Retorno) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 29,agosto 2015 - 23:15 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.651 mensajes Popularité : +175 (223 votes) |
|
Publicado el 25,abril 2017 - 20:43 |
| |
| |
| | | |
|
| | | | |
| | |
|