Me voici à nouveau, lolo1878.
Voici le code que je vous ai promis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Public Class Accueil
Private Lst(5) As String
Private Sub bTst1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bTst1.Click
Initialiser1()
FormerListe()
lUnq1.Text = "Unique = " & Unique.ToString
End Sub
Private Sub bTst2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bTst2.Click
Initialiser2()
FormerListe()
lUnq2.Text = "Unique = " & Unique.ToString
End Sub
Private Sub FormerListe()
Lst(1) = textbox1.Text
Lst(2) = textbox2.Text
Lst(3) = textbox3.Text
Lst(4) = textbox4.Text
Lst(5) = textbox5.Text
End Sub
Private Sub Initialiser1()
textbox1.Text = "A"
textbox2.Text = "B"
textbox3.Text = "C"
textbox4.Text = "D"
textbox5.Text = "E"
End Sub
Private Sub Initialiser2()
textbox1.Text = "A"
textbox2.Text = "B"
textbox3.Text = "C"
textbox4.Text = "D"
textbox5.Text = "A"
End Sub
Private Function Unique() As Boolean
Dim Ok As Boolean, i As Integer, j As Integer, Txt As String
Ok = True
For i = 1 To 5
Txt = Lst(i)
For j = i + 1 To 5
If Lst(j) = Txt Then Ok = False : Exit For
Next j
If Not Ok Then Exit For
Next i
Return Ok
End Function
End Class |
Il est placé sur un formulaire sur lequel j'ai déposé
L'algorithme dont je vous ai parlé se limite à la fonction Unique As Boolean (tout le reste ne sert qu'à la mettre en scène). Grâce à la méthode FormerListe, les 5 textes mis dans vos TextBox sont rassemblés dans le tableau Lst(). Dans la fonction Unique, la boucle d'index i parcourt cette liste, depuis le rang 1 jusqu'au rang 5,
en relevant au passage le texte Lst() sous la forme d'un string nommé Txt. À l'intérieur de cette boucle, s'en trouve une autre d'index j, depuis le rang i + 1 jusqu'au rang 5. C'est ainsi que l'on peut comparer deux à deux les termes de la liste, et de mettre à False le booléen Ok en cas de doublon.
N'hésitez pas à l'appeler en cas de besoin.
Partager