Listing Digits Program

Résolu
salut , Je veux un programme s'il vous plaît En VB6 Qui contiens 2 textbox et un bouton ..
si on écrie un nombre " 5487 " dans textbox 1 et on clic sur le bouton , le programme affiche sur le 2éme textbox le nombre en multiline en utilisant les boucles :
5
4
8
7
Merci pour m'aider .

12 réponses

  1. Dans ton exercice, tu as un travail sur les boucles mais aussi sur la manipulation des chaînes de caractères.

    Ici un très bon tuto de silkyroad sur la manipulation des chaînes de caractère en VB6 et VBA

    Si tu déclares la variable a en string, tu ne peux pas lui assigner un numérique !!!

    Et n'oublie pas le papier et le crayon :0)))
    1. Ouiii MErcI beaucoup , Tu as travailler avec variables par default du programme , je pence que ça va prend plus de memoire si le programme est grand
      1. La mémoire va prendre le contenu saisie dans la zone Texte. Si tu déclares une variable pour lui assigner le contenu de la zone Texte, ça assigne en mémoire 2 fois la même chose ...

        Ici ce n'est pas vraiment important et VB se charge de gérer la mémoire. Ce n'est pas la même chose avec tous les langages ... ni tous les programmes. Autant s'habituer dès le début à monopoliser le moins de mémoire possible.

        Bon courage et bonne continuation.

        ;0)
    2. Comme tu as bien bossé, voilà une solution :

      'Mettre la propriété Multiline de Text2 à True
      Private Sub Command1_Click()
      Dim a As String
      Dim i As Integer
      
          'Si le Text1 est vide, on sort de la Sub
          If Text1.Text = "" Then Exit Sub
      
          For i = 1 To Len(Text1.Text)
              a = Mid(Text1.Text, i, 1)
              Text2.Text = Text2.Text & a & vbCrLf
          Next
      
      End Sub

      1. tu as toutes les réponses ici.

        Travaille et tu auras ton programme.
    3. Je n'avais pas testé ton code, je viens de le faire ...

      Je n'ai pas ce message. Par contre je n'ai pas le résultat attendu ...
      1. C'est à toi de dire si ça donne le résultat attendu ou pas ^^

        Apparemment, ça devrait fonctionner.

        Tu peux améliorer encore un peu pour libérer des ressources mémoire...

        Tu n'as pas besoin de la variable a. Tu peux faire :

        For i = 1 to Len(Text1.Text)


        Tu peux encore te passer d'une autre variable. A toi de trouver ^^

        ;0)

        «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
        Nicolas Boileau
        1. Super , ça march Maintenant MerCi <3
      2. Oui Dans Ce cas Le programme Doit marche

        Private [/contents/446-fichier-sub Sub] Command1_Click()
        Dim a As Integer
        Dim b As String
        Dim c As String
        Dim i As Integer
        a = Len(Text1.Text)
        c = Text1.Text
        For i = 1 To a
        b = mid(c, i, 1)
        Text2.Text = b & vbCrLf
        Next
        End Sub
        1. Tu as testé ?

          Tu sais faire tourner le programme pas à pas pour voir ce que contient tes variables ?
          1. MerCi Mr . Maintenant je suis un peut proch ?

            Private Sub Command1_Click()
            Dim a As Integer
            Dim b As String
            Dim c As String
            Dim i As Integer
            a = Len(Text1.Text)
            c = Text1.Text
            For i = 1 To a
            b = Left(c, i)
            Text2.Text = b & vbCrLf
            Next
            End Sub
            1. Dim a As String
              Dim b As String
              Dim i As Integer
              a = val(Text1.Text)
              For i = 0 To a
              b = a & vbCrLf & b
              Next
              Text2.Text = b

              Maintenant tout est just mais le principe de program que je veux c'est pas ça
              1. Non effectivement, ça ne peut pas fonctionner

                Tout d'abord, il faut déclarer tes variables:

                Dim a As String
                Dim i As Integer


                Ensuite l'indice i de la boucle For ... Next est numérique.
                Donc le "For i = 0 to a" ne peut pas fonctionner.

                Maintenant que tu sais ça, tu prends un papier et un crayon et tu écris l'algo de ce que tu veux obtenir.

                ;0)
                1. j'ai fais ça
                  Private Sub Command1_Click()
                  a = Text1.Text
                  For i = 0 To a
                  a = Text1.Text
                  b = a & vbCrLf & b
                  Text2.Text = b
                  Next
                  End Sub
                  mais ça rien a voir de ce que je veux :/
                  1. Bonjour,

                    C'est un exercice ça sur les boucles ça ?

                    Montres nous ce que tu as déjà fait et où ça te pose un problème.

                    ;0)

                    PS: "Je veux" n'est pas vraiment approprié sur un site quand on désire de l'aide. C'est ceux qui prendront la peine de se pencher sur ton problème qui décideront s'ils veulent ou pas te venir en aide.