Rubrik: Variablen/Strings · Sonstiges | VB-Versionen: VB5, VB6 | 27.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 Otter | Bewertung: | Views: 12.562 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein 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