IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

For et next en vb


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut For et next en vb
    bonjour,

    dans ma richtextbox j'ai fait une nouvelle form avec un bouton rechercher pour pouvoir rechercher du texte
    voila mon code qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      Dim i, j As System.Int32
            strTexte = frmMain.RichTextBoxFR1.Text
            strChaine = TextBox1.Text
     
            For i = 0 To strTexte.Length - strChaine.Length Step 1
                If strTexte.Substring(i, strChaine.Length) = strChaine Then
                    j += 1
     
                    frmMain.RichTextBoxFR1.Focus()
                    frmMain.RichTextBoxFR1.SelectionStart = i
                    frmMain.RichTextBoxFR1.SelectionLength = strChaine.Length
                End If
     
            Next
    puis ensuite je voulait faire un bouton suivant
    voila le code du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim i As System.Int32
            For i = 1 To 10 step 2
                If strtexte.Substring(i, strChaine.Length) = strChaine Then
     
                    frmMain.RichTextBoxFR1.Focus()
                    frmMain.RichTextBoxFR1.SelectionStart = i
                    frmMain.RichTextBoxFR1.SelectionLength = strChaine.Length
                End If
            Next i
    le problème c'est que quand je clique il passe a le recherche suivant mais il s'arrête la il continue pas la suite
    j'ai essayer de changer en for i = 1 to 10 mais rien ne change
    savez vous pourquoi ??
    Dernière modification par Deepin ; 10/09/2010 à 08h04. Motif: Cliquer sur le bouton Résolu (et non pas rajouter [Résolu] dans le titre)

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Salut,

    Déjà je ne comprend pas ce que tu veux donc je ne comprends pas ton problème.

    Cependant, dans une boucle For, la variable sur laquelle tu itéres n'a pas besoin d'être déclarée.

    En gros cela ne pointe pas ver le "i" de ta boucle For, mais vers un autre "i", variable "locale" de ton Sub Button1_Click

  3. #3
    Invité
    Invité(e)
    Par défaut
    dsl si je me suis mal exprimé
    tout comme le bloc notes de windows il permet de rechercher du texte
    donc je voulait faire la meme chose
    le premier code c'est le bouton rechercher qui marche bien

    le 2eme code c'est le bouton suivant mais qui ne fonctionne pas

    pour te répondre j'ai enlever se code Dim i As System.Int32 mais rien ne change

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonsoir,
    déjà extérioriser le j qui sert de position de l'occurrence trouvée en cours, car il va servir à la sub "suivant".
    Ensuite sortir de la boucle quand l'occurrence est détectée, sinon le for va au dernier mot correspondant du texte.
    ca doit fonctionner avec ce code ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
        Dim j As Integer = 0
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            j = 0
            Dim i As Integer
            strTexte = Me.RichTextBox1.Text
            strChaine = TextBox1.Text
     
            For i = 0 To strTexte.Length - strChaine.Length 'Step 1
                If strTexte.Substring(i, strChaine.Length) = strChaine Then
     
                    Me.RichTextBox1.Focus()
                    Me.RichTextBox1.SelectionStart = i
                    Me.RichTextBox1.SelectionLength = strChaine.Length
                    Exit For
                End If
                j += 1
            Next
        End Sub
     
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim i As Integer
            j += strChaine.Length
            For i = j To strTexte.Length - strChaine.Length 'Step 1
                If strTexte.Substring(j, strChaine.Length) = strChaine Then
     
                    Me.RichTextBox1.Focus()
                    Me.RichTextBox1.SelectionStart = i
                    Me.RichTextBox1.SelectionLength = strChaine.Length
                    Exit Sub
                End If
                j += 1
            Next i
        End Sub
    Button2 pour la première recherche et 3 pour les occurrences suivantes.
    Le "exit" n'est pas plaisant, voir du coté de do...loop ou while.
    Après il y a les expressions rationnelles, c'est une autre syntaxe à ingurgiter.

  5. #5
    Invité
    Invité(e)
    Par défaut
    merci beaucoup sa marche
    je ne comprenait pas au début a quoi il servait se j
    maintenant je vais essayer de mieux comprendre se code

Discussions similaires

  1. probleme avec la fonction for i ..next i
    Par doogybreton dans le forum VBA Access
    Réponses: 18
    Dernier message: 25/01/2008, 01h56
  2. [DAO] Instruction For Each .. Next
    Par ancel17 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/04/2007, 11h07
  3. [Excel-VBA] For Each..Next
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/09/2006, 17h23
  4. [VBA-E]PB sur une boucle for each next
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2006, 15h47
  5. Aide pour For each..... Next
    Par Virgile59 dans le forum Access
    Réponses: 1
    Dernier message: 24/05/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo