Faire un Replace sur une RichTextBox

Résolu
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 - 17 mars 2010 à 11:04
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 mars 2010 à 11:41
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 mars 2010 à 11:12
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
3
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
17 mars 2010 à 11:24
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 ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 mars 2010 à 11:27
pas sans savoir le contenu de ton texte et surtout comment tu l'ajoute dans la rtb


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
17 mars 2010 à 11:37
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
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 mars 2010 à 11:41
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
0