IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Remplacement de mot dans un richtextbox [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut Remplacement de mot dans un richtextbox
    Bonjour à tout le monde et très heureuse année 2015 pour commencer

    Dans mon petit projet je souhaite pouvoir édité du courrier avec des données venant du programme
    Ma première idée était les signets avec Ms Word, mais là je suis confronté a des personnes qui n'on pas office et qui ne souhaite pas l'acheter pour différentes raisons.
    Je me suis alors tourner vers un module mini traitement de texte ( personnel et simplifié) avec un Richtextbox , qui me permet donc de pouvoir enrichir le texte (gras, souligné,.... )
    Lorsque je place une variable dans mon texte (ex: @MaVariableNom ) et que je fais une recherche pour la remplacer par le contenu du programme avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      NameFieds = "@MaVariableNom"
                      RtxMainTexte.Select(RtxMainTexte.Find(NameFieds), Len(NameFieds))
                      RtxMainTexte.SelectedText = "Mon texte de remplacement"
    Il exécute très bien la tache, mais si j'ai plusieurs fois la même variable, là il ne remplace rien qu'une fois
    il faut alors que je parcoure une deuxième fois mon RtxMainTexte.

    Y aurais t'il une autre solution.
    J'ai bien pensé a Replace mais in fonctionne uniquement sur du textbox

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Bonjour,

    Effectivement c'est normal, car le Select va sélectionné la première itération du mot recherché... Et ne va donc pas tous les sélectionner d'un coup.
    Je pense donc qu'il faille boucler...

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    J'avais regardé a cela aussi, mais alors si j'ai plusieurs fois la même variable et que le document en comporte 20, tu imagines le temps de bouclage

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    De nos jours, avec un processeur à 2 GHz... Ça doit prendre quelques millisecondes.... lol
    C'est surement acceptable.

  5. #5
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    Bonjour,
    Je pense que Replace serait la meilleure solution, et cela marche avec un Richtextbox.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim a As String
            a = Richtextbox1.Text
            Dim a2 As String
            a2 = a.Replace("a", "i") REM remplace les a par des i
            Richtextbox1.Text = a2

  6. #6
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour tovin

    Dans ta méthode tu transfert ton richtexbox dans un string et en suite tu fais le remplacement dans le string et en fin du replace ton string dans richtextbox.
    Mais de cette façon tu pers toute la mise en forme du texte
    Si je ne me trompe pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. [VB 2005]Selectionner un mot dans une RichTextBox
    Par D4rkTiger dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/07/2006, 22h27
  3. Réponses: 10
    Dernier message: 29/04/2006, 10h40
  4. [RegEx] motif pour remplacer un mot dans du code HTML ...
    Par r-zo dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2006, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo