vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · Sonstiges   |   VB-Versionen: VB5, VB627.11.07
Übergabeparameter: String oder Array?

Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt.

Autor:   Dieter OtterBewertung:  Views:  11.169 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein Beispielprojekt 

Kürzlich wurde im Forum gefragt, wie man an eine Prozedur entweder einen einfachen String oder ein String-Feld (Array) übergeben kann, d.h. die Prozedur soll erkennen, ob es sich beim Übergabeparameter um ein String-Array oder ein einzelner String handelt.

Hierzu muss der Parameter der Prozedur als Variant deklariert werden. Anschließend kann man dann innerhalb der Prozedur mit Hilfe der IsArray-Funktion prüfen, ob es sich bei dem Variant-Parameter um ein Array handelt oder nicht.

Public Sub Test(ByVal sParam As Variant)
  ' Prüfen, ob String-Feld oder einfacher String übergeben wurde
  If IsArray(sParam) Then
    ' Es wurde ein Feld übergeben
    ' jetzt die einzelnen Elemente im Debug-Fenster ausgeben
    Dim i As Long
    Debug.Print "String-Array"
    For i = LBound(sParam) To UBound(sParam)
      Debug.Print i, sParam(i)
    Next i
 
  Else
    ' Es wurde ein einfacher String übergeben
    Debug.Print "String"
    Debug.Print sParam
  End If
End Sub

Aufrufbeispiel:

' einfachen String übergeben
Test "Einfacher String"
' String-Array übergeben
ReDim sArray(1 To 4) As String
sArray(1) = "Dies"
sArray(2) = "ist"
sArray(3) = "ein"
sArray(4) = "Test."
 
Test sArray



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

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.
 
 
Copyright ©2000-2019 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


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.