PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Remplacer dans une chaine l'occurrence sélectionnée par...
Remplacer dans une chaine l'occurrence sélectionnée par...
Iniciado por patrick, 07,abr. 2006 13:00 - 2 respuestas
Publicado el 07,abril 2006 - 13:00
Bonjour,

J'ai dans un champ de saisie multiligne le texte suivant :

"Le jouet représente chez l’enfant un outil quasi indispensable de plaisir et de développement.... Le jouet permet, chez l’enfant d’âge préscolaire, de développer grandement ses sens en éveil.... L’enfant de 2, 3 ans apprécie particulièrement le jouet lorsque celui-ci lui permet de faire de la répétition et de l’association."

Le mot jouet est présent 3 fois. Or, ce que je cherche à faire c'est si je sélectionne jouet en début de texte, je veux pouvoir modifier uniquement le premier mot jouet en lui ajoutant par exemple un balise html.

Par exemple je veux ajouter au premier mot jouet de ce texte la balise html <i>

J'ai donc créé un bouton Btn_i qui lance la procédure Ajout_Balise("i")


PROCEDURE Ajout_Balise(sBalise)

chSelect est une chaine
PosFin est un entier

SI Texte..FinCurseur > 0 ALORS
PosFin = Texte..FinCurseur - 1
SINON
PosFin = Texte..FinCurseur
FIN

//texte sélectionnée dans champ de saisie multiligne
chSelect = Texte[[Texte..Curseur A PosFin]]

//remplacement du texte
Texte = Remplace(Texte, chSelect, "<"+sBalise+">"+chSelect+"</"+sBalise+">")

Mais en faisant cela, je remplace toutes les occurrences "jouet" de mon texte. Or je veux remplacer uniquement l'occurrence "jouet" sélectionnée.

Comment faire.
D'avance merci.

Patrick
Publicado el 07,abril 2006 - 13:32
Dans son message, patrick racontait :

Bonjour,

J'ai dans un champ de saisie multiligne le texte suivant :

"Le jouet représente chez l&#8217;enfant un outil quasi indispensable de plaisir et de développement.... Le jouet permet, chez l&#8217;enfant d&#8217;âge préscolaire, de développer grandement ses sens en éveil.... L&#8217;enfant de 2, 3 ans apprécie particulièrement le jouet lorsque celui-ci lui permet de faire de la répétition et de l&#8217;association."

Le mot jouet est présent 3 fois. Or, ce que je cherche à faire c'est si je sélectionne jouet en début de texte, je veux pouvoir modifier uniquement le premier mot jouet en lui ajoutant par exemple un balise html.

Par exemple je veux ajouter au premier mot jouet de ce texte la balise html <i>

J'ai donc créé un bouton Btn_i qui lance la procédure Ajout_Balise("i")


PROCEDURE Ajout_Balise(sBalise)

chSelect est une chaine
PosFin est un entier

SI Texte..FinCurseur > 0 ALORS
PosFin = Texte..FinCurseur - 1
SINON
PosFin = Texte..FinCurseur
FIN

//texte sélectionnée dans champ de saisie multiligne
chSelect = Texte[[Texte..Curseur A PosFin]]

//remplacement du texte
Texte = Remplace(Texte, chSelect, "<"+sBalise+">"+chSelect+"</"+sBalise+">")

Mais en faisant cela, je remplace toutes les occurrences "jouet" de mon texte. Or je veux remplacer uniquement l'occurrence "jouet" sélectionnée.

Comment faire.
D'avance merci.

Patrick


A priori ce que tu cherches pourrait ressembler a ca :

Texte = Texte[[0 a Texte..Curseur]]+"<"+sBalise+">"+chSelect+"</"+sBalise+">"+Texte[[PosFin a Texte..taille]]

Bon dev'
--
Lionel

mailto:lionel.breil*NOSPAM*@gmail.com
(retirer *NOSPAM* pour m'écrire)
Publicado el 07,abril 2006 - 22:56
Merci Lionel pour ta réponse.
Ca marche...