German Hilfe mein Code funktioniert nicht!!!

rainerohl

Member
Licensed User
Longtime User
Ich beiß mir am folgendem Code die Zähne aus:

Dim St as string

if St = Null then Exit


Debugger zeigt für die Variable St Null an aber keine Reaktion in der if abfrage.

wer kann bitte helfen
gruß
Rainer
 

DonManfred

Expert
Licensed User
Longtime User
Hast du denn auch ein St.Initialize ausgeführt? Ein leerer String kann nicht null sein.
 

rainerohl

Member
Licensed User
Longtime User
Hast du denn auch ein St.Initialize ausgeführt? Ein leerer String kann nicht null sein.
vielen Dank für die schnelle Antwort:
Also St wird aus einer Text Datei gelesen:

St = readline
if St = null then Exit

was muss ich hier wie Initialize
 

Wolfenci

Member
Licensed User
Longtime User
Wäre super, wenn Du allen Deine Lösung hier posten würdest.

Der Code:
B4X:
Dim St As String
If St.Length =  0 Then
  Msgbox("leerer String", "Meldung)
End If
zeigt die MessageBox genauso an, wie:
B4X:
Dim St As String
St  = ""
If St.Length = 0 Then

    Msgbox("leerer String", "Meldung")

End If
Also kann man wohl sagen, dass man die Abfrage auf ein Objekt vom Typ String, nicht auf den Inhalt "null" reduzieren kann. Entweder ist er Leer ("") oder nicht. Wobei Leer gleich "" zu setzen ist und nicht gleich "null"...
 

DonManfred

Expert
Licensed User
Longtime User
Also kann man wohl sagen, dass man die Abfrage auf ein Objekt vom Typ String, nicht auf den Inhalt "null" reduzieren kann. Entweder ist er Leer ("") oder nicht. Wobei Leer gleich "" zu setzen ist und nicht gleich "null"...

Das ist korrekt.

Strings sind, wie int auch, "primitive Objects" die keine initialisierung erfordern. In beiden Fällen gibt es kein null. Nur "" oder, bei int, eben 0. Bei meiner Antwort im Januar war ich noch im glauben auch Strings müssten initialisiert werden. Aber zu der Zeit hatte ich das mit den primitive Objects noch nicht so auf dem Plan. :)
 
Top