[VB6]-[ListBox]-[Bug?]

Salut à tous, ô honnorables membres CCM

une fois n'est pas coutume, j'ai un petit prob existentiel.

un pote à moi qui apprends VB6 me pose le dilemne suivant.

dans le code ci-dessous, un form constitué d'une zone liste et de 6 zone de texte est censé afficher dans ces dernière un message signifiant quel Item de la liste a été sélectionné.

Bon, j'ai vu le code, il m'a l'air correct sauf pour l'Item (1) (en l'occurence "Dallas". Il se passe rien. Serait-ce un bug connu? ou alors y a une erreur mais je vois pas où.

Merci d'avance

[code]
Private Sub Form_Load()
lstFirstList.AddItem "Chicago"
lstFirstList.AddItem "Dallas"
lstFirstList.AddItem "Seattle"
lstFirstList.AddItem "Washington"
lstFirstList.AddItem "Houston"
lstFirstList.AddItem "Dayton"
End Sub

Private Sub lstFirstList_Click()
If lstFirstList.Selected(0) Then
txtChicago.Text = "Sélectionné"
Else
txtChicago.Text = "Non sélectionné"
End If

If lstFirstList.Selected(1) Then
txtDallas.Text = "Sélectionné"
Else
txtDallas.Text = "Non sélectionné"
End If

If lstFirstList.Selected(2) Then
txtSeattle.Text = "Sélectionné"
Else
txtSeattle.Text = "Non sélectionné"
End If

If lstFirstList.Selected(3) Then
txtWashington.Text = "Sélectionné"
Else
txtWashington.Text = "Non sélectionné"
End If

If lstFirstList.Selected(4) Then
txtHouston.Text = "Sélectionné"
Else
txtHouston.Text = "Non sélectionné"
End If

If lstFirstList.Selected(5) Then
txtDayton.Text = "Sélectionné"
Else
txtDallas.Text = "Non sélectionné"
End If

End Sub
[\Code]
Chouba
"Obsédé des travaux manuels non pratiquant"

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Un commentaire d'ordre general, ce serait beaucoup plus propre avec un joli select case...

    Pour le reste, en debug pas a pas, il se passe quoi?

    *,*
    \_/
    1. Modérateur
      Pour le select case, je suis tout à fait d'accord. Mais c'est un exercice dans le cadre d'un apprentissage en VB6.

      En fait lorsque qu'on selection un nom de ville dans une liste, la zone de texte correspondante doit indiquer "Sélectionné" et les autres "Non sélectionné". Le prob, c'est que pour l'Item en indice (1), ça marche pos.

      ?????? je suis franchement dubitatif, c'est pas logique

      Chouba
      "Obsédé des travaux manuels non pratiquant"
      1. Contributeur
        Si tu essayes avec des Break point ca marche po?
        T'as la version original du code sous les yeux (ca pourrait etre une faute d'etourderie...)
        Si tu precise l'indice au moment de rentrer les donnees ca marche?
        Si tu fais ton test sur autre chose (genre une cle que tu rentrerais ou directement la valeur du champ) ca marche?

        *,*
        \_/
        1. Modérateur
          ben justement c'est le code source du bouquin.

          les breaks marche pos !
          les indices non plus!
          les tests pas plus, l'indice 1, y veut pas, même si je change d'indice de 1 en 2 ou 3 ça marche pos
          pige plus
          ????????????

          merci pour les conseils, je te suis redevable d'un pot, mais je vais plus me casser la tête là dessus aujourd'hui.

          Chouba
          "Obsédé des travaux manuels non pratiquant"
          1. erreur bete dans tes events click, provenant sans doute d un copier coller malheureux
            relis ton code
            ca marche comme ca:

            If lstFirstList.Selected(0) Then
            txtChicago.Text = "Sélectionné"
            Else
            txtChicago.Text = "Non sélectionné"
            End If

            If lstFirstList.Selected(1) Then
            txtDallas.Text = "Sélectionné"
            Else
            txtDallas.Text = "Non sélectionné"
            End If

            If lstFirstList.Selected(2) Then
            txtSeattle.Text = "Sélectionné"
            Else
            txtSeattle.Text = "Non sélectionné"
            End If

            If lstFirstList.Selected(3) Then
            txtWashington.Text = "Sélectionné"
            Else
            txtWashington.Text = "Non sélectionné"
            End If

            If lstFirstList.Selected(4) Then
            txtHouston.Text = "Sélectionné"
            Else
            txtHouston.Text = "Non sélectionné"
            End If

            If lstFirstList.Selected(5) Then
            txtDayton.Text = "Sélectionné"
            Else
            txtDayton.Text = "Non sélectionné"
            End If
            1. Modérateur
              bien vu et merci, c'est pas un copy paste mais une erreur due à l'aide contextuelle.

              en tout cas chapeau

              Chouba
              "Obsédé des travaux manuels non pratiquant"
              1. Contributeur
                Dites, je dois pas etre reveille, mais elle est ou la diffrenece entre le code a Chouba et celui a Alix?

                *,*
                \_/
                1. Modérateur
                  Alix
                  If lstFirstList.Selected(5) Then
                  txtDayton.Text = "Sélectionné"
                  Else
                  txtDayton.Text = "Non sélectionné"
                  End If

                  Chouba
                  If lstFirstList.Selected(5) Then
                  txtDayton.Text = "Sélectionné"
                  Else
                  txtDallas.Text = "Non sélectionné" <-------------
                  End If

                  Chouba
                  "Obsédé des travaux manuels non pratiquant"
                  1. chouba:
                    If lstFirstList.Selected(5) Then
                    txtDayton.Text = "Sélectionné"
                    Else
                    txtDallas.Text = "Non sélectionné"
                    End If

                    Alix:
                    If lstFirstList.Selected(5) Then
                    txtDayton.Text = "Sélectionné"
                    Else
                    txtDayton.Text = "Non sélectionné"
                    End If

                    PS
                    "Le grain de riz a toujours tort devant la poule"
                    1. Contributeur
                      OK, vu :DDD
                      mais alors ca devrait etre l'evenement 5 qui plante en partie aussi et l'evenement un ne devrait plante qu'en parti itou...
                      Si tu selectionnes une fois le 5, il reste selectionne tout le temps alors...

                      *,*
                      \_/
                      1. Modérateur
                        vi !

                        honte et opprobre sur moi

                        Chouba
                        "Obsédé des travaux manuels non pratiquant"