cs_cera
Messages postés16Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention25 août 2008
-
14 juil. 2006 à 17:32
cs_cera
Messages postés16Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention25 août 2008
-
16 juil. 2006 à 13:57
bonjour,
je veux enchaîner l'affichage d'au moins 2 forms VB6 avec une durée d'affichage non régulière. Pour celà j'ai utilisé un timer pour l'affichage de chaque form. L'inconvénient est la limite maximale de l'interval du timer.
Quelle serait la meilleure façon, sans multiplier le nombre de timers, de gérer des temps entre 3 et 6 minutes ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 juil. 2006 à 17:52
Salut
En effet, l'interval maxi d'un Timer est de 65537 milli secondes.
Pas grave :
- Donne lui un interval de 1000 mSec (1 sec) ou 60000 mSec (1 min)
Dans sa procédure, tu dimensionnes une variable de matière Static
Static iCompteur As Integer
- A chaque cycle (1 sec ou 1 min), tu incrémentes cette variable qui conservera sa valeur entre deux exécutions :
iCompteur = iCompteur + 1
- Et ensuite, tu testes si ce compteur a attient la durée désirée :
If iCompteur > 35 Then
' Le compteur a atteint 35 minutes (avec un interval Timer de 1 min)
DoLesActionsQueTuVeux
iCompteur = 0 ' Remet à zéro le compteur et c'est reparti pour 35 minutes
End If
Tu peux aussi faire la même chose avec une variable déclarée en Private dans la partie Déclaration de ta forme
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro
cs_cera
Messages postés16Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention25 août 2008 16 juil. 2006 à 13:57
Merci, ça fonctionne bien
. En faisant la même opération sur 2 forms avec un timer dans chaque ça fonctionne bien. Mais est-il possible de n'utiliser qu'un seul timer pour gérer l'affichage alternatif de 2 forms et si oui, vers quel type d'organisation il faut s'orienter ?
Actuellement je suis parti d'un sub_main() qui appelle la première form après l'avoir chargée avec les données via ODBC (tant que j'y suis je charge la 2ème form aussi via Odbc
par exemple
Sub main()
'Form1.Label1.Caption = "texte de la form1" 'ceci sera appelé par call chargeform1()
call chargeform1()
call chargeform2()
Form1.Show
End Sub
ensuite je fais ceci
Private Sub Timer1_Timer()
Static iCompteur As Integer
iCompteur = iCompteur + 1
Form2.Timer2.Enabled = False
'autre module
Sub chargeform1()
'chargement écran form1 avec données ODBC
End Sub
Sub chargeform2()
'chargement écran form2 avec données ODBC
End Sub
Est-ce que fonctionnellement il n'y aurait pas plus efficace à faire sachant que les données récupérées via ODBC sont réactualisées environ toutes les 15 minutes ?
Merci par avance des conseils avisés