tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008
-
28 nov. 2008 à 21:10
tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008
-
1 déc. 2008 à 11:27
Bonsoir à tous
J'ai un petit soucis avec mes 2 timer.
En effet, quand je mets mon code dans mon programme principal, les deux timers se suivent consécutivement. Quand le premier arrive à 10, le deuxième se met en route à partir de 0 jusqu'à 10 lui aussi.Cependant, je voudrais faire une procédure pour mes timers et leur exécution. Seulement, dans mon module, j'ai fait un a a+1 sachant que label a . Mais pour que cette procédure fonctionne, je devais déclarer A en static et non en Dim. mais quandj ep asse au timer 2 il reprend donc la valeur du 1er (ici 10) directement. Jvoudrais savoir comment pouvoir réinitiliser à 0 ma variable static si c'est possible? sachant que mettre a en dim ne fonctionne pas dans mon progame car le label reste alors à 1.
Je vous remercie d'avance pour votre réponse.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 28 nov. 2008 à 21:23
J'ai pas tout bien compris là.
Tu l'as mis en static ou ta variable ?
Tu pourrais nous mettre le bout de code posant problème que l'on y voit plus clair stp !
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 nov. 2008 à 23:28
Salut
Si tu as consulté la doc, tu verrais que Static permet de mémoriser la valeur d'une variable entre deux scrutation d'une procédure.
Dans ce cas, on utilise cette déclaration dans une procédure.
Si tu dois rendre visible une variable par toutes les procédures d'une seule forme/module, tu dois placer ta déclaration de Dim (par défaut Private) en tête de ta forme/module.
Si tu dois rendre visible une variable par toutes les procédures de toutes les formes et modules, tu dois placer ta déclaration en Public et dans la partie déclaration d'un Module.
Le raisonnement maintenant : De qui ta variable doit-elle être vue/utilisée ?
Une procédure ? Une forme/module ? Tout ton projet ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 29 nov. 2008 à 01:00
Bonsoir,
Perso, je te dirais de nous expliquer ce que tu essaie de faire avec tes 2 timers (en français, sans code), cela nous permettrais de réfléchir depuis la base du problème.
tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008 1 déc. 2008 à 11:25
je vais vous mettre mon code comme demandé, ca facilitera surement la tache :
j'ai donc fait un module ou on y trouve :
Public Sub Tim(ByVal Lbl As Label, ByVal Tmr As Timer, ByVal Nbr As TextBox, ByVal btn_valid As Button, ByVal Grid As DataGridView, ByVal PanelA As Panel, ByVal PanelB As Panel)
Static a As Integer
' Tmr.Start()
' a = 0
a = a + 1
Lbl.Text = a
If a > 9 Then
Tmr.Enabled = False
btn_valid.Visible = False
PanelA.Enabled = False
PanelB.Visible = True
Nbr.Focus()
essai = essai + 1
Call remplirGridFacil(Grid)
Grid.Visible = True
End If
End Sub
Dans mon programme principal j'ai :
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
a = 0
Call Tim(Label2, Timer2, nb5, btn_valid2, Grid2, Panel2, Panel3)
End Sub
Je reprends mon problème.
J'ai deux timers dans mon application. Le premier timer (timer1) se met en route, jusque là pas de prob. Si on clique sur un bouton valider, le timer1 s'arrête et je voudrais que le timer 2 se mette en route(ce qu'il fait), mais qu'il commence à partir de 0. Hors ici, il commence à partir de la valeur où le timer 1 s'est arrêté. Je sais que le fait d'utiliser a comme valeur static et ce que je veux c'est contradictoire, seulement quand je mets ma valeur en dim, mon timer dans mon application s'arrête à 1.
J'attends vos réponses, en ésperant avoir été plus claire cette fois ci.
Jvous remercie d'avance!
Vous n’avez pas trouvé la réponse que vous recherchez ?