Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
721 connectés 

  FORUM HardWare.fr
  Programmation

  [Visual Basic] Problème pour faire tourner un chronomètre...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Visual Basic] Problème pour faire tourner un chronomètre...

n°163725
Webman
Posté le 22-06-2002 à 10:27:26  profilanswer
 

Salut,
 
Je suis en train de créer un chronomètre qui doit se déclencher quand on clique sur un bouton et doit s'arreter quand on clique sur un autre... le problème c'est que je n'arrive pas à faier partir mon chrono... Il est coincé à 00:00:00.
 
 
Je cherche donc le code qui permet de partir de faire patirle chrono 00:00:00, je pense que c'est ca:
 
Private Sub Form_Load()
 
Label1.Caption = Format(Time - Time, "00:00:00" )
 
End Sub
 
 
 
Mais je cherche surtout le code qui permet de faire tourner mon chrono... pour pas qu'il ne reste à 00:00:00 mais passe à 00:00:01 puis 00:00:02 etc etc...
Je pense qu'il faut le mettre dans un Timer avec un intervalle de 1000.
Je sais que ce code est trés court.... au max 3 ou 4 lignes mais je le trouve pas... alors si un champion de VB passe par la merci de m'aider :) :) :jap:
 
 
 
Moi je pensais a un code de ce style:
 
Private Sub Timer1_Timer()
 
Dim Duree As String
Duree = Label1.Caption + Format("00:00:01" )
 
End Sub
 
mais ca ne marche pas.... :(
 
:hello:

mood
Publicité
Posté le 22-06-2002 à 10:27:26  profilanswer
 

n°163748
cerdoc
Comment l'AK47 à changé ma vie
Posté le 22-06-2002 à 11:24:58  profilanswer
 

je te propose autre chose : utilise l'API  GetTickCount de windows qui mesure le nombre de milliseconde écouler depuis le démaarage de windows.
 

Code :
  1. Declare Function GetTickCount Lib "kernel32" alias "GetTickCount" () As Long
  2. private time1 as long
  3. private sub command1_click()
  4. 'déclenche le chrono
  5. time1=GetTickCount()
  6. end sub
  7. private sub command2_click()
  8. 'arrete le chrono
  9. msgbox ="temps écouler en millisecondes : " &GetTickCount()-time1
  10. end sub


 
c'est juste pour te doner une idée du fonctionnement.
apres si tu veux de que le résultat soit en minutes/secondes par exemples a toi te mettre la logique qui va avec.


Message édité par cerdoc le 22-06-2002 à 11:26:00
n°163758
Webman
Posté le 22-06-2002 à 11:37:24  profilanswer
 

Ok merci bcp :jap:
Je vais voir ca de plus prés :)
Si qq un a d'autres propositions je suis preneur ! deux techniques valent mieux qu'une :D
 
 
:hello:

n°163769
Webman
Posté le 22-06-2002 à 12:17:45  profilanswer
 

Bon j'ai pris cette API qui m'a l'air assez intéressante :)
 
Mais je me retrouve avec un résultat en millisecondes, et je voudrais un résultat au format hh:mm:ss, comment faire...
Voila le code qui me permet d'obtenir le résultat:
 
Label1.Caption = GetTickCount() - time1
 
 
Que rajouter de plus pour formater ce résultat ?

n°163796
Kyle_Katar​n
Posté le 22-06-2002 à 14:53:08  profilanswer
 

un bête division euclidienne...

n°163807
Webman
Posté le 22-06-2002 à 15:54:25  profilanswer
 

->kyle_katarn  
 
Merci de ta réponse :) Mais le problème c'est que je suis dépassé par cette division :D Car j'ai plus fait de VB depuis 3 ans alors je suis un peu à la rue... et en matth je suis à la rue...
Alors si tu pouvais m'en dire un peu plus sur cette division euclidienne ca serait sympa ! Si tu pouvais carrément me l'écrire ca serait encore meiux :D
 
:hello:

n°163898
mareek
Et de 3 \o/
Posté le 22-06-2002 à 20:08:40  profilanswer
 

Webman a écrit a écrit :

->kyle_katarn  
 
Merci de ta réponse :) Mais le problème c'est que je suis dépassé par cette division :D Car j'ai plus fait de VB depuis 3 ans alors je suis un peu à la rue... et en matth je suis à la rue...
Alors si tu pouvais m'en dire un peu plus sur cette division euclidienne ca serait sympa ! Si tu pouvais carrément me l'écrire ca serait encore meiux :D
 
:hello:  




 
pour avoir le quotien de la division, tu utilise '\' et ppour le reste, tu utilise mod
pour avoir l'heure tu fais donc:

Code :
  1. private sub command2_click()
  2. dim h as long 'heures
  3. dim m as long 'minutes
  4. dim s as long 'secondes
  5. dim t as long 'temps total en secondes
  6. t = CLng((time1 - GetTickCount())/1000)
  7. h = t \ 3600
  8. m = (t Mod 3600)\60
  9. s= t Mod 60
  10. label1.caption= h & ":" & m & ":" & "s"
  11. end sub


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°163968
Webman
Posté le 22-06-2002 à 23:13:05  profilanswer
 

Merci beaucoup :) :) :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Visual Basic] Problème pour faire tourner un chronomètre...

 

Sujets relatifs
[Visual C++] image de demarrage d'un programme[C] Probleme de #define
[SQL] Problème de TimeOut [Résolu][PHP] Problème de cache PHP?
[C] - fonction fscanf() , probleme[ACCESS] Problème liaison avec word.
Problème de TIMEOUTRésolution de problème...
[PHP - MySQL] Problème connexion BDD MySQL (résolu)[PHP - Adobd_Session - Oracle] Probleme de longueur de requete
Plus de sujets relatifs à : [Visual Basic] Problème pour faire tourner un chronomètre...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR