Oppure

Loading
13/09/10 12:41
S.y.n.a.p.s.e.
Salve Ragazzi... Un'altra domandina per voi ...

Allora io ho una form1 con :

Form1
Text1 Dove Scrivo il file da Cercare
ListBox Dove devono essere Elencati i file ...
Command1 Per far Partire la Ricerca del file scritto nella Text1

Adesso con questo codice anche se metto il nome del file mi elenca nella ListBox tutti i file che ci sono nella Cartella ....

Private Sub Command1_Click()
    ListView1.ListItems.Clear
    iRighe = 0
    file = FreeFile
    Open fileTxt For Output As #file
    CercaFile dirText.text, fileText.text
    Close #file
End Sub

Sub CercaFile(ByVal NomeDir As String, ByVal NomeFile As String)
    Dim FileFound As String
    Dim PathNames() As String
    Dim FileNames() As String
    Dim k As Integer
    Dim li As ListItem
    k = -1
    If Right$(NomeDir, 1) <> "\" Then NomeDir = NomeDir & "\"
    FileFound = Dir$(NomeDir & NomeFile)
    Do While FileFound <> ""
        If FileFound <> "." And FileFound <> ".." Then
            k = k + 1
            ReDim Preserve FileNames(k)
            FileNames(k) = FileFound
            Print #file, NomeDir + FileFound
        End If
        FileFound = Dir$
    Loop
    If k <> -1 Then
        For k = 0 To UBound(FileNames)
            iRighe = iRighe + 1
            Set li = ListView1.ListItems.Add(, , Format(iRighe, "00000"))   ' righe
            li.SubItems(1) = NomeDir
            li.SubItems(2) = FileNames(k)
        Next
    End If
    k = -1
    FileFound = Dir(NomeDir, vbDirectory)
    Do While FileFound <> ""
        If FileFound <> "." And FileFound <> ".." Then
            If (GetAttr(NomeDir & FileFound) And vbDirectory) = vbDirectory Then
                k = k + 1
                ReDim Preserve PathNames(k)
                PathNames(k) = FileFound
            End If
        End If
        FileFound = Dir
    Loop
    If k = -1 Then Exit Sub
    For k = 0 To UBound(PathNames)
        CercaFile NomeDir & PathNames(k), NomeFile
    Next
End Sub

Private Sub Form_Load()
    ListView1.ColumnHeaders.Add , , "Riga", ListView1.Width / 10 * 2, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "Cartella", ListView1.Width / 10 * 4, lvwColumnLeft
    ListView1.ColumnHeaders.Add , , "File", ListView1.Width / 10 * 4, lvwColumnLeft
End Sub


Invece io vorrei che ricercasse tutti i file Nominati come scritto nella text1 oppure Vicinanze ....

Del Tipo

CARTELLA:
1PiPPO
2PIPPO
3PIPPO
PIPPO1
PIPPO2
PIPPO3

Form:
Nome file : [PIPPO]
LISTBOX :
PIPPO1
PIPPO2
PIPPO3

In Pratica mi dovra elenzare nella ListBox solamente il file rikiesto e in più quelli che si avvicinano al nome .....

Spero Che sono stato abbastanza chiaro ....:asd:
aaa
13/09/10 13:06
Alfonso
Facciamo il caso che sia fileText.text ="nome.txt"

Se aggiungi un asterisco all'inizio "*nome.txt" trovi tutti i nomi che hanno qualsiasi sequenza di caratteri prima di nome. Per es. kknome, mionome, Copiadinome
Se aggiungi un asterisco alla fine "nome*.txt" trovi tutti i nomi che hanno qualsiasi carattere che segue nome. Per es. nometre, nomeXX, nomecognome
Tutti i file che sono trovati con i metodi precedenti sono sempre con estensione .txt

Se vuoi considerare tutte le estensioni possibili usi .*

Così con la stringa "*nome*.*" trovi qualsiasi tipo di file dove ci sia il pezzetto nome con qualsiasi estensione
Ultima modifica effettuata da Alfonso 13/09/10 13:09
aaa
13/09/10 13:40
S.y.n.a.p.s.e.
Alfonso il problema e che nella Directory ci sono tutti file di Estensione .txt... e quindi automaticamente facendo così caricherà sempre tutti i file nella cartella con estensione .txt....

Come Potrei Fare ?
aaa
13/09/10 14:03
Alfonso
Se intendi che i file che cerchi si chiamano:

PIPPO1
PIPPO2
PIPPO3

senza estensione, casella fileText.text sarà "Pippo*"
e credo che l'unica via sia controllare che nel nome del file FileFound non sia presente la stringa ".txt".
aaa