|
Accueil → WINDEV 25 → [WX] Trabalhando com datas, horas, verificando diferenças entre elas e somando minutos |
[WX] Trabalhando com datas, horas, verificando diferenças entre elas e somando minutos |
Débuté par adrianoboller, 04 mar. 2015 22:50 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 04 mars 2015 - 22:50 |
############################################################### Trabalhando com datas, horas, verificando diferenças entre elas e somando minutos ###############################################################
Procedure ws_verifica_hora_servidor(DataHoraMobile)
Q is int = 0
ok, DataHoraValida, OkConn is boolean = False
Resultado is string= ""
dsQryDataHora is Data Source
DataHoraServidor is string = ""
OkConn = HOpenConnection(ConnNativa)
DataHoraServidorMaior, DataHoraServidorMenor, DataHoraMobileCompara is DateTime
IF OkConn = True AND DataHoraMobile <> "" AND DataHoraMobile <> Null THEN
ok = HExecuteSQLQuery(dsQryDataHora, ConnNativa, hQueryWithoutCorrection,"Select CURRENT_TIMESTAMP as datahoraatual") IF ok = True THEN FOR EACH dsQryDataHora DataHoraServidor = dsQryDataHora.datahoraatual END END
IF Length(DataHoraMobile) < 17 THEN Q = 17 - Length(DataHoraMobile) DataHoraMobile = DataHoraMobile + RepeatString("0", Q) END IF Length(DataHoraServidor) < 17 THEN Q = 17 - Length(DataHoraServidor) DataHoraServidor = DataHoraServidor + RepeatString("0", Q) END
DataHoraServidorMaior..Year = Middle(DataHoraServidor,01,04) DataHoraServidorMaior..Month = Middle(DataHoraServidor,05,02) DataHoraServidorMaior..Day = Middle(DataHoraServidor,07,02) DataHoraServidorMaior..Hour = Middle(DataHoraServidor,09,02) DataHoraServidorMaior..Minute = Middle(DataHoraServidor,11,02) DataHoraServidorMaior..Minute += 30
DataHoraServidorMenor..Year = Middle(DataHoraServidor,01,04) DataHoraServidorMenor..Month = Middle(DataHoraServidor,05,02) DataHoraServidorMenor..Day = Middle(DataHoraServidor,07,02) DataHoraServidorMenor..Hour = Middle(DataHoraServidor,09,02) DataHoraServidorMenor..Minute = Middle(DataHoraServidor,11,02) DataHoraServidorMenor..Minute -= 30
DataHoraMobileCompara..Year = Middle(DataHoraMobile,01,04) DataHoraMobileCompara..Month = Middle(DataHoraMobile,05,02) DataHoraMobileCompara..Day = Middle(DataHoraMobile,07,02) DataHoraMobileCompara..Hour = Middle(DataHoraMobile,09,02) DataHoraMobileCompara..Minute = Middle(DataHoraMobile,11,02)
IF Val(DataHoraMobile) >= Val(DataHoraServidorMaior) OR Val(DataHoraMobile) <= Val(DataHoraServidorMenor) THEN DataHoraValida = False ELSE DataHoraValida = True END
END
Resultado += "<Xml><Retorno>"
Resultado += "<AbriuConnexao>" + OkConn + "</AbriuConnexao>"
Resultado += "<DataHoraServidor>" + DataHoraServidor + "</DataHoraServidor>"
Resultado += "<DataHoraValida>" + DataHoraValida + "</DataHoraValida>"
IF OkConn = True Resultado += ws_conexao_sucesso("Tabelas") ELSE Resultado += ws_conexao_falha("Tabelas") END
OkConn = HCloseConnection(ConnNativa)
Resultado += "<FechouConnexao>" + OkConn + "</FechouConnexao>"
Resultado += "</Retorno></Xml>"
RESULT(Resultado) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 04 mars 2015 - 22:52 |
<SOAP-ENV:Envelope><SOAP-ENV:Header><WSID xsi:type="xsd:hexBinary" mustUnderstand="1">F39F565577F729377E04961C67C7A403E783222F</WSID></SOAP-ENV:Header><SOAP-ENV:Body><xsd:ws_verifica_hora_servidorResult><Xml><Retorno><AbriuConnexao>1</AbriuConnexao><DataHoraServidor>20150304185154763</DataHoraServidor><DataHoraValida>0</DataHoraValida><Tabelas id="1"><OK>CONEXAO COM SUCESSO AO BANCO!!!!!!</OK><Banco>192.168.1.180</Banco></Tabelas><TOTAL>1</TOTAL><FechouConnexao>1</FechouConnexao></Retorno></Xml></xsd:ws_verifica_hora_servidorResult></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 04 mars 2015 - 22:53 |
Quando a data e hora esta no intervalo correto a tag DataHoraValida passa a ser 1
<SOAP-ENV:Envelope><SOAP-ENV:Header><WSID xsi:type="xsd:hexBinary" mustUnderstand="1">F39F565577F729377E04961C67C7A403E783222F</WSID></SOAP-ENV:Header><SOAP-ENV:Body><xsd:ws_verifica_hora_servidorResult><Xml><Retorno><AbriuConnexao>1</AbriuConnexao><DataHoraServidor>20150304185154763</DataHoraServidor><DataHoraValida>1</DataHoraValida><Tabelas id="1"><OK>CONEXAO COM SUCESSO AO BANCO!!!!!!</OK><Banco>192.168.1.180</Banco></Tabelas><TOTAL>1</TOTAL><FechouConnexao>1</FechouConnexao></Retorno></Xml></xsd:ws_verifica_hora_servidorResult></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 04 mars 2015 - 23:08 |
IF Val(DataHoraMobileCompara) >= Val(DataHoraServidorMaior) OR Val(DataHoraMobileCompara) <= Val(DataHoraServidorMenor) THEN DataHoraValida = False ELSE DataHoraValida = True END
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 04 mars 2015 - 23:34 |
| |
| |
| | | |
|
| | | | |
| | |
|