En vb.net

Fermé
madeog Messages postés 74 Date d'inscription vendredi 12 octobre 2018 Statut Membre Dernière intervention 2 mars 2021 - Modifié le 16 oct. 2018 à 08:50
 Utilisateur anonyme - 16 oct. 2018 à 13:08
Bonjour,

je veux ecrire un programme qui calcule la table de multiplication
j'ai essaye mais je suis bloquée.

voici le code que j'ai ecrit
 Dim nbre, i, J As Integer
        nbre = CInt(Txtnbre.Text)
        If nbre < 2 Or nbre > 20 Then
            MsgBox("entrer des valeurs comprises entre 2 et 20 . svp")
        Else
            Txtaffichage.Text = CStr(nbre) + Environment.NewLine
            For i = 0 To nbre
                If i <> 0 Then
                    Txtaffichage.Text = i.ToString
                Else
                    Txtaffichage.Text = ""
                End If
                For J = 1 To nbre
                    Txtaffichage.Text = J.ToString
                Next j


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.


Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

Utilisateur anonyme
16 oct. 2018 à 08:21
Bonjour

déjà tu mélanges VB6 et VB.Net, c'est déconseillé, principalement parce que les instruction VB6 ne sont pas objet. Mais aussi parce que dans de rares cas, il se passe des choses imprévues et qu'il est très difficile de débugger.

Je te conseille donc d'enlever la référence à Visual Basic, voir ici pour plus d'infos https://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net

Ensuite, il manque
    Next i
End If
dans le code que tu présentes, mais on va supposer qu'il s'agit d'une erreur de copier / coller.

Voilà ton code remis en forme et en couleur (voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
        Dim nombre As String = "3" 'pour simuler ton textbox
        Dim resultat As String = "" 'idem

        Dim nbre, i, J As Integer
        nbre = Convert.ToInt32(nombre)

        If nbre < 2 Or nbre > 20 Then
            MessageBox.Show("entrer des valeurs comprises entre 2 et 20 . svp")
        Else
            resultat = nbre.ToString() + Environment.NewLine
            For i = 0 To nbre
                If i <> 0 Then
                    resultat = i.ToString()
                Else
                    resultat = ""
                End If
                For J = 1 To nbre
                    resultat = J.ToString()
                Next J
            Next i
        End If


Donc, tu commences par rentrer le nombre avec un retour charriot
resultat = nbre.ToString() + Environment.NewLine


Puis tu effaces ce qu'il y a dans resultat pour y mettre i ou ""
                If i <> 0 Then
                    resultat = i.ToString()
                Else
                    resultat = ""
                End If
et enfin tu effaces à nouveau ce qu'il y a dedans pour y mettre j
                For J = 1 To nbre
                    resultat = J.ToString()
                Next J


Je ne sais pas quelle mise en forme tu cherches à avoir mais dans tous les cas, effacer ce qu'il y a dans la variable c'est pas bon.

Tu peux simplement faire un truc comme ça
resultat = resultat + i.ToString()
ça va ajouter le texte au texte existant.
Tu peux utiliser un StringBuilder pour construire le texte petit bout par petit bout https://docs.microsoft.com/fr-fr/dotnet/standard/base-types/stringbuilder
Par exemple
resultat = nbre.ToString() + Environment.NewLine
deviendrait
monBuilder.AppendLine(nbre.ToString())


Tu peux aussi te servir de String.Format https://www.dotnetperls.com/format-vbnet
Par exemple
monBuilder.AppendLine(String.Format("Voici la table du {0}",nbre))


0
Bonjour merci beaucoup
0
Utilisateur anonyme
16 oct. 2018 à 13:08
De rien

et merci à balader d'avoir édité ton message pour que le code soit en couleur
0