ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Fonction de calcul de différence d'une heure à une autre   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
68 ans
LEISSLER Eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS
Fiche personnelle


Note des membres
16/20
1 vote


Contributions > 01 - PRG : Programmation > Temps - heures - Dates - Calendriers

Fonction de calcul de différence d'une heure à une autre
# 0000000066
ajouté le 17/11/2004 23:02:59 et modifié le 29/03/2006
consulté 12291 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0
VFP 5.0
VFP 3.0
FPW 2.6
FPD 2.x

Description

Cette fonction sert à calculer un ecart de temps entre deux moments.
(Début d'une procédure et fin de celle ci par excemple )
la meilleure explication de cette fonction et le code suivant
time1=time() time1=heure système
time2=time() time2=heure système
toto=dift(time2,time1) toto = le temps que vous aurez mis à valider
les deux lignes

?toto donnera "00000:00:02"

toto est bien une chaine de caractère.
Les deux sous fonctions servent à convertir du temps en numérique (temvern)
et convertir le numérique vers le temps (nvertem)

Bonsoir à tous

Code source :
procedure dift
parameters t1,t2
local heu,min1,s,h2,min2,sec2,r,rh1,rs1,rh,rm,rs,retour
m.rh=0
m.rm=0
m.rs=0
m.heu=substr(m.t1,1,(at(":",m.t1)-1))
m.min1=substr(m.t1,4,2)
m.s=substr(m.t1,7,2)
m.heu=val(m.heu)
m.min1=val(m.min1)
m.s=val(m.s)
m.heu=m.heu*60
m.min1=m.min1*60
m.s=m.s+m.min1+(m.heu*60)
m.h2=substr(m.t2,1,(at(":",m.t2)-1))
m.min2=substr(m.t2,4,2)
m.sec2=substr(m.t2,7,2)
m.h2=val(m.h2)
m.min2=val(m.min2)
m.sec2=val(m.sec2)
m.h2=m.h2*60
m.min2=m.min2*60
m.sec2=m.sec2+m.min2+(m.h2*60)
if m.sec2>m.s
m.r=m.sec2-m.s
else
m.r=m.s-m.sec2
endif



m.retour=nvertem(r)
return m.retour


function temvern
parameters temp1
local s,m,h
m.s=substr(m.temp1,len(m.temp1)-1,2)
m.s=val(m.s)
m.m=substr(m.temp1,len(m.temp1)-4,2)
m.m=val(m.m)*60
m.h=substr(m.temp1,1,len(m.temp1)-6)
m.h=val(m.h)*3600
m.retour=m.h+m.m+m.s
return m.retour


function nvertem
parameters temp1
local s,m,h
m.h=int(m.temp1/3600)
m.resth=mod(m.temp1,3600)

m.m=int((m.resth)/60)
m.restm=mod(m.m,60)

m.s=int(mod(m.resth,60))


return padl(m.h,5,"0")+":"+padl(m.m,2,"0")+":"+padl(m.s,2,"0")








Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3