/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Mappe's filnavne ind i array ?
Fra : Kirsbo
Vist : 574 gange
40 point
Dato : 03-06-02 18:06

Hej,

Mit spørgsmål går på hvordan jeg får listet filnavnene fra en mappe ind i en array?
Der er ikke noget med undermapper... Jeg skal bare have en liste over filerne ind i en array / listbox.
Hvordan gør jeg dette? Og helst uden brug af API, custom classes, custom objects og lignende lort.

mvh Morten

 
 
Accepteret svar
Fra : Nyhedsbruger

Modtaget 50 point
Dato : 03-06-02 17:59


"Kirsbo" skrev i en meddelelse:

> Mit spørgsmål går på hvordan jeg får listet filnavnene fra en
mappe ind
> i en array?

Se, det er jo ikke svært.


Option Explicit

Private Sub Command1_Click()
Dim strPath As String
Dim strNames As String
Dim varArray As Variant

strPath = "C:\*.*"

' Skaf en liste over filnavne adskilt med ";"
strNames = strFilenames(strPath)

varArray = Split(strNames, ";")

' Vis de fundne filnavne
Dim i As Integer
For i = LBound(varArray) To UBound(varArray)
Debug.Print varArray(i)
Next

End Sub

Function strFilenames(strPath As String) As String
Dim strFile As String
strFilenames = ""
strFile = Dir(strPath, vbNormal)
Do While strFile <> ""
strFilenames = strFile & ";" & strFilenames
strFile = Dir
Loop
End Function

> Hvordan gør jeg dette? Og helst uden brug af API, custom
classes, custom
> objects og lignende lort.

Nå nå nå ....

--
/\ preben nielsen
\/\ prel@post.tele.dk



Godkendelse af svar
Fra : Kirsbo


Dato : 03-06-02 20:57

Det var sørme lækkert, lige hvad jeg behøvede uden brug af alt det hi-tech api gøjl

Tusind tak!
                        

Kommentar
Fra : Nyhedsbruger


Dato : 04-06-02 11:41

> Dim varArray As Variant

Denne linie bør nok erstates af Dim strArray() As String

> uden brug af alt det hi-tech api gøjl

Det API gøgl, giver ofte en meget bedre løsning en dem som vb selv kan
producere. Og specielt med løkker (og dermed arrays), kan en (C++) DLL give
et meget bedre slutresultat.

Mvh. Rayman




Kommentar
Fra : Nyhedsbruger


Dato : 04-06-02 17:19


"Rayman" <rayman_dk@email.com> skrev i en meddelelse
news:aP0L8.17515$N46.770418@news010.worldonline.dk...
> > Dim varArray As Variant
>
> Denne linie bør nok erstates af Dim strArray() As String

Det synes jeg du skulle prøve


--
/\ preben nielsen
\/\ prel@post.tele.dk



Kommentar
Fra : Nyhedsbruger


Dato : 05-06-02 11:42

> > Denne linie bør nok erstates af Dim strArray() As String
>
> Det synes jeg du skulle prøve

Hvis du selvfølgelig erstatter henvisningerne til varArray med strArray, så
bliver det således (og det virker):

Option Explicit

Private Sub Command1_Click()
Dim strPath As String
Dim strNames As String
Dim strArray() As String

strPath = "C:\*.*"

' Skaf en liste over filnavne adskilt med ";"
strNames = strFilenames(strPath)

strArray = Split(strNames, ";")

' Vis de fundne filnavne
Dim i As Integer
For i = LBound(strArray) To UBound(strArray)
Debug.Print strArray(i)
Next

End Sub





Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407858
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste