|
|
|
|
salut
le timer se trouve dans les composants. On clique dessus et on fait glisser sur la feuille comme tous les composants Le timer a deux réglages : enabled/disabled et periode ou frequence. Le timer emet des impulsions à la fréquence voulue Si j'ai bonne mémoire, c'est de 5 millisecondes à 1 seconde Un double clic sur l'icône du timer fait apparaître la fonction ontimer qui est une des méthodes de l'objet timer là est éxécuté le code que l'on choisit à chaque impulsion qu'émet le timer à la fréquence voulue et seulement si il est "enabled" Si le délai de 5 millisecondes est trop long, on peut mettre plusieurs timers, mais si c'est windows98 ou 95 on est très vite limité en performances. Le timer est une bonne solution parmi d'autres pour que l'interface ne soit pas bloquée pendant que s'excécute une long traitement. rtfm cordialement ¤ |
ok merci !
Qd on ouvre un programme, il y a toujours une boite avec un intitulé, le nom du produit, la version, la license,... qui s'ouvre en premier. Je voudrais que dans mon programme, cette boite s'ouvre (ca c'est bon) mais qu'elle reste affichée à l'ecran 5 secondes par exemple (la elle s'affiche et disparait tout de suite). Comment peut on choisir ce temps ? D'avance encore merci ! Ma.
|
voila un pti truc tu met l'inteval du timer a 0 et lorsque tu veux tu declancher le chrono tu affecte a interval une autre valeur par exemple 1000 = 1 seconde et dans
private sub timer_timer ... end sub tu met un compteur i = i+1 lorsque le "i" atteint la valeur que tu veux pas exemple 10 tu affecte a interval une autre fois zero interval = 0 'arrete le compteur et intervel <>0 le declanche |
Je vous remercie grandement pour votre aide, tout fonctionne comme je le voulais et je pense avoir compris comment fonctionnaient les timers. Grace à vous.
Merci. Ma. |
Bonjour,
je débute sous VB et aimerais moi aussi utiliser un timer pour réaliser une action répétitive. Je voudrais en fait que le timer soit activé/désactivé par un bouton de sorte que: -tant que le bouton est actif, le timer doit exécuter la même action (en réalité deux: exécution d'une requête SQL, puis concaténation du résultat dans un fichier csv préexistant), puis recommencer un décompte de 30 secondes, exécuter la requête, ajouter son résultat au fichier, recommencer le décompte etc. -si le bouton est désactivé, le timer s'arrête après avoir exécuté l'action à laquelle il est lié. concrètement, je sèche sur la manière de m'y prendre pour programmer un timer de la sorte et pour ce qui concerne la concaténation de données à un fichier préexistant. Je remercie d'avance tous ceux/celles qui auront un peu de temps pour m'aider à résoudre ce problème. |
Bonjour,
Dans le module de ton formulaire, tu déclares une variable générale booléenne (ex: Private flagTimer As Boolean), ainsi que cette fonction : Private Declare Function GetTickCount Lib "kernel32" () As Long
Public Sub xWait(ByVal MilsecToWait As Long)
Dim lngEndingTime As Long
lngEndingTime = GetTickCount() + (MilsecToWait)
Do While GetTickCount() < lngEndingTime
DoEvents
Loop
End Sub
Dans le Form_Load du formulaire, tu initialises ton flag à false (ex: flagTimer = False). Ensuite, sur l'évènement Click de ton bouton du colles ça: Private Sub Command1_Click()
If flagTimer = False Then
flagTimer = True
ElseIf flagTimer = True Then
flagTimer = False
End If
Call Timer1_Timer
End Sub
Il ne reste plus qu'à coder la procédure du Timer en utilisant une boucle while : Private Sub Timer1_Timer()
While flagTimer = True
'1 - code pour la requête SQL
'2 - code pour le fichier
Call xWait(3000)
Wend
End Sub
Bon courage ;o) polux |
Résultats pour TIMER sous Visual Basic 6.0
Résultats pour TIMER sous Visual Basic 6.0
Résultats pour TIMER sous Visual Basic 6.0
Résultats pour TIMER sous Visual Basic 6.0
Résultats pour TIMER sous Visual Basic 6.0