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

Composants VCL Delphi Discussion :

Comment remplacer du texte dans un Richedit sans enlever les images et le formatage du texte


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi
    Inscrit en
    Novembre 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 46
    Points : 26
    Points
    26
    Par défaut Comment remplacer du texte dans un Richedit sans enlever les images et le formatage du texte
    Bonjour à tous !

    Tout est dans le titre. Je suis nouveau sur le forum et débutant en programmation Delphi 7. J'a installé la bibliothèque JVCL des composants. A cet effet, j'ai à disposition un contrôle nommé jvrichedit qui permet à l'inverse du contrôle Richedit d'insérer des images à l'intérieur.

    Mon problème est le suivant : je désirerais remplacer un mot dans une phrase dans ce contrôle jvrichedit et ai essayé avec plusieurs fonctions comme Pos, selstart, ansireplace etc ... mais chacune d'entre elles remplacent bien ce que je désire modifier dans mon texte mais le problème c'est qu'elles font disparaitre les images insérées dans le jvrichedit et suppriment totalement le formatage des caractères (police, taille et couleur).

    Est-ce que quelqu'un aurait une idée à me proposer pour que dans un texte comme "Ceci est une chaine de caractères" je puisse changer le mot "chaine" en (je dis n'importe quoi) "phrase" mais en gardant mes images et mon formatage.

    Je ne sais pas si j'ai été très clair dans tout ceci mais au besoin je me réexpliquerai. Merci donc à tous ceux qui auront une solution à me proposer. Je vous souhaite à tous une bonne fin de journée !

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je viens de faire un test rapide avec leur démo 113 (jvcl\examples\jvRichEdit), l'option Replace fonctionne. ce serait peut être une bonne idée d'aller fouiller dans les sources de la démo pour apprendre.

    quelques indications tout de même car, débutant, cela n'est pas forcément évident.
    l'option du menu Replace fait appel à une procédure ReplaceDialog (ligne 487 : with Editor do ReplaceDialog(Seltext,''); qui se trouve dans l'unité JvRichEdit.pas
    si c'est le comportement que l'on souhaite autant faire de même (Editor est le JvRichEdit posé sur la forme).
    sinon il faut plonger plus profondément (dans jvRichEdit.pas lignes 4009 à 4070) pour voir comment cela se passe

    N.B. les indications de lignes sont celle de ma version JVCL, un peu ancienne en ce qui concerne mon poste avec D7
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi
    Inscrit en
    Novembre 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 46
    Points : 26
    Points
    26
    Par défaut Merci !
    Bonjour Sergio Master et merci !

    J'ai suivi votre exemple que vous m'avez donné et tout marche à la perfection. J'avais déjà essayé le contrôle "ReplaceDialog" avec "Remplacetext" et cela n'aboutissait pas au résultat que je recherchais à savoir comme déjà dit garder les images et la mise en forme du texte.

    Je n'aurais jamais pensé que la ligne de code que vous m'avez indiqué produirait ce beau résultat tant attendu par moi. Je vous remercie encore beaucoup et vous souhaite une agréable journée !

    Ce sujet est résolu.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 29/04/2006, 10h40
  2. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  3. Réponses: 5
    Dernier message: 25/01/2005, 14h26

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