Valeur non comprise dans time_op(rand(x,y)

Bonjour,

j’ai créé un time_op(rand(945,1015)) pour la gestion d’un volet, mais j’ai parfois des valeurs non comprises entre 9h45 et 10h15. J’ai fais plusieurs essais avec le testeur d’expression => Je n’ai jamais de valeurs antérieure à 9h45 par contre régulièrement au-dela de 10h15 (jusqu’à 10h45 !), voir capture en PJ.
Certains ont-ils déja eu le cas ? Si oui, comment corriger ?

Merci :slight_smile:

.

Bonjour,

Je ne sais pas si cela réglera ton soucis, mais ta syntaxe n’est pas correcte.
C’est

time_op(time, value) 
1 « J'aime »

Salut,

time_op(Time, Value) est prévu pour faire une opération sur une heure donnée en ajoutant ou ôtant une durée.

Je suis plutôt surpris que ça marche à peut près en lui fournissant un seul argument comme tu le fais.

A mon avis ça marchera mieux si tu utilises juste la fonction rand() et en utilisant une fonction « A » par exemple suivant ce que tu veux faire.

1 « J'aime »

La fonction rand peut retourner 999.

Capture d’écran du 2021-09-19 22-11-45

1 « J'aime »

J’ai trouvé : time_op(1000, rand(-15,15)) la c’est mieux :grin:
@Madcow => effectivement en remplaçant « Value » par "Rand(x,y)
@Bison => J’utilise bien la formule dans un « A », j’ai mis un screen du testeur d’expression car plus lisible qu’un log de scénario. Mais tu dis « Juste la fonction rand() » mais je suis bien obligé de lui mettre un time_op avant ?! Bref c’est résolu :wink:
@Jeandhom => Bien vu ! time_op(998) = time_op(1038)

Merci à vous pour les réponses :wink:

1 « J'aime »

Et bien non pas forcément :
A rand(1000,1050) exécutera l’action entre 10h00 et 10h50.

Le time_op() est donc à utiliser comme tu l’as corrigé avec un delta en minutes par rapport à l’heure souhaitée.

1 « J'aime »

Aaaaaah ! Pas bête ça !
Si j’avais compris ça de suite c’est à toi que j’aurais donné la mention « Solution » :rofl: :+1: :+1:

Je viens de faire un essais, ça marche pas à tous les coup ?! Où alors je fais mal le truc

C’est bien pour ça qu’un time_op est meilleur.
En effet tu peux avoir en sortie 990 979 ou 999 comme dans ton log , qui n’est pas une heure valide :wink:

Oui ça fonctionne pas avec des nombres inférieurs à 1000 parce qu’il faut fournir le zéro avant et en plus 0995 (09h95) n’est pas une heure correcte.

Dans ton cas il faut bel et bien le time_op que as as corrigé :+1:

1 « J'aime »

Le zéro n’est pas obligatoire avant, 937 est une heure valide (comme dans son log) par exemple.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.