Hier een stukje code waar door een map (directory) wordt gelopen en alle bestanden uit die directory worden weergegeven.
- De directory komt hier uit een object ($hCardGame.sLocation), maar het is een gewone string met het volledige pad in, je kan het als test vervangen door de home directory zoals in de commentaar van de code wordt gesuggereerd.
- Set1 is de subdirectory die doorlopen wordt.
- De selectie van de files is hier een aantal grafische bestanden: png, jpg, jpeg; die worden eerst in een array gestoken.
- Dan wordt de array uitgelezen met een FOR EACH / NEXT lus
- Binnen die lus gebeurt een test, hier om te kijken of de lijst met namen niet te lang wordt
- De uitvoer gaat naar een listbox, hier lsbxLog genaamd.
Dus behalve onderstaande code heb je daarbuiten de listbox en het object met eigenschap sLocation nodig (of vervang het door een parameter in de procedure).
PUBLIC SUB listImages() DIM sDirectory AS String DIM aFiles AS String[] DIM sFileName AS String DIM sList AS String ' Directory = System.User.Home sDirectory = $hCardGame.sLocation &/ "Set1" lsbxLog.Add(sDirectory, 0) aFiles = Dir(sDirectory, "*.png") aFiles.Insert(Dir(sDirectory, "*.jpg")) aFiles.Insert(Dir(sDirectory, "*.jpeg")) sList = "" FOR EACH sFileName IN aFiles sList &= ";" & sFileName IF Len(sList) > 80 lsbxLog.Add(sList, 0) ' buffer full, show current part sList = "" ENDIF NEXT lsbxLog.Add(sList, 0) ' final part END