Hej Så här brukar jag göra:Arrayhjälp!
Jag är nybörjare i vb och har fått hjälp med denna kod:
<code>
p$ = "C:\Låda\"
f$ = Dir(p$, vbNormal + vbReadOnly + vbSystem + vbHidden)
While f$ <> ""
pf$ = p$ + f$
FilStorlek = FileLen(pf$)
FilDatum = FileDateTime(pf$)
' Här lagrar du i array eller nån annanstans...
f$ = Dir
Wend
</code>
Den fattar jag nog nu och funkar ju finfint.. men jag behöver hjälp med den arrayen. Kan någon vänlig själ visa hur jag gör den koden?
Detta var mitt ursprungsproblem:
Skall skriva ett enkelt program som listar innehållet i en katalog som man anger och denna listning skall skrivas till en fil.
Listningen skall kunna visa alla filer, även dolda, alla mappar samt med datum/tid och storlek angivet. Listningen skall även ske sorterat i bokstavsordning.
Har lyckats med att skapa det grundläggande programmet som listar en katalogs innehåll, men tyvärr inte lyckats varken att få med dolda, och ibland kommer de inte i bokstavsordning.
Jag behöver lite tips och idéer för att lösa problemet. Om det är någon som vet nått bra sätt så lägg gärna ett inlägg. Lite kod uppskattas varmt !Sv: Arrayhjälp!
<code>
Dim strPath As String
Dim strFile As String
Dim strFileName As String
Dim strFileArray() As Variant
Dim lngSize As Long
Dim lngIndex As Long
strPath = "C:\Låda\"
strFile = Dir(strPath, vbNormal Or vbReadOnly Or vbSystem Or vbHidden)
Do While Len(strFile)
lngIndex = lngIndex + 1
If lngSize > lngIndex Then
lngSize = lngSize + 10
Redim Preserve strFileArray(1 to 3, 1 to lngSize)
End If
strFileName = strPath & strFile
strFileArray(1, lngIndex) = strFileName
strFileArray(2, lngIndex) = FileLen(strFileName)
strFileArray(3, lngIndex) = FileDateTime(strFileName)
strFile = Dir()
Loop
If lngIndex Then
Redim Preserve strFileArray(1 to 3, 1 to lngIndex)
End If
</code>