MAV - Kann den Grund einfach nicht finden.

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

M0rgenstern

Betreff: MAV - Kann den Grund einfach nicht finden.

BeitragSa, Nov 21, 2009 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute.
Ich hab mir jetzt ein Eingabefeld gemacht um die Datei für mein Spiel zu speichern. ALso, dass der Benutzer den Dateinamen eingeben kann.
Das funktioniert auch soweit. Aber jedesmal wenn er die SaveGame() Funktion aufrufen soll gibt er mir einen MAV aus.
Eine bestimmte Stelle im Programm markiert IDeal aber nicht.
Und ich wüsste auch nicht, wo das Problem liegt. Der übergiebt die Zeichenkette an die SaveGame() Funktion.
Ich hoffe ihr könnt mir helfen, denn ich verzweifle hier grade.

Also, hier die Stelle in der er die Eingabe entgegennimmt:

Code: [AUSKLAPPEN]
Case 3
               
               Local key
               Local eingabe$
               
               key=GetKey()
               
               If key <> 0 Then
                  eingabe$ = eingabe$ + Chr$(key)
               EndIf
               If key = 8 Then
                  eingabe$ = Mid$(eingabe$, 1, Len(eingabe$)-2) ;löschen des letzten Zeichens
               EndIf
               If key = 32 Then
                  eingabe$ = eingabe$ + " "
               EndIf
               Text3d(Schriftart, 0, 0, "Datei: " + eingabe$, 1, 0, 0)
               If KeyDown(28) Then
                  SaveGame(eingabe$)
                  MenueNr = MenueAlt
               EndIf
                  


Und hier der Anfang der Speicherfunktion:

Code: [AUSKLAPPEN]
Function SaveGame(DateiName$)
   
   Local SaveDatei
   Local PX%
   Local PY%
   Local PEnergie%
   Local Kills%
   Local GewWaffe%
   Local Munition%
   Local Magazine%
   Local HaeuserZahl% = 0
   Local HX%
   Local HY%
   Local HTyp%
   
   ;Reihenfolge der Waffen: Pistole, MP, Schrot, Mg, Laser, Magnum
   
   SaveDatei = WriteFile("save\"+ DateiName$ +".psv") ;In dieser Reihe soll er die Datei neu erstellen


Ich hab die Befürchtung, dass es ein total blöder Fehler ist.

Lg, M0rgenstern

mpmxyz

Betreff: Mehrere Fragen und Anregungen...

BeitragSa, Nov 21, 2009 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie ist der Wert von "SaveDatei"?
Wenn der Wert von "SaveDatei" 0 ist, dann kann das Programm die Datei nicht schreiben und es gibt Fehler, da 0 kein gültiger Stream-Handle ist.
Existiert der Ordner "save" schon?

Warum nutzt du nicht den Debugger (F9 statt F5), um die genaue Stelle zu finden?

Vielleicht hast du einen Schreibfehler drin.
Falls du das Syntax-Highlighting noch nicht auf "strict" gestellt hast, fällt der nicht so schnell auf.

In dem von dir gezeigten Code scheint der/die/das MAV jedenfalls nicht zu stecken...

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Holzchopf

Meisterpacker

BeitragSa, Nov 21, 2009 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler liegt in der Eingaberoutine:
1. Nicht alle keycodes <> 0 anfügen, sondern nur die => 32. Denn sonst kann man auch Tabulatoren (und Enter *hust*) eingeben Arrow ungültige Zeichen in Dateinamen
2. Wenn du 1. umgesetzt hast, musst du dann beim löschen auch nur 1 Zeichen wieder wegnehmen.
3. Die Bestätigung (Druck auf Enter) würde ich mit key=13 prüfen, nicht über den Scancode (erst recht nicht mit KeyDown)

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

M0rgenstern

BeitragSo, Nov 22, 2009 0:45
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Holzchopf.
Danke jetzt funktionierts.
Wahrscheinlich hat der mein Enter jedesmal noch übernommen.

@mpmxyz:

Wenn ich F9 drücke, dann zeigt er mir folgende Meldung an:
"Startup Error: graphics_create failed"
Er startet das Programm erst gar nicht. Woran kann das denn liegen?


Vielen Dank nochmal.

Lg, M0rgenstern

mpmxyz

Betreff: "Startup Error: graphics_create failed"

BeitragSo, Nov 22, 2009 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Was für Parameterwerte hast du denn bei dem Graphics-Befehl?
Mit Debugger wird nämlich der Fenstermodus genutzt, wenn der Graphics-Modus nicht angegeben wurde.
Sonst sollte es aber eigentlich keine Probleme mit dem Debug-Modus geben...
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

M0rgenstern

BeitragSo, Nov 22, 2009 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, Graphikmodus:

Code: [AUSKLAPPEN]
Graphics3D 1024,768,0,1


Aber dann noch:

Code: [AUSKLAPPEN]
DrawInit3D(Camera)
Origin3D(1024,768)


Liegts vllt dadran? Also, ich nutze Draw3D.

Lg, M0rgenstern

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group