Hauptseite >Tips zu VB5/6 >  Wie man bei der InputBox herausfindet, ob Abbrechen gedrückt wurde
 
Laut Online-Hilfe von VB5 gibt die InputBox$-Funktion "eine Null-Zeichenfolge ("") zurück", wenn der Benutzer auf Abbrechen klickt. Wie unterscheidet man aber, ob tatsächlich Abbrechen geklickt wurde, und nicht etwa OK, und nur nichts eingegeben wurde?
Auch hier sollte man Microsofts Erklärungen zum VB-String kritisch hinterfragen (siehe Leerer String vs. vbNullString). Und es bewahrheitet sich einmal mehr:

vbNullString = Null-Zeichenfolge
uninitialisierter String = Null-Zeichenfolge
ABER: Null-Zeichenfolge <> "" !!! (auch wenn VB etwas anderes behauptet ...)
            
Und siehe, folgendes geht:

Private Sub Command1_Click()
Dim s As String
s = InputBox$("gib was ein oder nicht:")
  If StrPtr(s) = 0 Then
    'Abbrechen gedrückt
  Else
    'OK gedrückt
  End If
End Sub
            
Hauptseite >  Tips zu VB5/6 >  diese Seite