Changé de texte dans un label

[Résolu]
Signaler
Messages postés
79
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
28 août 2010
-
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
-
Bonjour, je voulait s'avoire si c'était possible de changé de texte dans un label avec juste un timer toute les x milliseconde
car moi je sais pas comment faire alors j'utilise plein de timers et mon code se surcharge vite du genre:
timer1.enabled = false
label1.caption = "s"
timer2.enabled = true

timer2.enabled = false

label1.caption = "l"

timer3.enabled = true

timer3.enabled = false

label1.caption = "t"

timer1.enabled = true

c'est possible de géré ça sans me bourré de timer, genre avec un seule timer ?

10 réponses

Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Salut

Tu n'as besoin que d'un seul timer en effet,
il faut que tu donnes comme code un truc de ce genre :
Private Sub timerChangeLabel_Timer()
   Select case Etape
      Case 1
         label1.caption = "s"
         Etape=2
      Case 1
         label1.caption = "l"
         Etape=3      
      Case 1
         label1.caption = "t"
         Etape=1
   end Select
end sub

Bon courage



S.L.B.




<hr />

*********************************************************************************
<>
Messages postés
79
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
28 août 2010

merci beaucoup
Messages postés
79
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
28 août 2010

je vient d'avoir
"Compile error:
Variable not defined"

avec 'Etape' surligné en jaune
j'ai essayer de faire Dim Etape
j'ai plus d'erreur mais le code ne semble par marché :/
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Re:
Il est sur que tu devais déclarer la variable Etape.
Ensuite, comment est paramètré ton timer?
Donne moi son nom, son interval...
Quand tu lance le pas à pas est-ce que tu rentre dans la procédure?

S.L.B.

<hr />*********************************************************************************
<>
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Re:
Juste une chose aussi c'est plus propre si tu fais dim Etape as integer

S.L.B.

<hr />*********************************************************************************
<>
Messages postés
79
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
28 août 2010

voila mon code et j'ai une intervalle de 700 dans le timer



Private Sub timerChangeLabel12_Timer()
   Select Case Etape
      Case 1
         Label12.Caption = "|"
         Etape = 2
      Case 1
         Label12.Caption = "/"
         Etape = 3
      Case 1
         Label12.Caption = "-"
         Etape = 4
      Case 1
         Label12.Caption = ""
         Etape = 1
   End Select
End Sub

que veut tu dire par le 'pas à pas' ?
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Re:
Je veux dire : As tu mis un point d'arret au niveau de ta procedure Timer?
Quand ton code s'exécute, il va s'arreter à ce point et ensuite en appuyant sur la touche F8 tu vas "dérouler" ton code et vérifier si tout se passe correctement.
Si ton programme ne rentre pas dans ton timer c'est à dire qu'il ne s'arrete pas au point d'arret, plusieurs possibilités :
- Ton timer n'a pas la propriété enable à true,
- Le nom de ton timer n'est pas le même que celui de la procedure. Ici j'ai donné en exemple un nom bateau au timer "timerChangeLabel" ca veut dire que la propriété name de mon timer est égale à "timerChangeLabel"
De plus regarde ton code, tu fait case1, case1, case 1 etc...
Voila corrige et test

S.L.B.

<hr />*********************************************************************************
<>
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
Bonjour,

Change la valeur a chaque case, sinon à chaque tick de ton timer, ce sera toujours le même code qui est interpreté.

Private Sub timerChangeLabel12_Timer()
   Select Case Etape
      Case 1
         Label12.Caption = "|"
         Etape = 2
      Case 2
         Label12.Caption = "/"
         Etape = 3
      Case3
         Label12.Caption = "-"
         Etape = 4
      Case4
         Label12.Caption = ""
         Etape = 1
   End Select
End Sub

Bonne Prog
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Re:
N'oubli pas bien sur d'initialiser ta variable Etape à 1...

S.L.B.

<hr />*********************************************************************************
<>
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Allez, je suis sympa voila un exemple tout cuit

Option Explicit
'-- Déclaration Variable public
Dim Etape As Integer



'-- Déclanchement du timer

Private Sub Command1_Click()
    Timer1.Interval = 700
    Timer1.Enabled = True
    Etape = 1   '-- Initialisation de la variable
End Sub



'-- Arrêt du Timer

Private Sub Command2_Click()
    Timer1.Enabled = False
    Etape = 1   '-- Réinitialisation de la variable
End Sub



'-- Evenement sur Timer

Private Sub Timer1_Timer()
  
    Select Case Etape
      Case 1
         Label1.Caption = "|"
         Etape = 2
      Case 2
         Label1.Caption = "/"
         Etape = 3
      Case 3
         Label1.Caption = "-"
         Etape = 4
      Case 4
         Label1.Caption = ""
         Etape = 1
   End Select



End Sub




Bon courage pour la suite



S.L.B.




<hr />

*********************************************************************************
<>