Was viele nicht wissen bzw. vielleicht nur nicht wissen wie, ist: Wie lässt sich ein Array als Ergebnis eines Funktionsaufruf zurückgeben? Normalerweise ist der Rückgabewert einer Funktion ja meist vom Datentyp String, Long, Integer oder Boolean - wie auch immer, eben nur ein einziger Wert und keine Auflistung von Werten - ein Array eben. Wenn man nun aber den Rückgabewert der Funktion als Variant deklariert, dann kann das ja alles sein: String, Long, Integer, Boolean oder auch Array! Also geht's doch - und das sogar ganz einfach! ' Beispiel: Alle Dateien eines Ordners ' lesen und als Array zurückgeben Public Function ReadFilesFromDir(ByVal sPath As String) _ As Variant Dim sFilename As String Dim nCount As Long ReDim sFiles(0) As String If Right$(sPath, 1) <> "\" Then _ sPath = sPath & "\" nCount = 0 sFilename = Dir(sPath & "*.*", vbNormal) While sFilename <> "" If sFilename <> "." And sFilename <> ".." Then ReDim Preserve sFiles(nCount) sFiles(nCount) = sFilename nCount = nCount + 1 End If sFilename = Dir Wend ReadFilesFromDir = sFiles End Function Der Funktionsaufruf selbst sieht dann so aus: Dim sPath As String Dim I As Integer Dim sFiles As Variant sPath = "C:\Dokumente" sFiles = ReadFilesFromDir(sPath) ' Anzeige der gefundenen Dateien ' in einer ListBox If sFiles(0) <> "" Then For I = 0 To UBound(sFiles) List1.AddItem sFiles(I) Next I End If Solch eine Funktion lässt sich natürlich auch in einer Klasse verwenden, die dann z.B. als ActiveX-DLL in das Projekt eingebunden wird. Dies aber nur am Rande... Dieser Tipp wurde bereits 38.733 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |