Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SÉLECTION D'UN LIGNE EN RICH TEXT BOX


Information sur la source

Catégorie :Texte Classé sous : richtextbox, sélection, ligne Niveau : Débutant Date de création : 06/08/2001 Date de mise à jour : 07/08/2001 00:00:00 Vu : 3 196

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Un moyen de trouver le début et la fin d'un ligne dans une rich text box, et la sélectionnée

j'y est refait quelques modifs pour assurer le bon fonctionnement !!!
 

Source

  • Form1.Rich1.SelLength = 0
  • Vs = 0
  • Backup = 0
  • For t = 0 To Len(Form1.Rich1.Text)
  • Form1.Rich1.Find "net_", Vs, Len(Form1.Rich1.Text) 'Recherche de "net_", il est tjs situé en début de ligne
  • Vs = Form1.Rich1.SelStart + Form1.Rich1.SelLength 'on vient de trouver un "net_", le recherche devra reprendre après la fin du mot
  • If Vs = Backup Or Form1.Rich1.SelLength = 0 Then Exit For 'on vérifie que ce n'est pas la deuxième fois que l'ont passe sur ce mot ou si il n'en existe pas dans le texte , sinon on se casse de la boucle
  • TempIChar = Vs 'Préparation de la variable TempIChar
  • LinNb1 = Form1.Rich1.GetLineFromChar(Vs) 'Le N° de ligne qui va chager dasn le do loop
  • LinNb = Form1.Rich1.GetLineFromChar(Vs) 'Le N° de ligne qui va servir pour la comparaison
  • Do While LinNb = LinNb1 'Do loop tant que la ligne ne change pas (ne pas utiliser : Do While LinNb = Rich1.GetLineFromChar(Vs), le Do ne fonctionnera pas !!!)
  • LinNb1 = Form1.Rich1.GetLineFromChar(TempIChar) 'on cherche la prochaine ligne caractère par caractère
  • TempIChar = TempIChar + 1 'Tempichar correspondait vs qui équivaut à la fin du mot rechercher
  • DoEvents 'Très important, en cas de Problème on peut qd mm Quitter
  • Loop
  • LinVerif = Form1.Rich1.GetLineFromChar(Form1.Rich1.SelStart - 1)
  • If LinVerif <> LinNb Then ' juste un petit truc pour vérifier si on est en début de ligne
  • TempIChar = TempIChar - 1 'on est sortit de la boucle, donc on a changé de ligne, donc la fin de la ligne précédente correspond au caractère pécédent
  • Form1.Rich1.SelLength = TempIChar - Form1.Rich1.SelStart 'Rich1.SelStart n'a pas changé, il ne rest qu'à changé la longueur de la sélection
  • Form1.Rich1.SelColor = &HC000& 'Un peu de couleur, ici du vert
  • End If
  • Vs = Form1.Rich1.SelStart + Form1.Rich1.SelLength 'Je sais qu'on déjà mis ça plus haut, mais vs à changé
  • Backup = Vs 'Un petit Backup de vs pour pouvoir vérifier la condition située un peu plus haut au prochain passage
  • DoEvents 'DoEvents pour le cas où le fichier serai long, ou la boucle ne finisse pas
  • Next t
