Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Subtract two times
Message
De
07/01/2005 17:33:07
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Versions des environnements
Visual FoxPro:
VFP 7
Divers
Thread ID:
00971289
Message ID:
00975292
Vues:
15
hi,
i try as under but if i insert at text1(01:00) , text2(00:30) and text3(01:30) i get result is space ,nothing at thisform.TotalTxt.Value
thisform.TotalTxt.Value
=thisform.AddTime(thisform.AddTime(thisform.Text1.Value, thisform.Text2.Value, .t.), thisform.Text3.Value)
thanks.
>Mohamme,
>You can redefine the Method to returns whatever You want, So You can Use it to returns seconde instead of time Something like this:
>
>LPARAMETERS nSecs, nSec2, seconds_return
>LOCAL c_hours, c_min, c_znak, nLocSec
>IF TYPE("nSecs") # "C" .OR.;
>   TYPE("nSec2") # "C" .OR.;
>   TYPE("nSecs") # TYPE("nSec2")
>    RETURN IIF(seconds_return,0,"")
>ENDIF
>nLocSecs = VAL(LEFT(nSec2,2))*3600
>nLocSecs = nLocSecs + VAL(SUBSTR(nSec2,4,2))*60+ VAL(SUBSTR(nSec2,7,2))
>nLocSecs = nLocSecs + (VAL(LEFT(nSecs,2))*3600 + VAL(SUBSTR(nSecs,4,2))*60+ VAL(SUBSTR(nSecs,7,2)))
>
>nSecs   = ABS(nLocSecs)
>IF seconds_return
>   RETURN nSecs
>ENDIF
>c_hours = INT(nSecs/3600)
>IF c_hours > 24
>   RETURN ""
>ENDIF
>nSecs   = nSecs - (c_hours*3600)
>c_hours = IIF(c_hours<10,"0","")+ALLTRIM(STR(c_hours,15))
>c_min   = INT(nSecs/60)
>nSecs   = nSecs - (c_min*60)
>c_min   = IIF(c_min<10,"0","") + ALLTRIM(STR(c_min,15))
>nSecs   = IIF(nSecs<10,"0","") + ALLTRIM(STR(nSecs,10))
>RETURN c_hours+":"+c_min+":"+nSecs
>
>
>
>Then You can use it:
>
>

>thisform.AddTime(thisform.AddTime(thisform.Text1.Value, thisform.Text2.Value, .t.), thisform.Text3.Value)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform