cs_Pulcocitron
Messages postés5Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention24 avril 2004
-
28 juin 2003 à 14:41
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 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.
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és123Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention13 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és5Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention24 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
30 juin 2003 à 18:50
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+
28 juin 2003 à 16:59
28 juin 2003 à 16:05
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
@+
28 juin 2003 à 14:41
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 ;-)