[B3D] Rückgabewert vom leeren Input Befehl

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Meik

Betreff: [B3D] Rückgabewert vom leeren Input Befehl

BeitragSo, Aug 23, 2009 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hiho,

wie der Titel schon sagt versuch ich herraus zu finden was der Rückgabewert von einem Input Befehl ist wenn man nichts eingegeben hat.

Szene:
Ich versuche seit geraumer Zeit einen kleinen Leveleditor zu basteln. Nun bin ich an einer Stelle wo ich die Map gerne "richtig" speichern würde, will heißen mit einem Namen. Vorher hab ich immer einen Mapnamen auf Basis der Millisekunden generieren lassen.

Teil des Codes:
BlitzBasic: [AUSKLAPPEN]
Global mapName$ = ""

...

If( mapName$ = "" )
Color 255, 255, 255
Locate 90, PH% + 2 ;480 + 2
mapName$ = Input( "Map Name: " )
;namName$ = mapName$ + ".2dm"
End If
If( mapName$ = "" Or mapName$ = Null ) Then Return

Local file% = WriteFile( mapName$ )
For y% = 0 To 29
For x% = 0 To 39
WriteInt( file%, Map( x%, y% ) )
Next
Next
CloseFile( file% )


BlitzBasic: [AUSKLAPPEN]
If( mapName$ = "" Or mapName$ = Null ) Then Return

An dieser Stelle sagt mir der Debugger das mapName$ = Null eine unzulässige konvertierung ist. Aber mapName$ = "" gibt der Inputbefehl auch nicht zurück Sad

Frage: Was gibt der Inputbefehl zurück wenn nichts eingegeben wurde?

p.s. Irgendwie funktioniert die Codeformatierung hier im Forum grad nicht. Normalerweise hab ich alles ordentlich formatiert.

p.p.s. Würde meinen ganzen Code hier rein kopieren aber das mein erstes großes Projekt werden soll möchte ich doch nicht zuviel zeigen Smile Wenn es nicht anders geht zeig ich ihn doch Smile

p.p.p.s Ich hab eine Idee wie ich das jetzt doch löse aber meine Frage würde ich dennoch gerne noch gelöst bekommen. Vielleicht kann man das Wissen ja noch irgendwann gebrauchen Smile

Edit: Meine Idee hat doch irgendwie kein Sinn gemacht ^^

DaysShadow

BeitragSo, Aug 23, 2009 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Input gibt aber ""(einen leeren String halt) zurück wenn man nichts eingibt, dein Fehler liegt wohl woanders.
Ich weiß auch nicht recht was du mit mapName$ = Null willst, wenn du schauen willst ob ein String leer ist tut es die erste Abfrage mit "" schon.

MfG DaysShadow
Blessed is the mind too small for doubt
 

Meik

BeitragSo, Aug 23, 2009 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, echt? Bei mir irgendwie nicht Sad Die Zeile mit Return wird bei mir leider nicht ausgeführt Sad

Liegts vielleicht an der Demo? Wollte mir eh eine Vollversion zulegen sobald ich wieder einen PC habe ... weiss nur noch nicht ob B3D oder BMax Smile

Achso und die das = null hab ich nur zu Testzwecken eingebaut um zu gucken ob das vielleicht funktioniert. Sonst ist natürlich nur eine abfrage drin.

Edit: Problem gelöst! Wer hätte vermutet das ein "leerer" String eine 0 entählt? Ich eigendlich nicht Smile

Bitte meine Störung zu verzeihn.

MFG

*Elvis has left the building*

Eingeproggt

BeitragSo, Aug 23, 2009 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Edit: Problem gelöst! Wer hätte vermutet das ein "leerer" String eine 0 entählt? Ich eigendlich nicht


Aber auch nur wenn mans falsch konvertiert.
Code: [AUSKLAPPEN]
name=Input("blabla")
Print name ;0
realname$=Input("haha!")
Print realname$ ;Die Eingabe oder einfach gar nix... Programmiertechnisch mit "" beschrieben ;-)


mfG, Christoph.

Edit:
Wobei, bei der Abfrage hast du Recht... aber auf (in meinem Beispiel) realname$=0 abzufragen is nicht wirklich gescheit... realname$="" ist einfach das einzig Wahre.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Meik

BeitragSo, Aug 23, 2009 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
danke eingeproggt Smile werde morgen nochmal drueber schauen. kam mir gleich merkwuerdig. irgendwo werd ich wohl die variable falsch geschrieben haben Smile werd mein fehler hier rein schreiben.

verzeiht mir meine rechtschreibung aber ich schreib ueber die playstation Smile gn8

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group