PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Changer l'aspect d'une portion de texte
Changer l'aspect d'une portion de texte
Iniciado por Claire, set., 16 2005 1:36 PM - 5 respostas
Publicado em setembro, 16 2005 - 1:36 PM
Bonjour,
je voudrais changer l'aspect (police, gras, souligné, italique, couleur)
d'une portion de texte dans un tableau (donc la fonction gStylo ne
s'applique pas).

En fait j'ai créé un moteur de recherche qui m'affiche dans un tableau
les détails des articles correspondant au champ de recherche (par ex :
disjoncteur)
Je voudrais que dans ce tableau, pour chaque ligne, le mot "disjoncteur"
soit affiché différemment, soit en gras, soit en couleur, mais que le
reste de la chaîne reste comme avant.

Merci à vous
Publicado em setembro, 16 2005 - 12:22 PM
Bonjour,

Il faut que votre champ soit un champ RTF.

Vous détectez la position de votre mot dans la chaine et vous utiliser les fonctions :

Curseur et FinCurseur pour sélectionner la zone à mettre en évidence et ensuite la fonction 'RTFSelection' pour attribuer le style voulu.

J'espère avoir pu vous aider, n'hésitez pas à nous tenir au courant si plus d'infos sont nécessaires

Fred
no-spam-fred-76@hotmail.com (sans le 'no-spam-')
Publicado em setembro, 16 2005 - 7:08 PM
Merci !
Ca marche sur la première ligne mais pas sur les autres...
Mais c'est déjà un bon début
Merci encore

Fred a écrit :
Bonjour,

Il faut que votre champ soit un champ RTF.

Vous détectez la position de votre mot dans la chaine et vous utiliser les fonctions :

Curseur et FinCurseur pour sélectionner la zone à mettre en évidence et ensuite la fonction 'RTFSelection' pour attribuer le style voulu.

J'espère avoir pu vous aider, n'hésitez pas à nous tenir au courant si plus d'infos sont nécessaires

Fred
no-spam-fred-76@hotmail.com (sans le 'no-spam-')

Publicado em setembro, 16 2005 - 7:32 PM
Ma table s'appelle "tabArticle" et la colonne est "designation"
"chpRecherche" est le champ de saisie pour lequel je recherche la valeur dans le tableau
Mon code est :

POUR i = 1 A TableOccurrence(tabArticle)
k=PositionOccurrence(tabArticle.designation[i],chpRecherche)
tabArticle.designation[i]..Curseur=k
tabArticle.designation[i]..FinCurseur=k+Taille(chpRecherche)
RTFSélection(tabArticle.designation,rtfGras,Vrai)
FIN

A la première itération, le programme sélectionne bien le mot contenu dans "chpRecherche" dans la
colonne "designation". Mais arrivé à la deuxième ligne, les valeurs de Curseur et FinCurseur sont
bonnes. Seulement la fonction RTFSélection met en gras sur la 1ère ligne et non la 2e.
J'ai essayé en mettant :
RTFSélection(tabArticle.designation[i],rtfGras,Vrai)
mais ça génère une erreur :(


Fred a écrit :
Bonjour,

Il faut que votre champ soit un champ RTF.

Vous détectez la position de votre mot dans la chaine et vous utiliser les fonctions :

Curseur et FinCurseur pour sélectionner la zone à mettre en évidence et ensuite la fonction 'RTFSelection' pour attribuer le style voulu.

J'espère avoir pu vous aider, n'hésitez pas à nous tenir au courant si plus d'infos sont nécessaires

Fred
no-spam-fred-76@hotmail.com (sans le 'no-spam-')

Publicado em setembro, 19 2005 - 8:59 AM
Bonjour,

Dans ce cas, je te conseil pour chaque ligne de ta table d'executer un tableselectplus[i] et je pense que le RTFSélection(tabArticle.designation,rtfGras,Vrai) amrchera :


POUR i = 1 A TableOccurrence(tabArticle)
tableselectplus(tabArticle,i)
k=PositionOccurrence(tabArticle.designation,chpRecherche)
tabArticle.designation..Curseur=k
tabArticle.designation..FinCurseur=k+Taille(chpRecherche)
RTFSélection(tabArticle.designation,rtfGras,Vrai)
FIN

tableselectplus(tabArticle,1)

Bonne chance, tiens moi au courant

Fred
Publicado em setembro, 19 2005 - 12:43 PM
Merci encore !
Ca marche à merveille.
Je pensais que le TableSelectPlus allait annuler le RTFSélection mais ça n'a rien à voir en fait :)

Fred a écrit :
Bonjour,

Dans ce cas, je te conseil pour chaque ligne de ta table d'executer un tableselectplus[i] et je pense que le RTFSélection(tabArticle.designation,rtfGras,Vrai) amrchera :


POUR i = 1 A TableOccurrence(tabArticle)
tableselectplus(tabArticle,i)
k=PositionOccurrence(tabArticle.designation,chpRecherche)
tabArticle.designation..Curseur=k
tabArticle.designation..FinCurseur=k+Taille(chpRecherche)
RTFSélection(tabArticle.designation,rtfGras,Vrai)
FIN

tableselectplus(tabArticle,1)

Bonne chance, tiens moi au courant

Fred