Comparer le contenu de deux textbox

Résolu
tinux
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013
- 18 janv. 2007 à 13:56
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
- 19 janv. 2007 à 08:56
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

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
18 janv. 2007 à 14:11
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
3
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
18 janv. 2007 à 14:47
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"
<!--
0
cs_EBArtSoft
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
18 janv. 2007 à 15:00
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.
0
tinux
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

18 janv. 2007 à 15:04
Bravo Jivret et encore merci, c'est exactement ce que j'attendais !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tinux
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

18 janv. 2007 à 15:08
En fait le split découpe la chaine c'est ça ? ce qui permet ensuite de les comparer un par un ?
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
18 janv. 2007 à 15:25
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
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
18 janv. 2007 à 15:54
[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
0
tinux
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

18 janv. 2007 à 18:45
Ah.. comment intégrer le deucième split ?
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
19 janv. 2007 à 08:56
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
0