En vb.net
madeog
Messages postés
81
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
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
Merci d'y penser dans tes prochains messages.
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.
1 réponse
-
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 manqueNext 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-codeDim 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 charriotresultat = 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 Ifet enfin tu effaces à nouveau ce qu'il y a dedans pour y mettre jFor 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 çaresultat = 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 exempleresultat = nbre.ToString() + Environment.NewLine
deviendraitmonBuilder.AppendLine(nbre.ToString())
Tu peux aussi te servir de String.Format https://www.dotnetperls.com/format-vbnet
Par exemplemonBuilder.AppendLine(String.Format("Voici la table du {0}",nbre))