hoggabogga Skrevet 4. desember 2006 Skrevet 4. desember 2006 (endret) Hei jeg er ganske (eller... veldig! ) ny til VB, så jeg trenger hjelp til en ting..: jeg har tenkt til å ha med en funksjon som finner/søker etter en eksakt fil (f.eks c:\programfiler\steam\steam.exe ) i "programmet" jeg skriver.. noen som kunne være så snille å gi meg noen ideèr? for å prøve å forklare det litt bedre...: programmet skal søke etter fila steam.exe uten å vite hvor den egentlig ligger.... (bruker bare steam.exe som et eksempel.. aanyway).... /regrin Endret 4. desember 2006 av hoggabogga
GeirGrusom Skrevet 4. desember 2006 Skrevet 4. desember 2006 VB.NET: System.IO.File.Exist("C:\programfiler\steam\steam.exe") Jeg er helt ute av VB6 nå, så det husker jeg ikke lenger...
hoggabogga Skrevet 4. desember 2006 Forfatter Skrevet 4. desember 2006 (endret) ah, glemte å si at det var VB 6.0... edit: k hmm Endret 4. desember 2006 av hoggabogga
ze5400 Skrevet 4. desember 2006 Skrevet 4. desember 2006 (endret) Du burde gå over til Visual Basic Experss. (msdn.com/Express), det er meget bedre enn 6.0. EDIT: Og gratis. Endret 4. desember 2006 av ze5400
aadnk Skrevet 4. desember 2006 Skrevet 4. desember 2006 (endret) I VB6 kan du bruke følgende søkefunksjon: Public Function FindFile(Path As String, Compare As String, Optional Subfolders As Boolean) Dim oFolders As New Collection, Folder, sFile As String ' Finn den første filen sFile = Dir(Path, vbNormal) ' Gå gjennom alle filene i denne mappen Do Until LenB(sFile) = 0 ' Se om dette er filen vi leter etter If sFile Like Compare Then ' Returner hele filbanen FindFile = Path & sFile ' Avslutt prosedyren Exit Function End If ' Finn neste fil sFile = Dir Loop ' Se om vi skal søke i undermapper If Subfolders Then ' Finn den første undermappen sFile = Dir(Path, vbDirectory) ' Generer først en liste over alle undermapper Do Until LenB(sFile) = 0 ' Ignorer alle ikke-reelle mapper If sFile <> "." And sFile <> ".." Then ' Legg til mappen vi fant oFolders.Add sFile End If ' Finn den neste i rekken sFile = Dir Loop ' Gå gjennom alle mapper som ble funnet For Each Folder In oFolders ' Søk gjennom dens filer og undermapper sFile = FindFile(Path & Folder & "\", Compare, Subfolders) ' Dersom vi fant noe, ... If LenB(sFile) <> 0 Then ' ... lever denne stien oppover i søke-hierakiet FindFile = sFile Exit Function End If Next End If End Function For å søke etter en enkeltfil, kaller du funksjonen således: MsgBox FindFile("C:\", "steam.exe", True) Du kan også bruke jokertegn. Slik finner du den første EXE-filen i en mappe eller dens undermapper: MsgBox FindFile("C:\", "*.exe", True) Endret 4. desember 2006 av aadnk
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå