Timer longue durée

Signaler
Messages postés
164
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
11 juillet 2005
-
Messages postés
796
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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)
Messages postés
164
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
11 juillet 2005

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
@+
Messages postés
796
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
7
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
Messages postés
164
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
11 juillet 2005

Merci Neo.balastik

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

@+
Messages postés
796
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
7
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