je confirme que la valeur retournée n'est pas en fonction du demarrage de l'ordinateur pb 5.72.
soit la doc est fausse ( spoiler alert c'est bien le cas) soit un bug dans pb?
ceci dit la doc en ligne de pb indique la chose suivante.
https://www.purebasic.com/documentation ... conds.html
Returns the number of milliseconds that have elapsed since a specific time in the past.
le code suivant renverra toujours ZERO donc ce n'est pas depuis le lancement du programme que la valeur de elapsedmilliseconds() est calculée
Code : Tout sélectionner
a=Random(10000,1000)
debug a
Delay(a ) ; un delai aleatoire devrais renvoyer un elapsed milliseconds de la meme valeur
Debug ElapsedMilliseconds() ; ce qui n'est pas le cas.
en revanche ce code renvera bien une valeur differente de zero car le depart du compteur de elapsedmilliseconds() est en fonction de son premier appel dans le code.
Code : Tout sélectionner
Debug ElapsedMilliseconds() ; top depart de elapsedmillliseconds()
a=Random(10000,1000)
debug a
Delay(a ) ; un delai aleatoire devrais renvoyer un elapsed milliseconds de la meme valeur
Debug ElapsedMilliseconds() ; ce qui est le cas.
finalement c'est mieux car cela permet d'avoir une valeur qui ne bloque pas après un certain temps ou l'ordinateur est allume ce qui pouvait se produire en se basant sur le démarrage de l'ordinateur si l'ordinateur n’était pas arrêté depuis plusieurs jours.
ceci dit, le probleme se posera toujours si le programme n'est pas arrete de temps en temps non plus.
