begin process at 2012 02 11 08:43:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > CALCUL DU TEMPS RESTANT

CALCUL DU TEMPS RESTANT


 Information sur la source

Note :
4,5 / 10 - par 2 personnes
4,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Niveau :Initié Date de création :28/06/2003 Date de mise à jour :28/06/2003 16:06:21 Vu :7 092

Auteur : SatanCorporation

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cette source permet de calculer le temps qui reste a une action .

Source

  • 'Cette ligne est a ajouter dans les déclaracion
  • 'Soit pp est une progressbar
  • Private Declare Function GetTickCount Lib "kernel32" () As Long
  • dim aa,d,g,et
  • apres mettez ce code sans une Command par exemple:
  • For i = 1 To 100 ' ca cest le nombre de boucle
  • g = GetTickCount ' on récupere le temps
  • pp.Value = i
  • 'ICI VOUS METTEZ LE CODE A EFFECTUER
  • 'exemple :
  • open app.path & "\" & i & ".txt" for output
  • print #1,"ce que tu veux"
  • close #1
  • d = GetTickCount ' on récupere une seconde valeur du temps
  • aa = (d - g) * (100 - i) ' on effectue le premier calcul
  • et = (Right(aa, 4))
  • p = InStr(aa, et)
  • Label2.Caption = (Left(aa, p)) & " Secondes" 'on affiche le resultat
  • DoEvents
  • Next i
'Cette ligne est a ajouter dans les déclaracion
'Soit pp est une progressbar
Private Declare Function GetTickCount Lib "kernel32" () As Long
dim aa,d,g,et

apres mettez ce code sans une Command par exemple:

For i = 1 To 100 ' ca cest le nombre de boucle
    g = GetTickCount ' on récupere le temps
    pp.Value = i
    
    'ICI VOUS METTEZ LE CODE A EFFECTUER
    'exemple : 
                    open app.path & "\" & i & ".txt" for output
                     print #1,"ce que tu veux"
                     close #1
                     

   
    d = GetTickCount ' on récupere une seconde valeur du temps
    
    
    aa = (d - g) * (100 - i) ' on effectue le premier calcul
    et = (Right(aa, 4)) 
    
    p = InStr(aa, et)
     
    Label2.Caption = (Left(aa, p)) & "  Secondes" 'on affiche le resultat
     
    DoEvents
Next i 

 Conclusion

Si vous avez des question ? Contactez moi


 Sources du même auteur

Source avec Zip Source avec une capture SCANNEUR DE PORTS TRES RAPIDE (10 000 PORTS EN MOINS DE 13 S...
Source avec Zip Source avec une capture DICO GENERATOR (GÉNÉRATEUR DE DICTIONNAIRE )
Source avec Zip Source avec une capture GESTION DES PROXY
Source avec Zip SOURIS QUI TREMBLE : PEUT ETRE EST-CE UN FAUX VIRUS ?
Source avec Zip Source avec une capture RADIO ONLINE ( MAJ )

 Sources de la même categorie

Source avec Zip CALCULATRICE par TPB
Source avec Zip Source .NET (Dotnet) PIERRE PAPIER CISEAUX par Ultrabytes
Source avec Zip Source avec une capture UN PATCH EN VB (V3) par PhoenixBytes
Source avec Zip Source .NET (Dotnet) [VB.NET 2008] EXECUTION MULTITHREAD DE PLUSIEURS FONCTION À ... par ShadowTzu
Source avec Zip Source avec une capture MULTITHREADING ACTIVEX par Philippe734

Commentaires et avis

Commentaire de Pulcocitron le 28/06/2003 14:41:34

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 ;-)

Commentaire de SatanCorporation le 28/06/2003 16:05:33

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
@+

Commentaire de BruNews le 28/06/2003 16:59:49 administrateur CS

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.

Commentaire de Zeroc00l le 30/06/2003 18:50:57

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+

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales