Recherche de chaînes dans un fichier texte

Soyez le premier à donner votre avis sur cette source.

Vue 34 696 fois - Téléchargée 2 150 fois

Description

Programme permettant de rechercher un chaine de longueur quelconque ( 1 à ... ) dans un fichier texte(*.txt,*.ini,*.log,*.inf). Il permet préalablement de choisir une couleur et/ou une police pour mettre en évidence la chaine recherchée. Ce fichier texte peut être édité ou être ouvert via une boîte de dialogue. Merci pour vos critiques.

Source / Exemple :


Public strTexte, strChaine As System.String
    
    Private Sub mnuFichierRechercher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierRechercher.Click
        Dim i, j As System.Int32
        strTexte = rctTexte.Text
        strChaine = txtLettre.Text

        For i = 0 To strTexte.Length - strChaine.Length Step 1
            If strTexte.Substring(i, strChaine.Length) = strChaine Then
                j += 1
                rctTexte.SelectionStart = i
                rctTexte.SelectionLength = strChaine.Length
                rctTexte.SelectionColor = clrChaine.Color
                rctTexte.SelectionFont = fntChaine.Font
            End If

        Next
        lblMessage.Text = j
    End Sub

    Private Sub mnuFichierReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierReset.Click
        Dim i, j As System.Int32
        strTexte = rctTexte.Text
        strChaine = txtLettre.Text

        For i = 0 To strTexte.Length - strChaine.Length Step 1
            If strTexte.Substring(i, strChaine.Length) = strChaine Then
                j += 1
                rctTexte.SelectionStart = i
                rctTexte.SelectionLength = strChaine.Length
                rctTexte.SelectionColor = Color.Black
                rctTexte.SelectionFont = New Font("Verdana", 8, FontStyle.Regular)
            End If

        Next
        lblMessage.Text = ""
        txtLettre.Text = ""
        txtLettre.Focus()
    End Sub

    Private Sub mnuFichierOuvrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierOuvrir.Click
        Dim strLineofText, strAllText As System.String
        ofdFichier.Filter = "Fichiers texte(*.txt)|*.txt|Fichiers ini(*.ini)|*.ini|Fichiers inf(*.inf)|*.inf|Fichiers log(*.log)|*.log"
        If ofdFichier.ShowDialog = DialogResult.OK Then
            FileOpen(1, ofdFichier.FileName, OpenMode.Input)
            Do Until EOF(1)
                strLineofText = LineInput(1)
                strAllText &= strLineofText & vbCrLf
            Loop
            rctTexte.Text = strAllText
            strTexte = rctTexte.Text
            FileClose(1)
        End If
        txtLettre.Focus()
    End Sub

    Private Sub mnuOptionsCouleur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOptionsCouleur.Click
        clrChaine.ShowDialog()
    End Sub

    Private Sub mnuOptionsPolice_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOptionsPolice.Click
        fntChaine.ShowDialog()
    End Sub

    Private Sub mnuFichierEffacer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierEffacer.Click
        rctTexte.Text = ""
        txtLettre.Text = ""
    End Sub

    Private Sub mnuFichierQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierQuitter.Click
        Me.Close()
    End Sub

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

parker13
Messages postés
33
Date d'inscription
vendredi 18 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2009
-
J'aimerais savoir comment rechercher une chaine de caractères dans un fichier TXT, mais de manière très basique.

Si vous avez des exemples de script, je suis preneur.
pouda
Messages postés
265
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 octobre 2014
-
est ce que c'est possible de rechercher dans des fichiers .doc .odt etc..

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.