|
Example Variable Struct Table Memory |
Débuté par adrianoboller, 23 déc. 2014 11:57 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 23 décembre 2014 - 11:57 |
Procedure WS_ExtrairEndereco(endereco)
IF GloDebugSN = "S" THEN NextTitle("Extrair Endereço") Info("WS_ExtrairEndereco",endereco) END
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) = 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)))
IF GloDebugSN = "S" THEN NextTitle("Extrair Endereço") Info(arrResult[1],arrResult[2],arrResult[3],arrResult[4],arrResult[5],arrResult[6],arrResult[7]) END
RESULT arrResult |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 23 décembre 2014 - 11:57 |
RETURN FUNCTION Up:
arrResult1 is array of strings = WS_ExtrairEndereco(GloDestinoEnderecoLongo)
GloDestinoEndereco = arrResult1[1] GloDestinoNumero = arrResult1[2] GloDestinoBairro = arrResult1[3] GloDestinoCidade = arrResult1[4] GloDestinoUf = arrResult1[5] GloDestinoCep = arrResult1[6] GloDestinoPais = arrResult1[7] |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 23 décembre 2014 - 11:59 |
Example 2
Procedure TesteResultWebService1()
XML_Retorno,NumProces is string = "" ok is boolean = False
sIpSaladaFruta01 is string = Morango_01 +"."+ Abacaxi_02 +"."+ Limao_03 +"."+ Melancia_04 +":"+ Laranja_05 sIpSaladaFruta02 is string = Morango_01 +"."+ Abacaxi_02 +"."+ Limao_03 +"."+ Melancia_04 +":"+ Manga_06
NumProces = WS_Taxi_ValidaRequisicao("41",... "98701006",... 0,... 0,... "N")
Xml_SEND is string = [ <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:act297_RtPlusSSDM-IRtPlusSSDM#ObterRelacaoDeVeiculosLogados"> <soapenv:Header/> <soapenv:Body> <urn:ObterRelacaoDeVeiculosLogados soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <cod_client_celula xsi:type="xsd:int">V001</cod_client_celula> <dat_hora_proces xsi:type="xsd:string">V002</dat_hora_proces> <num_proces xsi:type="xsd:int">V003</num_proces> </urn:ObterRelacaoDeVeiculosLogados> </soapenv:Body> </soapenv:Envelope>
]
Xml_SEND = Replace(Xml_SEND,"v001","17",IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v002",GloDataHora,IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v003",NumProces,IgnoreCase)
HTTPTimeOut(GloHTTPTimeOut)
ok = HTTPRequest("http://"+"192.168.1.184:8085"+"/soap/IRtPlusSSDM","", "", Xml_SEND, "text/xml","","")
XML_Retorno = WS_Android_IOS_HTTPGetResult()
XML_Retorno = WS_RemoveAcentos(XML_Retorno)
ArrayDeleteAll(arr_TaxisLogados) MyDoc is string LocSt_TaxisLogados is ST_TaxisLogados i is int = 1 LOOP
MyDoc = XMLExtractString(XML_Retorno,"NS2:TVeiculoLogadoVO",i)
IF MyDoc = "" THEN BREAK END LocSt_TaxisLogados.ST_ID = XMLExtractString(MyDoc,"NumUnidad") LocSt_TaxisLogados.ST_Latitude = XMLExtractString(MyDoc,"ValLatitu") LocSt_TaxisLogados.ST_Longitude = XMLExtractString(MyDoc,"ValLongit") LocSt_TaxisLogados.ST_Situacao = XMLExtractString(MyDoc,"IdeStatus") arr_TaxisLogados[LocSt_TaxisLogados:ST_ID] = LocSt_TaxisLogados i++ END
nContador is int =0
FOR EACH LocSt_TaxisLogados OF arr_TaxisLogados
nContador += 1
IF LocSt_TaxisLogados:ST_Situacao > 0 THEN
END
END
nInicial is int nFinal is int nInicial = PositionOccurrence(XML_Retorno,"<NS2:TVeiculoLogadoVO",firstRank,FromBeginning) nFinal = PositionOccurrence(XML_Retorno,"</NS2:TVeiculoLogadoVO>",lastRank,FromEnd) +Length("</NS2:TVeiculoLogadoVO>") XML_Retorno = Middle(XML_Retorno,nInicial,nFinal - nInicial) XML_Retorno = Replace(XML_Retorno,"NS2:TVeiculoLogadoVO","NoXml") XML_Retorno = "<Xml><Recorte>"+XML_Retorno+"</Recorte></Xml>"
IF XML_Retorno <> Null THEN XML_Retorno = Replace(XML_Retorno,"NS2:TVeiculoLogadoVO","NoXml")
XmlDoc is XMLDocument XmlDoc = XMLOpen(XML_Retorno,fromString) NoXml is xmlNode sTemp is string FOR EACH NoXml OF XmlDoc.Xml.Recorte on NoXml
END
END
Xml_SEND = [ <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:act297_RtPlusSSDM-IRtPlusSSDM#AtualizarMotivos"> <soapenv:Header/> <soapenv:Body> <urn:AtualizarMotivos soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <cod_client_celula xsi:type="xsd:int">v001</cod_client_celula> <dat_hora_proces xsi:type="xsd:string">v002</dat_hora_proces> <num_proces xsi:type="xsd:int">v003</num_proces> </urn:AtualizarMotivos> </soapenv:Body> </soapenv:Envelope> ]
Xml_SEND = Replace(Xml_SEND,"v001","17",IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v002",GloDataHora,IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v003",NumProces,IgnoreCase)
HTTPTimeOut(GloHTTPTimeOut)
ok = HTTPRequest("http://"+"192.168.1.184:8085"+"/soap/IRtPlusSSDM","", "", Xml_SEND, "text/xml","","")
XML_Retorno = WS_Android_IOS_HTTPGetResult()
XML_Retorno = WS_RemoveAcentos(XML_Retorno)
IF XML_Retorno <> Null THEN
XML_Retorno = Replace(XML_Retorno,"NS2:TAct297MotivoCancelamentoVO","NoXml")
IF True THEN
NoXml is string ni is int = 1
LOOP
NoXml = XMLExtractString(XML_Retorno,"NoXml",ni)
IF NoXml = "" THEN BREAK END
sCodMotivoCancel is string = XMLExtractString(NoXml,"CodMotivoCancel") sDesMotivo is string = XMLExtractString(NoXml,"DesMotivo")
ni++ END
END
XmlDoc is XMLDocument XmlDoc = XMLOpen(XML_Retorno,fromString) NoXml is xmlNode temp is string FOR EACH NoXml OF XmlDoc."SOAP-ENV:Envelope"."SOAP-ENV:Body" on NoXml
temp = NoXml.CodMotivoCancel temp = NoXml.DesMotivo
END IF temp <>Null THEN
END
END
Xml_SEND = [ <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:act297_RtPlusSSDM-IRtPlusSSDM#AtualizarCartoes"> <soapenv:Header/> <soapenv:Body> <urn:AtualizarCartoes soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <cod_client_celula xsi:type="xsd:int">v001</cod_client_celula> <dat_hora_proces xsi:type="xsd:string">v002</dat_hora_proces> <num_proces xsi:type="xsd:int">v003</num_proces> </urn:AtualizarCartoes> </soapenv:Body> </soapenv:Envelope> ]
Xml_SEND = Replace(Xml_SEND,"v001","17",IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v002",GloDataHora,IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v003",NumProces,IgnoreCase)
HTTPTimeOut(GloHTTPTimeOut)
ok = HTTPRequest("http://"+"192.168.1.184:8085"+"/soap/IRtPlusSSDM","", "", Xml_SEND, "text/xml","","")
XML_Retorno = WS_Android_IOS_HTTPGetResult()
XML_Retorno = WS_RemoveAcentos(XML_Retorno)
IF XML_Retorno <> Null THEN
nInicial = PositionOccurrence(XML_Retorno,"<NS2:TTipoFormaPagamentoVO",firstRank,FromBeginning + IgnoreCase) nFinal = PositionOccurrence(XML_Retorno,"</NS2:TTipoFormaPagamentoVO>",lastRank,FromEnd + IgnoreCase) +Length("</NS2:TTipoFormaPagamentoVO>") XML_Retorno = Middle(XML_Retorno,nInicial,nFinal - nInicial) XML_Retorno = Replace(XML_Retorno,"NS2:TTipoFormaPagamentoVO","NoXml") XML_Retorno = "<Xml><Recorte>"+XML_Retorno+"</Recorte></Xml>"
XML_Retorno = Replace(XML_Retorno,"NS2:TTipoFormaPagamentoVO","NoXml") XmlDoc is XMLDocument XmlDoc = XMLOpen(XML_Retorno,fromString) NoXml is xmlNode temp is string
FOR EACH NoXml OF XmlDoc.Xml.Recorte on NoXml
temp = NoXml.CodFormaPagame temp =NoXml.DesFormaPagame
END IF temp <>Null THEN
END
END
Xml_SEND = [ <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:act297_RtPlusSSDM-IRtPlusSSDM#AtualizarItensAvaliacao"> <soapenv:Header/> <soapenv:Body> <urn:AtualizarItensAvaliacao soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <cod_client_celula xsi:type="xsd:int">v001</cod_client_celula> <dat_hora_proces xsi:type="xsd:string">v002</dat_hora_proces> <num_proces xsi:type="xsd:int">v003</num_proces> </urn:AtualizarItensAvaliacao> </soapenv:Body> </soapenv:Envelope> ] Xml_SEND = Replace(Xml_SEND,"v001","17",IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v002",GloDataHora,IgnoreCase) Xml_SEND = Replace(Xml_SEND,"v003",NumProces,IgnoreCase)
HTTPTimeOut(GloHTTPTimeOut)
ok = HTTPRequest("http://"+"192.168.1.184:8085"+"/soap/IRtPlusSSDM","", "", Xml_SEND, "text/xml","","")
XML_Retorno = WS_Android_IOS_HTTPGetResult()
XML_Retorno = WS_RemoveAcentos(XML_Retorno)
IF XML_Retorno <> Null THEN
XML_Retorno = Replace(XML_Retorno,"NS2:TAct297PesquisaSatisfacaoVO","NoXml") XmlDoc is XMLDocument XmlDoc = XMLOpen(XML_Retorno,fromString) NoXml is xmlNode temp is string FOR EACH NoXml OF XmlDoc."SOAP-ENV:Envelope"."SOAP-ENV:Body" on NoXml
temp = NoXml.SeqItemPesqui temp = NoXml.DesItemPesqui temp = NoXml.SeqOrdemItemPesqui temp = NoXml.IdeFormaPesqui temp = NoXml.DatHoraUltimaAltera
END IF temp <>Null THEN
END
END |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 23 décembre 2014 - 12:01 |
Examplo 3
arrTemp is array of strings = WS_Android_iOs_ReadXml(XML_Retorno,"NS2:TVersaoTabelas")
...
Procedure WS_Android_iOs_ReadXml(XML_Retorno is string, Xml_Atributo is string )
arrXml_TagResult is array of strings xposicaoinicial is int = 0 Xposicaofinal is int = 0 X is int = 0 arrXml_Tag is array of strings
Inicial is int = PositionOccurrence(XML_Retorno,"<"+Xml_Atributo,firstRank,FromBeginning) Final is int = PositionOccurrence(XML_Retorno,"</"+Xml_Atributo+">",lastRank,FromEnd) +Length("</"+Xml_Atributo+">") XML_Retorno = Middle(XML_Retorno,Inicial,Final - Inicial) XML_Retorno = Replace(XML_Retorno,Xml_Atributo,"NoXml") XML_Retorno = "<Xml><Recorte>"+XML_Retorno+"</Recorte></Xml>"
nTotalxml is int = Length(XML_Retorno)
LOOP (nTotalxml)
X++ IFxposicaoinicial = 0 AND Xposicaofinal = 0 AND XML_Retorno[[X]] = "<" THEN X++ IF XML_Retorno[[X]] = "/" THEN xposicaoinicial = X + 1 END END IF xposicaoinicial > 0 AND XML_Retorno[[X]] = ">" THEN Xposicaofinal = X END IF Xposicaofinal > 0 AND xposicaoinicial > 0 THEN stag is string = Middle(XML_Retorno,xposicaoinicial,Xposicaofinal - xposicaoinicial) IF stag="NoXml" THEN BREAK END Add(arrXml_Tag, stag) Xposicaofinal = 0 xposicaoinicial = 0 END
END
IF IniOSMode() = True THEN
NoXml is string i is int = 1 NoXml = XMLExtractString(XML_Retorno,"NoXml",i)
FOR EACH stag OF arrXml_Tag
temp is string = XMLExtractString(NoXml,stag) Add(arrXml_TagResult, temp )
END
ELSE IF InAndroidMode() = True
XmlDoc is XMLDocument XmlDoc = XMLOpen(XML_Retorno, fromString) NoXml is xmlNode
FOR EACH NoXml OF XmlDoc.Xml.Recorte on NoXml
FOR EACH sTag OF arrXml_Tag
Add(arrXml_TagResult,NoXml..ChildNode[sTag])
END
END
END
RESULT arrXml_TagResult |
| |
| |
| | | |
|
| | | | |
| | |
|