FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Confrontare due orari
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM

Confrontare due orari

Posted: Sun Mar 29, 2009 01:19 PM

Salve, sapere se esiste una funzione per confrontare due orari ?
In pratica avendo cTime1="10.55" e cTime2="13.44" vorrei una funzione che mi restituisce se un orario è maggiore o minore dell'altro.

Grazie in anticipo

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 08:53 AM

cTime1 > cTime2

EMG

Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 06:12 PM

Ho già risolto con TimeToSec(), grazie comunque per il suggerimento.

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 08:12 PM

Perché usare una funzione, per di più non standard, per fare qualcosa che si fa con i normali operatori di confronto?

EMG

Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM

Re: Confrontare due orari

Posted: Tue Apr 14, 2009 04:57 PM

scusa Marco ma ho avuto problemi con il terremoto , ho la casa lesionata anc'hio
cmq prova questo .
FUNCTION Diff_Tempo( dData1,cOra1,dData2,cOra2 )
LOCAL nGiorni,nOrasp,nMinutp,nOrasa,nMinuta,nOras,nMinuto

IF cOra1 = NIL .OR. EMPTY( cOra1 )
cOra1 := "00:00"
END IF

IF dData2 = NIL .OR. EMPTY( dData2 )
dData2 := DATE()
END IF

IF cOra2 = NIL .OR. EMPTY( cOra2 )
cOra2 := SUBSTR( TIME(),1,5 )
END IF

IF VALTYPE( dData1 ) != 'D' .OR. VALTYPE( dData2 ) != 'D' .OR.;
VALTYPE( cOra1 ) != 'C' .OR. VALTYPE( cOra2 ) != 'C' .OR.;
EMPTY( dData1 )
RETURN 0
END IF

nGiorni := dData2 - dData1

nOrasp := VAL( SUBSTR( cOra2,1,2 ) )
nMinutp := VAL( SUBSTR( cOra2,4,2 ) )

nOrasa := VAL( SUBSTR( cOra1,1,2 ) )
nMinuta := VAL( SUBSTR( cOra1,4,2 ) )

nOras := nOrasp - nOrasa

IF nOras < 0
--nGiorni
nOras += 24
END IF

nMinuto = nMinutp - nMinuta

IF nMinuto < 0
--nOras
nMinuto += 60
END IF

RETURN nMinuto + ( nOras * 60 ) + ( ( nGiorni * 24 ) * 60 )

Best Regards, Saludos



Falconi Silvio

Continue the discussion