CALCUL DU TEMPS RESTANT

cs_Pulcocitron Messages postés 5 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 24 avril 2004 - 28 juin 2003 à 14:41
cs_Zeroc00l Messages postés 367 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 11 février 2010 - 30 juin 2003 à 18:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7690-calcul-du-temps-restant

cs_Zeroc00l Messages postés 367 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 11 février 2010
30 juin 2003 à 18:50
Juste une petite condition à rajouter pour le coup des 49.7 jours sans coupure du pc ( qui tiens du miracle s'il s'agit de windows !)

Pulcocitron : Il est possible de faire varier le temp restant bcp plus rapidement que l'on souhaite si l'on ne mesure le temps necessaire a l'execution dQUE pour les x dernieres actions.

La moyenne de temps est donc calculé grace a la vitesse d'execution actuelle
La rapidite de calcul qu'il y avait il y a deux minute avant de lancer un logiciel par exemple n'influencera plus le temps restant.

Chez SatanCorporation, x =1 il ne mesure qu'une action ! donc c'ets la meilleur precision que l'on peut souhaiter
Cependant cette mesure ne prend pas en compte le temps de calcul pour calculer le temps restant. Dans une boucle, la moindra commande a son importance.
a+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 juin 2003 à 16:59
GetTickCount retourne les millisecondes ecoulees depuis le lacement de Windows sur 32 bits non signes d'ou on peut calculer qu'il retourne a zero au bout de 49,7 jours. Hors le Long de VB est sur 31 bits + 1 bit de signe, ce qui donnera des resultats faux beaucoup plus vite.
SatanCorporation Messages postés 123 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 13 septembre 2003
28 juin 2003 à 16:05
Salut Pulcocitron
merci de ton commentaire
je voulais aussi t'eclircir la fonction GetTickCount
cette function renvoi en milli seconde le temps de louverture de windows.Donc a minuit mon code marchera
@+
cs_Pulcocitron Messages postés 5 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 24 avril 2004
28 juin 2003 à 14:41
Oui, c'est assez simple...
Mais bon, quand à la fiabilité, c'est autre chose ! La plupart du temps, ce code devrait quand même être fiable, du moins pour des opérations simples, mais là tu considère qu'elle ont toujours la même durée, c'est qui est loin d'être toujours la cas...
Pour calculer le temps restant, j'ai plutôt tendance à faire une moyenne, x actions on été affectuées en y secondes il me reste x' actions à executer donc le temps restants = x' * (y/x)
Là bien sur, il y encore des limites, notamment si l'ordinateur n'est plus aussi performant (parcequ'un autre programme a été lancé par exemple...), mais bon ça me semble plus juste...

De plus, tu as recours à une déclaration (GetTickCount), je crois bien qu'il y existe une fonction équivalente directement dans vb (Time, je crois, mais sans certitude)...

As-tu testé ton code à minuit ? Si GetTickCount marche comme je le pense il se remet à 0 à minuit, donc tu obtiendrais une valeur négative du temps écoulé, ce qui devrait poser problème...
Si tel est le cas, il y a un moyen simple de résoudre le problème, si d<g, alors le temps écoulé est de (valeur max de GetTickCount juste avant la réinitialisation)-g + d

Je crois que c'est tout ;-)
Rejoignez-nous