Eli tarkoituksena olisi lukea formille valitun hakemiston kaikkien tiedostojen nimet.
Väännän rautalangasta:
Valitsen jonkin tietyn hakemiston ohjelmassa jonka jälkeen ohjelma lukee hakemistossa olevien tiedostojen nimet formin tiettyyn kenttään, olkoon nyt vaikka tekstikenttä. Lisäksi olisi kiva jos tiedoston koon pystyisi lukemaan vaikka toiseen tekstikenttään tai vastaavaa. En löytänyt koodiesimerkkiä edes englanninkielisistä foorumeista tai en sitten en vain osannut etsiä oikeilla hakusanoilla...
Ja sitten jos halutaan viedä tätä hieman pidemmälle, niin miten MP3 tiedostosta pystyy lukemaan siihen tallennettuja tietoja kuten artisti, bitrate jne jne.
Kenellä on tietoa ja taitoa kertoa esimerkki?
Noh, tota ekaa en oikeen kelannut... mutta toi mp3tieto juttu kiinnostaa muakin.(se on muuten id3 tag, keksin ton winampista) noh, kuukkelitin 10sek ja löytyi http://www.freevbcode.com/ShowCode.Asp?ID=1118
Option Explicit
Public Type ID3Tag
Header As String * 3
SongTitle As String * 30
Artist As String * 30
Album As String * 30
Year As String * 4
Comment As String * 30
Genre As Byte
End Type
Public Function GetID3Tag(FileName As String, Tag As ID3Tag) _
As Boolean
'******************************
'Instructions:
'Pass an variable declared as type ID3Tag to Tag Parameter
'and read its member data after the function returns (assuming
'the function returns true)
'****************************
On Error GoTo GetID3TagError
Dim TempTag As ID3Tag
Dim FileNum As Long
If Dir(FileName) = "" Then
GetID3Tag = False
Exit Function
End If
FileNum = FreeFile
Open FileName For Binary As FileNum
Get FileNum, LOF(1) - 127, TempTag
Close FileNum
If TempTag.Header <> "TAG" Then
GetID3Tag = False
Else
Tag = TempTag
GetID3Tag = True
End If
Exit Function
GetID3TagError:
Close FileNum
GetID3Tag = False
End FunctionHomman voi ratkaista rekursio ohjelmoinnilla, tässä ohjelman proto:
sub etsi(myPath)
Eka hakemisto sadaan: MyName = Dir(MyPath, vbDirectory)
Seuraava hakemisto: MyName = Dir
kun tiedistot loppuu niin Dir antaa ""
ohita "." ja ".." hakemistonimet
tarkistus onko varmasti hakemisto: GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory
lue loopilla kaikki hakemistot taulukkoon hakemistonnimi()
käy taulukko läpi loopilla
loopin sisällä kutsu etsi(hakemistonnimi(i)) eli kutsutaan itseä eli mennään syvemmälle hakemistorakenteessa
kun alihakemistoja ei enää ole niin luetaan tiedostonimet
Hakemiston eka tiedosto saadaan: MyName = Dir(MyPath)
seuraava tiedosto: MyName = Dir
kun tiedistot loppuu niin Dir antaa ""
Do While MyName <> "" myName=Dir print MyName Loop 'palataan ylemmlle tasolle hakemistossa end sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.