OVH Cloud OVH Cloud

surligner un mot (débutant)

8 réponses
Avatar
YoYo
Bonjour,

Dans un texte de plusieurs lignes dans un RichTextBox, je dois surligner un
mot avec un click (sans prendre en compte les espaces) le récupérer comme
variable, puis rechercher dans un fichier texte si le mot existe.

Par avance merci pour votre aide et surtout de votre patience
YoYo

8 réponses

Avatar
YoYo
Je viens de remarquer qu'on ne peut surligner avec un RichTextBox donc
j'utiliserai :
RichTextBox.SelColor = vbRed et RichTextBox.SelBold = True
Pour mettre en évidence le mot à sélectionner.



"YoYo" a écrit dans le message de news:
44dc1f0b$0$29125$
Bonjour,

Dans un texte de plusieurs lignes dans un RichTextBox, je dois surligner
un mot avec un click (sans prendre en compte les espaces) le récupérer
comme variable, puis rechercher dans un fichier texte si le mot existe.

Par avance merci pour votre aide et surtout de votre patience
YoYo



Avatar
jean-marc
> "YoYo" a écrit dans le message de news:
44dc1f0b$0$29125$
> Bonjour,
>
> Dans un texte de plusieurs lignes dans un RichTextBox, je dois


surligner
> un mot avec un click (sans prendre en compte les espaces) le


récupérer
> comme variable, puis rechercher dans un fichier texte si le mot


existe.
>
Je viens de remarquer qu'on ne peut surligner avec un RichTextBox donc
j'utiliserai :
RichTextBox.SelColor = vbRed et RichTextBox.SelBold = True
Pour mettre en évidence le mot à sélectionner.



Hello,

Peux tu préciser tes questions? Tu ne donnes ici que des affirmations
"je dois faire ceci...", "je dois faire cela...".

Je suppose que tu souhaites des conseils, sur tout ou partie de
cet énoncé.

Quelles sont donc tes questions?

PS: il est d'usage de répondre en dessous du texte, le français
se lisant traditionnelement de gauche à droite et de haut en bas.
On peut aussi répondre entre les paragraphes.
Voir à ce sujet:
http://usenet-fr.news.eu.org/fur/usenet/repondre-sur-usenet.html

Cordialement,

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
YoYo
"jean-marc" a écrit dans le message de news:
44dccf72$0$28396$
"YoYo" a écrit dans le message de news:
44dc1f0b$0$29125$
> Bonjour,
>
> Dans un texte de plusieurs lignes dans un RichTextBox, je dois


surligner
> un mot avec un click (sans prendre en compte les espaces) le


récupérer
> comme variable, puis rechercher dans un fichier texte si le mot


existe.
>
Je viens de remarquer qu'on ne peut surligner avec un RichTextBox donc
j'utiliserai :
RichTextBox.SelColor = vbRed et RichTextBox.SelBold = True
Pour mettre en évidence le mot à sélectionner.



Hello,

Peux tu préciser tes questions? Tu ne donnes ici que des affirmations
"je dois faire ceci...", "je dois faire cela...".

Je suppose que tu souhaites des conseils, sur tout ou partie de
cet énoncé.

Quelles sont donc tes questions?

PS: il est d'usage de répondre en dessous du texte, le français
se lisant traditionnelement de gauche à droite et de haut en bas.
On peut aussi répondre entre les paragraphes.
Voir à ce sujet:
http://usenet-fr.news.eu.org/fur/usenet/repondre-sur-usenet.html

Cordialement,

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;






Bonsoir,
Pas assez clair dans ma demande, sans doute....
Donc! je désire par un simple click avec la souris récupérer un mot dans un
texte et rechercher dans un fichier ce même mot pour contrôler son
existence.

Comme base de travail, j'ai pris cet exemple de source :


Cette source utilise une textbox (Text2.text) pour la saisie d'un mot à
rechercher,
il faut que je le remplace par une sélection dans le texte d'un seul click
de souris
(Exemple : je click sur le mot "remplace" au dessus et je l'affecte à une
variable (pas encore écrit dans le code) pour la suite du programme)

