von ykcim » Do, 30.03.2006 14:22
Hi,
ich habe das ganze noch verbessert.
Code: Alles auswählen
sub testdir
dim liste(10000) as string
m=getdirs(liste(),0,"c:\programme")
For i=0 to m-1
' msgbox liste(i)
next i
msgbox m
end sub
function getdirs( liste(),z, folder) as integer
sFolderUrl = ConvertToUrl( Folder )
oSimpleFileAccess = createUnoService( "com.sun.star.ucb.SimpleFileAccess" )
aFolders = oSimpleFileAccess.getFolderContents( sFolderUrl,true )
For i = LBound( aFolders ) To UBound( aFolders )
sFile = aFolders( i )
If oSimpleFileAccess.isFolder( sFile ) Then
getdirs( liste(),z, sFile)
Else
liste(z)=sfile
z=z+1
end if
next i
getdirs=z
end function
Durch die Rekursion ist jetzt die Tiefe der Unterordner egal, bzw hängt vom BS ab.
mfg
Michael
Hi,
ich habe das ganze noch verbessert.
[code]
sub testdir
dim liste(10000) as string
m=getdirs(liste(),0,"c:\programme")
For i=0 to m-1
' msgbox liste(i)
next i
msgbox m
end sub
function getdirs( liste(),z, folder) as integer
sFolderUrl = ConvertToUrl( Folder )
oSimpleFileAccess = createUnoService( "com.sun.star.ucb.SimpleFileAccess" )
aFolders = oSimpleFileAccess.getFolderContents( sFolderUrl,true )
For i = LBound( aFolders ) To UBound( aFolders )
sFile = aFolders( i )
If oSimpleFileAccess.isFolder( sFile ) Then
getdirs( liste(),z, sFile)
Else
liste(z)=sfile
z=z+1
end if
next i
getdirs=z
end function
[/code]
Durch die Rekursion ist jetzt die Tiefe der Unterordner egal, bzw hängt vom BS ab.
mfg
Michael