tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008
-
27 nov. 2008 à 13:18
tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008
-
27 nov. 2008 à 18:52
Bonjour à tous
J'ai un petit soucis, et donc un conseil à vous demander. En effet, je
suis en train de programmer une application, et je me rends compte qu'à
plusieurs reprises je reprends ce code :
b = b + 1
Label2.Text = b
If b > 10 Then
Timer2.Enabled = False
btn_valid2.Visible = False
Panel2.Enabled = False
Panel3.Visible = True
nb5.Focus()
essai = essai + 1
Call remplirGridFacil(Grid2)
Grid2.Visible = True
End If
Seulement, à chaque fois, j'ai le nom de label qui change, le nom du timer, du panel, de la variable 5, et aussi du grid.
Je me dis donc qu'une procédure ou fonction serait ici utile mais étant débutante je ne sais pas trop si c'est possible ou non?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 27 nov. 2008 à 13:40
Salut,
Voici un exemple sur la logique à employer
'Call LaSub(Label2, Timer2, 5)
Private Sub LaSub(Lbl As Label, Tmr As Timer, Nbr As Integer)
b = b + 1
Lbl.Text = b
If b > 10 Then
Tmr.Enabled = False
btn_valid2.Visible = False
Panel2.Enabled = False
Panel3.Visible = True
Me.Controls("nb" & CStr(Nbr)).Focus
essai = essai + 1
Call remplirGridFacil(Grid2)
Grid2.Visible = True
End If
End Sub , ----
[../code.aspx?ID=41455 By Renfield]
tezcaa
Messages postés16Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention16 décembre 2008 27 nov. 2008 à 17:16
Désolée je suis nouvelle sur le forum et je ne savais pas qu'une fois la réponse acceptée on pouvait encore écrire dans le topic !
Non ma procédure est bien en public
Quand je note le code dans le programme principal, mon timer se met en route comme il faut, cependant, quand je note le code dans une fonction que je mets dans un module, le timer ne fonctionne plus, il ne va pas plus loin que 1.
Je vous mets le code de la procédure :
Public Sub Tim(ByVal Lbl As Label, ByVal Tmr As Timer, ByVal Nbr As Integer, ByVal btn_valid As Button, ByVal Grid As DataGridView, ByVal PanelA As Panel, ByVal PanelB As Panel)
Dim b As Integer
Dim essai As Integer
Tmr.Start()
b = 0
b = b + 1
Lbl.Text = b
If b > 9 Then
Tmr.Enabled = False
btn_valid.Visible = False
PanelA.Enabled = False
PanelB.Visible = True
JeuFacile.Controls("nb" & CStr(Nbr)).Focus()
essai = essai + 1
Call remplirGridFacil(Grid)
Grid.Visible = True
End If
End Sub
Voici l'appelle de la fonction :
Call Tim(Label1, Timer1, 3, btn_valid1, Grid1, Panel1, Panel2)
Je ne comprends pas pourquoi sans fonction tout fonctionne, et si je note le même code dans la fonction, rien ne va plus.