Salve, non sono un esperto in vb.net ed ho inziato da poco la programmazione desktop, vorrei realizzare un codice che mi cerca un file in tutte le sottocartelle dell'unità disco dove si esegue il programma, però non riesco a farlo funzionare bene e vorrei che mi cercasse il file inserendo anche solo le iniziali del nome e non l'intero nome... Per adesso trova solo il file se viene inserito l'intero nome.estensione e solo nella directory principale e non nelle sotto directory, non sono riuscito a far ciclare GetFiles("*.*", IO.SearchOption.AllDirectories)
Il pulsante ha questo codicecodice:Private Function TrovaFileNellaCartella(ByVal NomeDelFileDaCercare As String, ByVal PercorsoCartella As String) As String Dim res As String = "" Dim Cartelle() As String Try Dim FileContenuti() As IO.FileInfo = New IO.DirectoryInfo(PercorsoCartella).GetFiles() For i As Integer = 0 To FileContenuti.Length - 1 If FileContenuti(i).Name.ToUpper = NomeDelFileDaCercare.ToUpper Then Dim coso As Integer = -1 Select Case UCase(FileContenuti(i).Extension) Case ".AVI" coso = 1 Case ".MKV" coso = 2 Case ".MPG" coso = 4 Case ".TS" coso = 5 Case ".DIVX" coso = 6 Case ".MPEG" coso = 4 Case ".WMV" coso = 7 Case ".VOB" coso = 8 Case ".MP4" coso = 9 Case ".MOV" coso = 9 Case ".Mp4" coso = 9 Case ".MPA" coso = 9 Case ".MP2" coso = 9 Case ".MOV" coso = 9 Case ".MKA" coso = 2 Case ".MOV" coso = 9 Case ".IFO" coso = 6 'Case .... <- etcetera... Case Else coso = 0 End Select If Not coso = 0 Then estensione.Text = FileContenuti(i).Extension ListView2.Items.Add(New ListViewItem(FileContenuti(i).ToString, coso)) End If Return FileContenuti(i).FullName End If Next Cartelle = IO.Directory.GetDirectories(PercorsoCartella) For i As Integer = 0 To Cartelle.Length - 1 res = TrovaFileNellaCartella(NomeDelFileDaCercare, Cartelle(i)) If res <> "" Then Return res End If Next Return res Catch MsgBox("Cartella protetta o inaccessibile..... Selezionare un altra cartella", MsgBoxStyle.Critical) End Try End Function
Oltre a qui non sono riuscito ad andare viste le mie non molte conoscenze desktop..codice:Private Sub buttoncerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttoncerca.Click Dim nome As String = Application.StartupPath Dim letteraunita() As String = nome.Substring(0, 3).Split("\") letteraunita(0) = letteraunita(0) + "\" TrovaFileNellaCartella(textcerca.Text, letteraunita(0)) End Sub
QUalk1 può aiutarmi per fare in modo che funge come una normale ricerca di un file ?
Ringrazio anticipatamente

Rispondi quotando