Form1.Rich1.SelLength = 0
Vs = 0
Backup = 0
For t = 0 To Len(Form1.Rich1.Text)
    Form1.Rich1.Find "net_", Vs, Len(Form1.Rich1.Text)      'Recherche de "net_", il est tjs situé en début de ligne
    Vs = Form1.Rich1.SelStart + Form1.Rich1.SelLength       'on vient de trouver un "net_", le recherche devra reprendre après la fin du mot
    If Vs = Backup Or Form1.Rich1.SelLength = 0 Then Exit For 'on vérifie que ce n'est pas la deuxième fois que l'ont passe sur ce mot ou si il n'en existe pas dans le texte , sinon on se casse de la boucle
    TempIChar = Vs                              'Préparation de la variable TempIChar
    LinNb1 = Form1.Rich1.GetLineFromChar(Vs)          'Le N° de ligne qui va chager dasn le do loop
    LinNb = Form1.Rich1.GetLineFromChar(Vs)           'Le N° de ligne qui va servir pour la comparaison
        Do While LinNb = LinNb1                     'Do loop tant que la ligne ne change pas (ne pas utiliser : Do While LinNb = Rich1.GetLineFromChar(Vs), le Do ne fonctionnera pas !!!)
        LinNb1 = Form1.Rich1.GetLineFromChar(TempIChar)    'on cherche la prochaine ligne caractère par caractère
        TempIChar = TempIChar + 1                   'Tempichar correspondait vs qui équivaut à la fin du mot rechercher
        DoEvents                                    'Très important, en cas de Problème on peut qd mm Quitter
        Loop
    LinVerif = Form1.Rich1.GetLineFromChar(Form1.Rich1.SelStart - 1)
    If LinVerif <> LinNb Then ' juste un petit truc pour vérifier si on est en début de ligne
    TempIChar = TempIChar - 1                   'on est sortit de la boucle, donc on a changé de ligne, donc la fin de la ligne précédente correspond au caractère pécédent
    Form1.Rich1.SelLength = TempIChar - Form1.Rich1.SelStart 'Rich1.SelStart n'a pas changé, il ne rest qu'à changé la longueur de la sélection
    Form1.Rich1.SelColor = &HC000&                    'Un peu de couleur, ici du vert
    End If
    Vs = Form1.Rich1.SelStart + Form1.Rich1.SelLength       'Je sais qu'on déjà mis ça plus haut, mais vs à changé
    Backup = Vs                                 'Un petit Backup de vs pour pouvoir vérifier la condition située un peu plus haut au prochain passage
    DoEvents                                    'DoEvents pour le cas où le fichier serai long, ou la boucle ne finisse pas
Next t

Conclusion

Vous n'avez plus qu'a mettre ça dans un sub par exemple
 

Commentaires et avis

signaler à un administrateur
Commentaire de darkervein le 24/10/2003 21:32:57

Je suis débutant et désolé si je dis une bêtise, mais pourquoi ne pas faire un
Pos1 = 1 + len(rich1.text) - InStr(rich1.selstart,strreverse(rich1.text),chr$(10))
(ce qui permet de repérer le début de la ligne). Et ensuite faire un
Pos2 = InStr(rich1.selstart,rich1.text,chr$(10))
pour repérer la fin de la ligne. (en gérant les 2 exceptions que constitue la premiere ligne et la derniere).
On a plus qu'à selectionner (avec rich1.selstart=pos1 et rich1.sellength = Pos2 - Pos1) et voilà. Si j'ai tout faux merci de me le dire.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

RichTextBox et sélection de ligne [ par astvt ] Bonjour, j'écris un programme de simulation pour micro et j'utilise une zone RichTextBox pour afficher le programme à simuler.Une RichTextBox plutot q Sélection de ligne dans in DataGridView [ par juju8684 ] Bonjour à tous,J'ai un problème pour la sélection des lignes dans mon datagridview : Je peux en cliquant sur un bouton modifier une case de la ligne s Modifier une ligne d'une richtextbox [ par milo2009 ] Salut, Quelqu'un sait comment inserer du texte a un emplacement definit sur une ligne dans une richtextbox sous vb2003. J'ai essay&#233; : Dim NewT Ecrire à la ligne dans une RichTextBox [ par francoislaba ] Bonjour,Voici ma ligne de code qui me permet d'&#233;crire dans une RichTextBox une valeur trouv&#233;es dans une autre RichTextBox : RichTextBoxtable Sélection dans RichTextBox [ par SAXOFUN ] Je ne sais pas s'il y a un forum d'aide...Je cherche à séléctionner des lignes dans un fichier chargé dans un RichtextBox à l'aide d'un bouton etles e sélection par le code d'une ligne dans un listview [ par elomiel ] bonjour, petite question sur les listview : comment s&#233;lectionner une liste dans un listview &#224; partir du code ? merci ! Richtextbox - Positionner une ligne recherché en milieu d'écran [ par Cpapy ] Bonjour à tous,   Je fais de la recherche dans un Richtextbox avec la command FIND. Le mot trouvé est affiché sur la dernière ligne VISIBLE du Contrôl Mettre une couleur à une seul ligne d'un RichTextBox [ par veler ] Bonjours tous le monde, je cherche depuis assé longtemp à appliquer une couleur à une seul ligne d'un RichTextBox dont on connait les contenue de la l Sélection de la 1ère ligne du résultat d'un filtrage Excel [ par CerberusPau ] Bonjour à tous,Dans un tableau Excel, j'utilise l'action d'un filtrage (sélection dans la liste du filtre de colonne)Les indices des lignes (Rows) obt Interdire la sélection dans un RichTextBox [ par hajerOnward ] Salut  Je veux interdire la sélection dans un RichTextBox. Merci d'avance <font color="#ff0


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.