begin process at 2010 02 10 15:54:32
  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 :5 740

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 APPEL DE POINTEUR DE FONCTIONS - API SANS LES DECLARER par Renfield
Source avec Zip Source avec une capture RETROUVER LES DONNÉES PUBLIQUES DANS UNE BIBLIOTHÈQUE par VBsearch
Source avec Zip Source avec une capture CRÉER VOTRE PROGRAMME D'INSTALLATION par VBsearch
Source avec Zip Source avec une capture BART VOTRE BUREAU DANS UNE BARRE par alfamick
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE SHUTDOWN SCHEDULER : ARRÊTS PLANIFIÉS (LOCAL OU REMOT... par violent_ken

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 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,437 sec (4)

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