Comparer le contenu de deux textbox [Résolu]

Signaler
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour, j'aimerais comparer le contenu de deux textbox :

Textbox1 = "He+O+H+Fe"
Textbox2 = "H+O+Fe+He"

Ce sont les mêmes mais je n'arrive pas à le montrer.. quelle manip faire pour comparer ces deux textbox et voir si ils contiennent la même chose... ?

Merci à vous !

9 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
le code suivant est pour VB6 mais peut être peu t il t'aider quand meme.

Dim ContT1() As String 
Dim Egaux As Boolean 
Dim i As Integer 

Textbox1 =  "He+O+H+Fe" 
Textbox2 = "H+O+de+He" 
ContT1 = Split(Textbox1, "+") 

If  Len (Textbox1)  = Len(Textbox2) Then 
    Egaux =  True 
    For i =  LBound (ContT1) To UBound(ContT1) 
        If InStr(1, Textbox2, ContT1(i))  = 0 Then 
            Egaux = False 
            Exit For 
        End If 
    Next 
End If 

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

If TextBox1.Text = TextBox2.Text Then MsgBox "c'est pareil" Else MsgBox "c'est pas pareil"

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
Je crois que tu veux dire comparer les element de la chaine ! une comparaison binaire ne marchera pas! fait un split et compare les element de chaque tableau.


@+

E.B.
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

Bravo Jivret et encore merci, c'est exactement ce que j'attendais !
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

En fait le split découpe la chaine c'est ça ? ce qui permet ensuite de les comparer un par un ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
oui....
mais le code de jrivet ne me conviens pas completement...

A+B+C
et
AB+CR

seront déclarés équivalents....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
[auteurdetail.aspx?ID=2359 Renfield]

BIEN VU (Comme d'hab)


Il faut donc passer par deux split et parcourir les splitter
@+: Ju£i?n


Pensez: Réponse acceptée
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

Ah.. comment intégrer le deucième split ?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Un peu d'imagination.... Tu aurais pu essayer de le trouver seul.
En revanche comme tu es en .NET, je suis sûr que VB te propose de meilleures façons pour arriver à faire ce que tu souhaites.
Dim ContT2() As String 
Dim ContT1() As String 
Dim Egaux As Boolean 
Dim Trouve As Boolean 
Dim i As Integer 
Dim j As Integer 

TextBox1 =  "He+O+H+Fe" 
TextBox2 = "H+O+Fe+He" 
If  Len (TextBox1)  = Len(TextBox2) Then 
    'On Casse les deux Chaines
    ContT1 =  Split(TextBox1, "+") 
    ContT2 = Split(TextBox2, "+") 
    'Boucle sur le premier contenu
    For i =  LBound (ContT1) To UBound(ContT1) 
        Trouve  = False 
        'On Verifie si le premier element
        'n'est pas dans le split du second
        For j =   LBound (ContT2) To UBound(ContT2) 
            If ContT1(i)  = ContT2(j) Then 
                Trouve = True 
                Exit For 
            End If 
        Next j 
        If Not Trouve Then 
            'Chaine pas egales
            MsgBox "Diff" 
            Exit For 
        End If 
    Next 
End If 

@+: Ju£i?n
Pensez: Réponse acceptée