CHORA1= "8:59"
CHORA2 = "14:30"
------------------------------------------------------------------------------*
ElapTime(cHora1, cHora2) => "06:21:00"Y deber铆a de ser 5:21
Solucion?
CHORA1= "8:59"
CHORA2 = "14:30"
------------------------------------------------------------------------------*
ElapTime(cHora1, cHora2) => "06:21:00"bueno...
a construir otra funcioncita...
gracias Karina
//----------------------------------------------------------------------------------------------------
Function QTiempo(cTime1, cTime2)
local nSec1, nSec2, nSec3, nHora, nMinu
IF EMPTY(cTime1) .OR. EMPTY(cTime2) .OR. VAL(SUBSTR(cTime2,1,2)) * 3600 + VAL(SUBSTR(cTime2,4,2)) * 60 + VAL(SUBSTR(cTime2,7,2)) = 0
聽Return("")
EndIf
If VAL(SUBSTR(cTime1,1,2)) > VAL(SUBSTR(cTime2,1,2))
聽 cTime2 := STRZERO( VAL(SUBSTR(cTime2,1,2)) + 24,2 ) + SUBSTR(cTime2,3,6)
EndIf
nSec1 := VAL(SUBSTR(cTime1,1,2)) * 3600 + VAL(SUBSTR(cTime1,4,2)) * 60 + VAL(SUBSTR(cTime1,7,2))
nSec2 := VAL(SUBSTR(cTime2,1,2)) * 3600 + VAL(SUBSTR(cTime2,4,2)) * 60 + VAL(SUBSTR(cTime2,7,2))
nSec3 := nSec2 - nSec1
nHora := nSec3 / 3600
nSec3 := nSec3 - INT(nHora) * 3600
nMinu := nSec3 / 60
nSec3 := nSec3 - INT(nMinu) * 60
Return(STRZERO(nHora,2) + ":" + STRZERO(nMinu,2) + ":" + STRZERO(nSec3,2))Seg煤n dice el manual sobre Elaptime, sus dos par谩metros son 'Time() formatted character string'. La funci贸n ELAPTIME funciona perfectamente, siempre que los par谩metros sean correctos. En este caso, como los par谩metros no son correctos, lo que hay que arreglar son los par谩metros y no hacer una nueva funci贸n. Si queremos una aplicaci贸n eficiente y r谩pida, una de las reglas ser铆a usar las funciones del propio lenguaje y no reinventar la rueda.
Como el problema se genera por la necesidad de poner variables-horas con un s贸lo car谩cter, la soluci贸n podr铆a ser la siguiente:
elaptime ( fValiHora(cHora1), fValiHora(cHora2) )
FUNCTION fValiHora (cTime)
IF AT(':', cTime)=2
cTime:= '0' + cTime
ENDIF
RETURN cTime
Otra cosa es, como en otro hilo dijo Biel, cuando tratamos fechas y hora. Para eso si es necesario un nueva funci贸n.
Gracias a todos.
Ya me genere una funcion y me soluciona lo que necesito,
con respecto a lo que me decis Manuel, pienso que si la funci贸n entonces habr铆a que hacerla un poco mas flexible o por lo menos que
los pasos que me decis lo haga la propia funci贸n. Estar铆a bueno.
Gracias.