Timer longue durée

cs_nr Messages postés 164 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 11 juillet 2005 - 22 janv. 2005 à 14:31
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 22 janv. 2005 à 18:54
Salut,

Voila je cherche un timer équivalent à celui inclus dans la librairie de Vb , mais avec un interval pouvant dépasser les 64767 ms, c'est à dire faire des intervals pouvant aller jusqu'a 30 minutes. Bien sur une précision à la seconde près suffit largement.

merci

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 janv. 2005 à 15:10
Salut
Déjà beaucoup d'exemples sur vbfrance mais je ne t'en veux pas, le module de recherche du site est foireux ;-)

La limite est de 65535 ms (valeur d'un entier non signé)
Si on veut dépasser cette valeur, il suffit de faire tourner le timer à 60000 ms, soit 1 min et d'utiliser le code suivant :

Static Compteur As Long ' Variable qui gardera sa valeur entre deux scrutations
Compteur = Compteur + 1 ' Incrémente le nombre de passage, donc de minutes
If Compteur >= LaValeurQueL'onVeut Then
Ici les lignes que l'on veut exécuter
Compteur = 0 ' RaZ du compteur
End If

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_nr Messages postés 164 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 11 juillet 2005
22 janv. 2005 à 15:38
Merci beaucoup,

Il est vrai que je n'ai pas trouver avec le moteur de recherche ! Peux tu m'éclairer sur la déclaration Static?

Merci pour la soluce
@+
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
22 janv. 2005 à 16:47
Salut ;O)

Une variable déclarée au sein d’une procédure avec l’instruction Dim ne peut être utilisée que dans cette procédure. Elle est dite locale. Une variable locale ne conserve sa valeur que pendant l’exécution de la procédure. Si l’on veut que la valeur soit conservée pendant toute l’application, il faut utiliser l’instruction Static :<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />





Static Compteur As Integer





Pour utiliser une variable dans toutes les procédures d’une feuille ou d’un module, il faut la déclarer par Dim ou Static dans la section de déclaration.



Guy
0
cs_nr Messages postés 164 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 11 juillet 2005
22 janv. 2005 à 18:45
Merci Neo.balastik

En fait j'utilise toujours Dim, apparement cela reviend au même ?

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
22 janv. 2005 à 18:54
Non pas du tout !

Une variable déclarée avec Dim dans une procédure (ou fonction) est 'tuée' lorsque celle-ci est terminée.

Dans l'exemple ci-dessous, la variable 'MaVariable' est tuée lorsque la procédure est terminée. Donc au prochain appel de la procédure, la variable est de nouveau initialisée avec la valeur 10 :

Public Sub MySub ()

Dim MaVariable as Long

MaVariable = MaVariable + 10

End Sub

Dans cet exemple, la variable 'MaVariable' ne perd pas sa valeur lorsque la procédure est finie. Donc ou prochain appel de la procédure, MaVariable vaut déjà 10 et vaudra 20 car on lui ajoute 10 :

Public Sub MySub ()

Static MaVariable as String

Dim MaVariable as Long

MaVariable = MaVariable + 10

End Sub

Guy
0
Rejoignez-nous