Et je sais pas comment m'y prendre.

/----------------------------------------------
Dim Texte As String
Dim TexteRecherché As String
Dim MotSelectionné As String 'en attente
Static Position As Integer
Dim Longueur As Integer

'Affecte à la variable Texte La chaine de mots de mon texte
Texte = RichTextBox1.Text

'recherche la position du mot avec Instr
Position = InStr(Position + 1, Texte, Text2.Text, vbTextCompare)

'si pas de chaîne exit
If Position = 0 Then Exit Sub

Longueur = Len(Text2.Text)

RichTextBox1.SelStart = Position - 1
RichTextBox1.SelLength = Longueur

'Marque le mot sélectionné en mettant la chaîne en rouge et en gras
RichTextBox1.SelColor = vbRed
RichTextBox1.SelBold = True

RichTextBox1.SetFocus
/-----------------------------------------------

Pour la recherche de mon mot dans un fichier sera la prochaine étape.

J'espere avoir étais plus clair cette fois.

YoYo
Avatar
jean-marc
"YoYo" a écrit dans le message de
news:44dd0d67$0$26446$

Bonsoir,



Hello,

Pas assez clair dans ma demande, sans doute....
Donc! je désire par un simple click avec la souris récupérer un mot


dans un
texte et rechercher dans un fichier ce même mot pour contrôler son
existence.



Okay, c'est beaucoup plus clair :-)

Comme base de travail, j'ai pris cet exemple de source :


Cette source utilise une textbox (Text2.text) pour la saisie d'un mot


à
rechercher,
il faut que je le remplace par une sélection dans le texte d'un seul


click
de souris
(Exemple : je click sur le mot "remplace" au dessus et je l'affecte à


une
variable (pas encore écrit dans le code) pour la suite du programme)

Et je sais pas comment m'y prendre.



<snip le code>

Donc, nous avons 2 problèmes à régler.
Le premier est sur base d'un clic de détecter le mot à la
position du curseur de la souris.

On constate que lors de chauqe clic dans le richtextbox, il se passe
2 choses:
- L'évènement RichTextBox_Click est déclenché
- La propriété SelStart du RichTextBox est mise à jour, avec la
position (en caractères) dans le richtextbox.

Conaissant cette position, il devient facile en "reculant" de chercher
le prochain caractère espace ou ponctuation., puis idem en avant.
On aura ainsi isolé le mot. On n'a plus alors qu'à réjuster SelStart et
SelLength pour mettre en rouge.

La recherche du mot dans un fichier est triviale:
- lire le fichier en entier dans un gros buffer
- rechercher avec un simple instr()

Si ce n'est pas clair ou si tu souhaites un bout de code,
n'hésite pas :-)

Amicalement,



--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
YoYo
"jean-marc" a écrit dans le message de news:
44ddd27a$0$10461$
"YoYo" a écrit dans le message de
news:44dd0d67$0$26446$

Bonsoir,



Hello,

Pas assez clair dans ma demande, sans doute....
Donc! je désire par un simple click avec la souris récupérer un mot


dans un
texte et rechercher dans un fichier ce même mot pour contrôler son
existence.



Okay, c'est beaucoup plus clair :-)

Comme base de travail, j'ai pris cet exemple de source :


Cette source utilise une textbox (Text2.text) pour la saisie d'un mot


à
rechercher,
il faut que je le remplace par une sélection dans le texte d'un seul


click
de souris
(Exemple : je click sur le mot "remplace" au dessus et je l'affecte à


une
variable (pas encore écrit dans le code) pour la suite du programme)

Et je sais pas comment m'y prendre.



<snip le code>

Donc, nous avons 2 problèmes à régler.
Le premier est sur base d'un clic de détecter le mot à la
position du curseur de la souris.

