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 :

progressbar pour rechercher tous les fichiers


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut progressbar pour rechercher tous les fichiers
    Bonjour,

    je suis entrain des créer un programme pour Rechercher un mots dans tous les fichiers dans le répertoire.
    mon problème c'est comment calculer tous les fichiers avec un progressbar dans backgroundWorker1.

    mon 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
    Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs)
            ScanDirectory(e.Argument, TextBox2.Text)
            If backgroundWorker1.CancellationPending Then
                e.Cancel = True
                Exit Sub
            End If
            backgroundWorker1.ReportProgress(100)
        End Sub
     
    Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs)
            If Not backgroundWorker1.CancellationPending Then
                ProgressBar1.Value = e.ProgressPercentage
            End If
        End Sub
     
    Public Sub ScanDirectory(ByVal dossier As String, ByVal Pattern As String)
            For Each files As String In Directory.GetFiles(dossier)
                If backgroundWorker1.CancellationPending Then Return
                counter += 1
                Label2.Invoke(Sub() Label2.Text = files)
                ProgressBar1.Invoke(Sub() ProgressBar1.Maximum = files.Length)
                Using reader As New StreamReader(files)
                    Dim data As String = reader.ReadToEnd
                    If data IsNot Nothing AndAlso data.Contains(Pattern) Then FileFound.Add(files)
                End Using
                backgroundWorker1.ReportProgress(counter / files.Length * 100)
            Next
            For Each filename As String In Directory.GetDirectories(dossier)
                counter = 0
                ScanDirectory(filename, searchPattern)
            Next
        End Sub
    pouvez-vous me dire comment puis je faire pour calculer la recherche d'un mot avec un progressbar? merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonjour, je viens trouver la solution à mon problème.
    mon problème venez du progressbar maxi qui posé problème.
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub ScanDirectory(ByVal dossier As String, ByVal Pattern As String)
            Dim files As String() = Directory.GetFiles(dossier, "*.*", SearchOption.AllDirectories)
            For Each fn As String In files
                If backgroundWorker1.CancellationPending Then Return
                counter += 1
                Label2.Invoke(Sub() Label2.Text = fn)
                backgroundWorker1.ReportProgress(counter * 100 / files.Length)
                If File.ReadAllText(fn).Contains(Pattern) Then FileFound.Add(fn) '<= problème quand il y est vide. 
            Next
        End Sub
    mon deuxième problème c'est dans filefound = list(of string) si est vide.

    à la fin de la recherche du texte dans les fichiers. il m'affiche le résulta si il trouve le texte ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each resulat As String In FileFound
                    If resulat.Count > 0 Then
    fichier trouver
    else
    aucun text à etait trouver dans les fichiers.
    end if
    comment faire pour avoir les deux résulta avec FileFound avec list(of string) si est vide ou pas? merci d'avance

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonjour, j'ai trouver la solution à mon problème.

    voici en image :
    Nom : Capture d’écran 2022-06-07 070622.png
Affichages : 145
Taille : 20,5 Ko
    Nom : Capture d’écran 2022-06-07 070756.png
Affichages : 139
Taille : 14,6 Ko

    mon problème venez avec le code for earch ...etc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If FilesFound.Any Then
    For i = 0 To FilesFound.Count - 1
    msg(filesfound(i) "à était trouver")
    next
    else
    msg("aucun fichier à était trouver !")
    end if
    cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rechercher tous les fichiers dont l'extension est *.vbs
    Par hackoofr dans le forum VBScript
    Réponses: 8
    Dernier message: 22/03/2018, 10h08
  2. [XL-2010] Rechercher tous les fichiers csv d'un repertoire et les importer en table dans Access
    Par Nestea dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/11/2011, 14h43
  3. code pour calculer tous les fichiers du dossier
    Par linel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/02/2009, 16h49
  4. rechercher tous les fichiers d'un même type
    Par didierdarras dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/09/2007, 09h43
  5. Requete pour rechercher tous les parents
    Par richard038 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/11/2005, 21h37

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