SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Verwijderd
Ik weet dus eigenlijk niet precies wat je nou wilt, als je alle dirs/subdirs in een stringarray wilt zetten vergeet het dan maar, wordt te gierend groot...
1
2
3
4
| foreach Element in Directory if File add to List if Dir call self end foreach |
Verder nogal basic, zo kom je er wel uit
Dat valt verbazend mee, gemiddelde harde schijf heeft zo'n 80000-100000 bestanden in mijn ervaring. Tot een half miljoen of zo moet het makkelijk kunnen hoor.Ik weet dus eigenlijk niet precies wat je nou wilt, als je alle dirs/subdirs in een stringarray wilt zetten vergeet het dan maar, wordt te gierend groot...
Tevens verplicht niemand je om op de root te beginnen, misschien wil ie het wel doen voor D:\Mp3
Tnks curry684...curry684 schreef op 23 September 2003 @ 21:05:
Apennootjes beweert dat ie z'n probleem duidelijker kan omschrijven en we tot nu toe het verkeerde probleem hebben beantwoord, dus heropend
Ik zal proberen het probleem duidelijker uit te leggen:
Ik heb een server waar een bepaalde structuur in zit:
Root => gebruikersmap => mappen gebruiker
Wat ik dus wil is alle gebruikersmappen de namen van weten en deze in een Array zetten...
Dus ik heb:
c:\UsermapA\Andere mappen&bestanden
c:\UsermapB\Andere mappen&bestanden
Nu moet hij dit dus automatisch alle mappen langs lopen... en krijg ik dus in m'n array het volgende te staan:
map(0) = UsermapA
map(1) = UsermapB
Wat daarachter nog komt boeit me niet zoveel...
Moet dus 1 niveau diep alle mappen weten en in een array krijgen voor de rest niks!
Ik had dit nog duidelijker staan in het mailjte naar curry684 maar dat staat in een mailtje op m'n stage.. zal ik dus morgen ff opzoeken...
SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate
Verwijderd
Dir functie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Dim UserMaps() as String
Dim i as Long
i = 0
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
' Display entry only if it's a directory.
i = i + 1
Redim UserMaps(i)
UserMaps(i) = MyName
Debug.WriteLine(MyName)
End If
MyName = Dir() ' Get next entry.
Loop |
[ Voor 7% gewijzigd door Verwijderd op 23-09-2003 23:27 . Reden: missing tag ]
Misschien kun je beter even naar de antwoorden kijken die al gegeven zijn.apen-nootjes schreef op 23 September opnieuw zijn vraag die al lang beantwoord is
[ Voor 7% gewijzigd door farlane op 23-09-2003 23:35 ]
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Zou je dan nog wel ff de topictitel willen aanpassen ? Staat zo ...... euhm .... raar.curry684 schreef op 23 September 2003 @ 21:05:
Apennootjes beweert dat ie z'n probleem duidelijker kan omschrijven en we tot nu toe het verkeerde probleem hebben beantwoord, dus heropend
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
De Dir$ functie van VB6 houdt intern één FindFirstFile..FindNextFile enumeratie bij, en daardoor zal een regelrechte recursieve aanroep niet gaan werken: wanneer je een niveau lager de loop weer initaliseert voor die folder, ben je dus de enumeratie van je huidige folder kwijt. De oplossing is om per niveau eerst met Dir$ een kleine array (alleen voor die folder) te vullen, en die vervolgens recursief af te lopen.
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Hier het mailtje wat ik naar curry gestuurd had:
Dus alle Directory's nalopen... (nouja..
> alle)
> ik heb alleen maar 1 level diep nodig... dus:
>
> c:\UserA
> c:\UserB
> c:\UserC
>
> Nu heb ik de naam van die map nodig.. dus ik wil een array krijgen waar
> hetvolgende in komt te staan:
>
> Dim map() As String
>
> map(1) = UserA
> map(2) = UserB
> map(3) = UserC
>
> Wat er dieper zit.. dus dat UserA een folder heeft die mydocuments heet
> intresseert me niet...
>
> Zou het topic opnieuw open mogen?? (Dan zal ik proberen het er wat
> duidelijker in te zetten..
>
> Alvast bedankt,
>
> Apen-nootjes
> Vincent Klop
Maakt het misschien allemaal nog iets duidelijker (of niet
SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate
SmartDoDo: Ach, afhankelijk van je smaak kan het best een lekker geil ding zijn :P
You never had a date you couldn't inflate