Avatar billede tubber Juniormester
09. juni 2002 - 16:30 Der er 7 kommentarer og
1 løsning

Læse dirstruktur

Jeg vil gerne vide om man kan læse en række bibloteknavne og derefter filnavne i de mapper man har læst.

/Tubber
09. juni 2002 - 16:36 #1
Hej,

forstår det ikke helt kan du ikke lave en File List sammen med en dir list og så bruger. Hver gang der åbnes et nyt dir ændres file.path til dir1.path. Forstår du?

/Casper
Avatar billede kantoraza Nybegynder
09. juni 2002 - 16:41 #2
Det kan du let!

Gør følgende:

* Opret en dir listbox
* Opret en file listbox

I dir1 start proseduren skriver du:

file1.path = dir1.path


Mere er der ikke i det!

/KantoRaZa\
Avatar billede tubber Juniormester
09. juni 2002 - 16:41 #3
Ja men det er manualt, jeg vil sige at du skal starte i "\\server" og så skal den liste alle biblotekerne i det dir og så putte dem i en listbox og derefter skal den tage alle de bibloteker i listboxen og kører dem igennem og putte alle filnavnene i en ny listbox.....

/Tubber
Avatar billede kedde65 Praktikant
09. juni 2002 - 16:51 #4
Hmm - hvad vil du bruge de oplysninger til? Det er ganske simpelt at gennemløbe alle sine biblioteker, og deres filer, men det afhænger lidt af hvad opgaven går ud på.

VH CK
Avatar billede tubber Juniormester
09. juni 2002 - 16:57 #5
øøh....

Jeg spørger om det kan lade sig gøre eller ej......om hvad jeg skal bruge det til er vel min sag ?
For kan det lade sig gøre til en ting kan det vel også til en anden ?
Avatar billede shadowdance Nybegynder
10. juni 2002 - 02:20 #6
Betragt følgende:

------
Public Sub SearchFolder(SF As String)

SearchFiles (SF)
Dim filehandle, filefolder, filesubfolders, f1
Set filehandle = CreateObject("Scripting.FileSystemObject")
Set filefolder = filehandle.getfolder(SF)
Set filesubfolders = filefolder.subfolders
    For Each f1 In filesubfolders
        SearchFolder (f1.Path)
    Next

End Sub
Public Sub SearchFiles(SF As String)

Dim filehandle, filefolder, folderfiles, currentfile
Set filehandle = CreateObject("scripting.filesystemobject")
Set filefolder = filehandle.getfolder(SF)
Set folderfiles = filefolder.Files
    For Each currentfile In folderfiles
        If Right(LCase(currentfile), 4) = fType Then
            InsertFile currentfile.Name, currentfile.Path
        End If
    Next
End Sub
------

Benytter fire centrale objekter:

*FileSystemObject - overordnet filstyringsobjekt
*Getfolder - åbner en given folder
*Subfolders - en collection af underliggende foldere, som du kan iterere igennem.
*Files - en collection af underliggende filer, som du kan iterere igennem.

De to sidstnævnte gør den rekursive funktion mulig. Ignorér den del af koden der hedder "Insertfiles" - det er bare en procedure der smider videre til et array.

Denne metode er smartere end brug af controls, da du kan lave et genbrugeligt modul eller en klasse ud af det. Det har jeg gjort.

Sig til hvis du har brug for en færdig klasse til formålet. Sender jeg gerne...!
Avatar billede shadowdance Nybegynder
10. juni 2002 - 02:20 #7
Tillad mig at genindsætte som svar!!!


Betragt følgende:

------
Public Sub SearchFolder(SF As String)

SearchFiles (SF)
Dim filehandle, filefolder, filesubfolders, f1
Set filehandle = CreateObject("Scripting.FileSystemObject")
Set filefolder = filehandle.getfolder(SF)
Set filesubfolders = filefolder.subfolders
    For Each f1 In filesubfolders
        SearchFolder (f1.Path)
    Next

End Sub
Public Sub SearchFiles(SF As String)

Dim filehandle, filefolder, folderfiles, currentfile
Set filehandle = CreateObject("scripting.filesystemobject")
Set filefolder = filehandle.getfolder(SF)
Set folderfiles = filefolder.Files
    For Each currentfile In folderfiles
        If Right(LCase(currentfile), 4) = fType Then
            InsertFile currentfile.Name, currentfile.Path
        End If
    Next
End Sub
------

Benytter fire centrale objekter:

*FileSystemObject - overordnet filstyringsobjekt
*Getfolder - åbner en given folder
*Subfolders - en collection af underliggende foldere, som du kan iterere igennem.
*Files - en collection af underliggende filer, som du kan iterere igennem.

De to sidstnævnte gør den rekursive funktion mulig. Ignorér den del af koden der hedder "Insertfiles" - det er bare en procedure der smider videre til et array.

Denne metode er smartere end brug af controls, da du kan lave et genbrugeligt modul eller en klasse ud af det. Det har jeg gjort.

Sig til hvis du har brug for en færdig klasse til formålet. Sender jeg gerne...!
Avatar billede tubber Juniormester
22. oktober 2002 - 12:57 #8
vil da gerne have den klasse :O)

smolf@krog-frandsen.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester