Avatar billede jesperbaldur Nybegynder
23. januar 2001 - 11:17 Der er 9 kommentarer og
1 løsning

Liste over hvad der er på en cd

Jeg skal lave et program som kan skrive til en tekst fil hvad der er på ens cd. Altså hvilke filer der ligger på cden. Hvis der fx ligger en fil de hedder setup.exe, skal programmet skrive setup.exe til en tekstfil.
Hvordan laver man sådan et program??
Avatar billede tdaugaard Nybegynder
23. januar 2001 - 11:18 #1
Skal det være et program der søger HELE CD\'en igennem ?
Avatar billede superinfojens Nybegynder
23. januar 2001 - 12:39 #2
Prøv dette her :

Option Explicit
Dim fso As New FileSystemObject
Dim fld As Folder

Private Sub Command1_Click()
Dim nDirs As Integer, nFiles As Integer, lSize As Long
Dim sDir As String, sSrchString As String
       
\' din Cd rom er her
       
sDir = \"D:\"
sSrchString = \"*.*\"
MousePointer = vbHourglass
Label1.Caption = \"Searching \" & vbCrLf & UCase(sDir) & \"...\"
lSize = FindFile(sDir, sSrchString, nDirs, nFiles)
MousePointer = vbDefault
End Sub

Private Function FindFile(ByVal sFol As String, sFile As String, nDirs As Integer, nFiles As Integer) As Long
Dim tFld As Folder, tFil As File, FileName As String

Set fld = fso.GetFolder(sFol)
FileName = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or vbHidden Or vbSystem Or vbReadOnly)
While Len(FileName) <> 0
FindFile = FindFile + FileLen(fso.BuildPath(fld.Path, FileName))
nFiles = nFiles + 1
             
\' Din textfil er her
             
Open \"C:\\windows\\skrivebord\\textfil.txt\" For Append As #1
Print #1, fso.BuildPath(fld.Path, FileName)
Close #1
             
FileName = Dir()
DoEvents
Wend
Label1 = \"Searching \" & vbCrLf & fld.Path & \"...\"
nDirs = nDirs + 1
If fld.SubFolders.Count > 0 Then
For Each tFld In fld.SubFolders
DoEvents
FindFile = FindFile + FindFile(tFld.Path, sFile, nDirs, nFiles)
Next
End If
End Function
Avatar billede superinfojens Nybegynder
23. januar 2001 - 12:45 #3
Hvis den kun skulle skrive filerne uden stien så

Open \"C:\\windows\\skrivebord\\textfil.txt\" For Append As #1
Print #1, FileName
Close #1
Avatar billede jesperbaldur Nybegynder
23. januar 2001 - 13:54 #4
ja, det skal være på hele cden, altså i alle mapperne. Hvis det kan lade sig gøre
Avatar billede superinfojens Nybegynder
23. januar 2001 - 13:56 #5

Det skulle min kode da gerne gøre...for du fejl ??
Avatar billede tdaugaard Nybegynder
23. januar 2001 - 13:58 #6
superinfojens:> nææ der er nok ikke fejl, men længere oppe spurgte jeg \"Skal det være et program der søger HELE CD\'en igennem ?\"
Avatar billede superinfojens Nybegynder
23. januar 2001 - 14:15 #7
Fik ikke lige øje på det, den smukke kode lige under tog al opmærksomheden *GG*
Avatar billede jesperbaldur Nybegynder
24. januar 2001 - 08:56 #8
Ok, superinfojens, jeg har set din kode, men jeg har desværre ikke haft tid til at afprøve den, det får jeg først i morgen.
Avatar billede blom Nybegynder
25. januar 2001 - 03:21 #9
Hvad med en gammel DOS Commando DIR *.* /s > C.\\[evt. Directory\\]Filnavn.txt
Vb Shell \"DIR *.* /s > C.\\Filnavn.txt\"
anvend Open til at læse filen
Avatar billede blom Nybegynder
25. januar 2001 - 03:23 #10
Tasste fejl \"C.\" ->\"C:\"
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