Determiner n° ligne n° colonne d'un mot selectionne dans une zone TEXT

Messages postés
22
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
20 mai 2003
-
 Utilisateur anonyme -
Bonjour,
j'ai un p'tit problème
j'ai une zone text
ou je display des fichiers doc txt ...Etc
et je voudrais rajouter
une fonctionnalité à mon prog
pour l'indexer
je veux que lorsque l'utilisateur selectionne un
mot dans le text ,mon programme doit m'afficher le numero de la ligne ,le numero de la colonne et la longueuer du mot !!!
pour la longueuer j'ai déjà reussi à faire mais pour colonne et ligne pa encore :-(
si qq1 peut m'aider
thanX
@+

4 réponses


Salut
Tu devrais éssayer avec un richtextbox pour la recherche c'est géniale:
pour trouver la position dans le texte : (dt$= chaine à retrouver et pos=position ou il doit commencer à chercher):
"foundpos = principal.RichTextBox1.Find(dt$, pos, , 1)"

Et pour le numéro de ligne c'est:
ligne =(principal.RichTextBox1.GetLineFromChar(foundpos))

Désolé, il faut enlever le "principal" derrière le richtextbox1.
Messages postés
22
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
20 mai 2003

J'ai l'impressin que y a personne
qui a compris mon problème
je fais pas de la recherche des chaines de carachtères ... c'est des controles souris que je
recherche
Lorsque l'utilisateur selectionne un mot ou une phrase la souris,je veux qu'il me renvoie la colonne et la ligne
------------------

merci
a+

-------------
Réponse au message :
-------------------------------

Salut
Tu devrais éssayer avec un richtextbox pour la recherche c'est géniale:
pour trouver la position dans le texte : (dt$= chaine à retrouver et pos=position ou il doit commencer à chercher):
"foundpos = principal.RichTextBox1.Find(dt$, pos, , 1)"

Et pour le numéro de ligne c'est:
ligne =(principal.RichTextBox1.GetLineFromChar(foundpos))

Re-salut
T'as pas non plus éssayé un richtexbox, alors tu fais un nouveau avec un richtext et tucolles ce code:

Private Sub Form_Load()
RichTextBox1.Text = "Test d'une sélection texte" & vbCrLf & _
"En vue d'afficher la ligne" & vbCrLf & _
"Et en plus la position du premier chr séléctionné..." & _
vbCrLf & "Sélectionnez un morceau de ce texte avec la souris pour éssayer !..."
End Sub

Private Sub RichTextBox1_SelChange()
dt$ = RichTextBox1.SelText
pos = 1
foundpos = RichTextBox1.Find(dt$, pos, , 1) 'cherche la position du 1° chr du texte (dt$)

If foundpos <> -1 Then 'quand il ne trouve pas le texte (dt$) la valeur est toujours = -1
ligne = (RichTextBox1.GetLineFromChar(foundpos))
RichTextBox1.Text = RichTextBox1.Text & vbCrLf & " - Le texte <<" & dt$ & ">> est à la ligne " & ligne & " et la position du 1°n chr est " & foundpos
End If
End Sub

Pour le n° de colonne, vu que c'est un texte il y a que toi qui peut savoir.
Tu me diras ce que ca a donné....