Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Daten / Strings / IsNullString

Ist String leerer als leer?

Mit der folgenden Funktion ist es möglich festzustellen, ob ein optionaler String-Parameter fehlt (im Gegensatz zu einem Leerstring), oder ob z.B. der Anwender in der InputBox "Abbrechen" gedrückt hat:
Function IsNullString(ByRef aString As String) As Boolean
  IsNullString = CBool(StrPtr(aString) = 0)
End Function
Hier ein Beispiel für die Anwendung der Funktion im Zusammenhang mit optionalen Parametern:
'Prozedur:
Sub Test(Optional Vorname As String)
  If IsNullString(Vorname) Then
    MsgBox "Vergesslich?"
  ElseIf Vorname = "" Then
    MsgBox "Schüchtern?"
  Else
    MsgBox "Hallo " & Vorname
  End If
End Sub

'Tests:
Test          'ergibt "Vergesslich?"
Test ""       'ergibt "Schüchtern?"
Test "Jost"   'ergibt "Hallo Jost"
Hier eine Anwendung bzgl. der InputBox:
Dim Vorname As String
Vorname = InputBox("Vorname?")
If IsNullString(Vorname) Then
  'es wurde "Abbrechen" gedrückt
ElseIf Vorname = "" Then
  'es wurde ein Leerstring eingegeben
Else
  'es wurde wirklich etwas eingegeben
End If

Idee von Harald M. Genauck (ABOUT Visual Basic-Magazin)

© Harald M. Genauck, 18.08.2000-19.09.2000 - http://vb-tec.de/emptystr.htm