J'ai des soucis avec Visual Basic !

Prospy -  
Popoï_ Messages postés 179 Statut Membre -
Bonjour tout le monde
euh, je suis débutant en programmation VB, en fait je suis entrain de préparer un pti programme. L'affichage des informations doit se passer de manière aléatoire, il se trouve qu'à chaque fois que je clique sur le bouton qui doit lancer cette action, une information vient plusieurs fois avant d'arriver à dernière information. C'est à peu près comme ça :

Select case
Int(Rnd * 3), de Case 0 jusqu'a Case 2. Avec comme caption==>
Case 0 label1.caption = "Allo"
Case 1 label1.caption = "Bonjour"
Case 2 label1.caption = "Ici Prosper"
End Select
Le problème est que l'affichage de "Bonjour" peut s'éffectuer deux fois avant "Ici Prosper".
Que dois-je faire pour résoudre cela ?
Merci de m'aider.
Excellente journée....

2 réponses

  1. BigFattyOne
     
    Tu utilises random pour savoir dans quel élément de ton case tu vas aboutir, n'est-ce pas normal?
    0
    1. Prospy
       
      Bonjour BigFattyOne

      Que dois-je utiliser alors ?
      vous savez, je ne maîtrise pas tellement la programmation, en fait je ne connais pas assez de fonctions, merci de me guider !

      Bonne journée !
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    a essayer
    avant select case écris cette ligne
    Randomize()

    mais tu auras toujours 1/3 chance de tomber sur le m^me
    0
    1. Prospy
       
      Bonjour Micherl_m,
      merci pour ton aide, mais le problème n'est encore pas résolu. Un message d'erreur s'affiche, un truc de ce genre "Compile error" "Expected:=". J'ai bien insérer Randomize() avant Select Case et même après.
      Que dois-je faire encore ?
      J'utilise Visual Basic 6 Enterprise...
      Merci de m'aider !
      A bientôt !
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      excuses moi;
      essaies randomize sans les parenthèses
      0
    3. Popoï_ Messages postés 179 Statut Membre 76
       
      Le "hasard" est calculé grâce à un algorithme très compliqué basé sur l'heure et la date, donc lorsque tu re-demandes un nombre au hasard, tu gardes la même heure et date: d'où l'intérêt d'utiliser Randomize pour réinitialiser l'heure utilisée pour "calculer le hasard". Personellement, je fais cette méthode pour ne pas avoir à retaper Randomize sans arrêt:

      Dim Rnd As System.Random = New System.Random()

      Dim Variable1 As Integer = Rnd.Next(1,100)
      Dim Variable2 As Integer = Rnd.Next(3,5)

      [...]
      0