4D v13.4

Opérateurs sur les heures

Accueil

 
4D v13.4
Opérateurs sur les heures

Opérateurs sur les heures  


 

 

Une expression qui utilise un opérateur sur les heures retourne une heure ou une valeur numérique, suivant l'opération effectuée. Le tableau suivant décrit les opérateurs sur les heures :

OpérationSyntaxeRetourneExpressionValeur
AdditionHeure + HeureHeure?02:03:04? + ?01:02:03??03:05:07?
SoustractionHeure - HeureHeure?02:03:04? - ?01:02:03??01:01:01?
AdditionHeure + NombreNombre?02:03:04? + 657449
SoustractionHeure - NombreNombre?02:03:04? - 657319
MultiplicationHeure * NombreNombre?02:03:04? * 214768
DivisionHeure / NombreNombre?02:03:04? / 23692
Division entièreHeure \ NombreNombre?02:03:04? \ 23692
ModuloHeure % HeureHeure?20:10:00? % ?04:20:00??02:50:00?
ModuloHeure % NombreNombre?02:03:04? % 20

Pour obtenir une expression de type heure à partir d'une expression qui combine une heure avec un chiffre, utilisez les fonctions Heure et Chaine heure. Par exemple :

  ` La ligne suivante assigne à la variable $vlSecondes le nombre de secondes qui, dans une heure à partir de
  ` maintenant, se seront écoulées depuis minuit
 $vlSecondes:=Heure courante+3600
 
  ` La ligne suivante assigne à la variable $vhBientôt l'heure qu'il sera dans une heure
 $vhBientôt:=Heure(Chaine heure(Heure courante+3600))

La seconde ligne peut également être écrite de la façon suivante :

  ` La ligne suivante affecte dans la variable $vhBientôt l'heure qu'il sera dans une heure
 $vhBientôt:=Heure courante+?01:00:00?

Vous pouvez utiliser cette astuce si, lors du développement de votre application, vous vous retrouvez dans la situation où un délai exprimé en secondes doit être ajouté à une valeur de type heure disponible en tant que valeur numérique.

Il faut parfois convertir une expression heure en expression numérique. Par exemple, vous ouvrez un document sur disque à l'aide de la fonction Ouvrir document, qui retourne un numéro de référence de document (DocRef) qui est une expression de type heure. Vous pouvez passer DocRef à une routine de plug-in 4D qui attend une valeur numérique comme numéro de référence de document. Dans ce cas, ajoutez 0 (zéro) à l'heure pour obtenir une valeur numérique, sans la modifier. Par exemple :

  ` Sélectionner et ouvrir un document
 $vhDocRef:=Ouvrir document("")
 Si(OK=1)
  ` Passez l'expression heure DocRef en tant qu'expression numérique à une routine d'extension 4D
    faire quelque chose(0+$vhDocRef)
 Fin de si

L'opérateur Modulo permet notamment d'ajouter des heures en tenant compte du format sur 24 heures d'une journée :

 $t1:=?23:00:00? // il est 23h
     //on souhaite ajouter 2 heures 30
 $t2:=$t1 +?02:30:00? // avec une addition simple, $t2 vaut ?25:30:00?
 $t2:=($t1 +?02:30:00?)%?24:00:00? // $t2 vaut ?01:30:00?, il est bien 1h30 le lendemain

 
PROPRIÉTÉS 

Produit : 4D
Thème : Opérateurs
Nom intl. : Time Operators

 
VOIR AUSSI  

Opérateurs
Opérateurs de comparaison
Opérateurs logiques
Opérateurs numériques
Opérateurs sur les bits
Opérateurs sur les chaînes
Opérateurs sur les dates
Opérateurs sur les images