code très simple qui traite de recherche de texte dans les fichiers : indiquer d'abord un dossier de recherche
Source / Exemple :
Imports System.Collections.ObjectModel
Public Class Form1
Private Sub Form1_Load() Handles MyBase.Load
Dim start_dir As String = Application.StartupPath
start_dir = My.Computer.FileSystem.GetParentPath(start_dir)
start_dir = My.Computer.FileSystem.GetParentPath(start_dir)
txtDirectory.Text = start_dir
End Sub
Private Sub xWaitDotnet(ByVal DT As Integer) 'wait sub in milliseconds
Dim StartTick As Integer
StartTick = Environment.TickCount()
While ((Environment.TickCount() - StartTick) <= DT)
Application.DoEvents()
System.Threading.Thread.Sleep(1)
End While
'Application.DoEvents()
End Sub
Private Sub btnSearch_Click() Handles btnSearch.Click
If System.IO.Directory.Exists(txtDirectory.Text) Then
Else
MessageBox.Show("this directory doesn't exist ", "please chhose a directory", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
Me.Text = "Searching ..."
lstFiles.Items.Clear()
xWaitDotnet(200) '<=== let time to lstFiles control to refresh
'Threading.Thread.Sleep(200)
lstFiles.Items.Add("search in progress ...")
Dim file_names As ReadOnlyCollection(Of String)
file_names = My.Computer.FileSystem.FindInFiles(
txtDirectory.Text,
txtSearchFor.Text,
True,
FileIO.SearchOption.SearchAllSubDirectories)
lstFiles.Items.Clear()
For Each file_name As String In file_names
lstFiles.Items.Add(file_name)
Next file_name
lstFiles.Items.Add("All done")
Me.Text = "Find In Files "
End Sub
Private Sub BtnStartDirr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnStartDirr.Click
Using Dlg
Dlg.Description = "Select a folder"
If Dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
txtDirectory.Text = Dlg.SelectedPath
End If
End Using
End Sub
Private Sub txtSearchFor_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSearchFor.KeyDown
If e.KeyValue = Keys.Enter Then
Call btnSearch_Click()
End If
End Sub
Private Sub txtDirectory_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtDirectory.KeyDown
If e.KeyValue = Keys.Enter Then
Call btnSearch_Click()
End If
End Sub
End Class
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.