Faire un Replace sur une RichTextBox [Résolu]

Signaler
Messages postés
191
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
15 mai 2013
-
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

J'aimerai automatiquement, qu'à chaque fois qu'une chaine de caractère apparait dans ma RTBox, elle soit remplacée par une autre. Comme ma RTBox m'affiche ce que le port Comm envoi, voilà mon code :

Private Sub txtTerm_Change()
If InStr(txtTerm, "Laphraseavirer") > 0 Then
        txtTerm.Text = Replace(txtTerm, "Laphraseavirer", "")
    End If


Pourtant, lorsque je fais ceci, effectivement, cela me la vire bien, mais le hic, c'est que j'ai la chaine de caractere "\par " qui se rajoute devant toutes les lignes ??
Je ne comprend pas pourquoi, à mon avis je dois mal faire quelque chose ?

Merci de votre aide

5 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
ah... les propriétés par default ^^
utilises txtTerm.Text
et non txtTerm

Sinon, me mieux est tout de meme de faire ca avant l'affichage...
a la reception des données.

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
191
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
15 mai 2013

Merci beaucoup ça va mieux en effet !!!
En fait j'ai finalement traité le Replace à l'interception de touches spéciales.
Cependant, il m'affiche plusieurs lignes vides.
Est-il possible de virer ces sauts de lignes ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
pas sans savoir le contenu de ton texte et surtout comment tu l'ajoute dans la rtb


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
191
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
15 mai 2013

J'ai essayé de le faire à la réception des données mais ça ne fonctionne pô !


Private Static Sub MSComm1_OnComm()
    ' Sélectionne en fonction de la propriété CommEvent.
    Select Case MSComm1.CommEvent
        ' Messages d'événement.
        Case comEvReceive
            Buffer = MSComm1.Input
            'Debug.Print "Réception - " & StrConv(Buffer, vbUnicode)
            If InStr(Buffer, "Laphraseavirer") > 0 Then
                Buffer = Replace(Buffer, "Laphraseavirer", "")
            End If
            ShowData txtTerm, Buffer
        Case comEvSend
        Case comEvCTS
    End Select
End Sub
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
normal:
tu recoit pas forcément ton mot en une seule fois...

possible de 'buferriser' tant que tu n'a pas un message entier

Renfield - Admin CodeS-SourceS - MVP Visual Basic