On constate que lors de chauqe clic dans le richtextbox, il se passe
2 choses:
- L'évènement RichTextBox_Click est déclenché
- La propriété SelStart du RichTextBox est mise à jour, avec la
position (en caractères) dans le richtextbox.

Conaissant cette position, il devient facile en "reculant" de chercher
le prochain caractère espace ou ponctuation., puis idem en avant.
On aura ainsi isolé le mot. On n'a plus alors qu'à réjuster SelStart et
SelLength pour mettre en rouge.

La recherche du mot dans un fichier est triviale:
- lire le fichier en entier dans un gros buffer
- rechercher avec un simple instr()

Si ce n'est pas clair ou si tu souhaites un bout de code,
n'hésite pas :-)

Amicalement,



--
Jean-marc



Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;




OK, je cerne mieux les fonctions à employer.
Avec tes conseils, je retourne à mon programme.
Merci pour tes lumières Jean-marc.
Bonne journée
YoYo
Avatar
jean-marc
"YoYo" a écrit dans le message de
news:44debc27$0$6048$
"jean-marc" a écrit dans le message de


news:
44ddd27a$0$10461$
> "YoYo" a écrit dans le message de
> news:44dd0d67$0$26446$

OK, je cerne mieux les fonctions à employer.
Avec tes conseils, je retourne à mon programme.
Merci pour tes lumières Jean-marc.




Hello,

Voici un exemple d'implémentation, avec 2 fonctions bien
distinctes pour une bonne réutilisation si nécessaire:

http://users.skynet.be/candide/jmn/divers/ng00/Form1.html

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
YoYo
"jean-marc" a écrit dans le message de news:
44df5e32$0$32423$
"YoYo" a écrit dans le message de
news:44debc27$0$6048$
"jean-marc" a écrit dans le message de


news:
44ddd27a$0$10461$
> "YoYo" a écrit dans le message de
> news:44dd0d67$0$26446$

OK, je cerne mieux les fonctions à employer.
Avec tes conseils, je retourne à mon programme.
Merci pour tes lumières Jean-marc.




Hello,

Voici un exemple d'implémentation, avec 2 fonctions bien
distinctes pour une bonne réutilisation si nécessaire:

http://users.skynet.be/candide/jmn/divers/ng00/Form1.html

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;




Que dire ..... Chapeau bas Jean-marc, le code est clair à ma compréhension.
Je vais le "décortiquer" pour progresser en VB.
Sans être pompeux, je ne remercierai jamais assez le Internet et le NG qui
m'apporte la connaissance et les amis qui peuvent m'aider.
Encore merci pour ton travail.
Bonne fin de soirée
Yoan
Avatar
jean-marc
"YoYo" a écrit dans le message de
news:44dfa247$0$24091$

"jean-marc" a écrit dans le message de


news:
44df5e32$0$32423$
> "YoYo" a écrit dans le message de
> news:44debc27$0$6048$
>> "jean-marc" a écrit dans le message


de
> news:
>> 44ddd27a$0$10461$
>> > "YoYo" a écrit dans le message de
>> > news:44dd0d67$0$26446$
>>
>> OK, je cerne mieux les fonctions à employer.
>> Avec tes conseils, je retourne à mon programme.
>> Merci pour tes lumières Jean-marc.
>
>
> Hello,
>
> Voici un exemple d'implémentation, avec 2 fonctions bien
> distinctes pour une bonne réutilisation si nécessaire:
>
> http://users.skynet.be/candide/jmn/divers/ng00/Form1.html
>

Que dire ..... Chapeau bas Jean-marc, le code est clair à ma


compréhension.
Je vais le "décortiquer" pour progresser en VB.
Sans être pompeux, je ne remercierai jamais assez le Internet et le NG


qui
m'apporte la connaissance et les amis qui peuvent m'aider.
Encore merci pour ton travail.
Bonne fin de soirée



Merci à toi de ta réponse. C'est toujours un plaisir de pouvoir aider
et recevoir un mot gentil en retour est toujours agréable :o)

Bonne journée et bonne prog !

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;