Loadgame() Stream does not exist

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

mavi

Betreff: Loadgame() Stream does not exist

BeitragMo, Mai 11, 2009 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
;====LADEFUNKTION=========
savegame1 = OpenFile("savegame1.sav")
name$ = ReadString(savegame1)
Text 210,185, name$

savegame2 = OpenFile("savegame2.sav")
name$ = ReadString(savegame2)
Text 210,235, name$

savegame3 = OpenFile("savegame3.sav")
name$ = ReadString(savegame3)
Text 210,285, name$

savegame4 = OpenFile("savegame4.sav")
name$ = ReadString(savegame4)
Text 210,335, name$

savegame5 = OpenFile("savegame5.sav")
name$ = ReadString(savegame5)
Text 210,385, name$

End Function


Hier seht ihr meinen Code ich erklär ihn kurz. Jedes mal wird aus einer Datei ein name ausgelesen, ich habe ein menu mit pfeiltasten wenn ich einmal hoch und dann ein 2.mal über eine bestimmte stelle fahre kommt "Stream does not exist"??? 1. SChreibt er mir doch die namen der dateien, wenn er das programm läd doch dahin und aufeinmal existiert ein stream nicht mehr? Logisch NICHT Very Happy


Code: [AUSKLAPPEN]
Function charakteranzeige()
Rect 200,180,200,250, 0
Rect 200,cursor,200,50,0

If KeyHit(200) Then ;oben
   cursor = cursor - 50
EndIf

If KeyHit(208) Then ;unten
   cursor = cursor + 50
EndIf

If cursor = 130 Then
   cursor = 180
EndIf

If cursor = 430 Then
   cursor = 380
EndIf

EPS

BeitragMo, Mai 11, 2009 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du rufst OpenFile innnerhalb einer Funktion auf. Ich gehe mal davon aus das du diese Funktion mehrmals aufrufst (Bei Cursorbewegung im Menü).

Schließ die Datei(en) doch mal innerhalb der Funktion wieder (CloseFile), sonst versucht die Funktion ein und die selbe Datei mehrmals für einen Schreib-, Lesezugriff zu öffnen und das führt beim 2. Versuch dazu das kein gültiger Stream Handle zurück gegeben wird.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

mavi

BeitragMo, Mai 11, 2009 10:46
Antworten mit Zitat
Benutzer-Profile anzeigen
danke funktionieret perfekt Smile

very thx

ozzi789

BeitragMo, Mai 11, 2009 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
;====LADEFUNKTION=========

Dim name$(5)

namey=185



For i= 1 To 5
savegame = OpenFile("savegame"+i+".sav")
name$(i) = ReadString(savegame)
Text 210,namey, name$(i)
namey=namey+50

End Function


Etwas eleganter Wink
mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

mavi

BeitragMo, Mai 11, 2009 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ozzi789 hat Folgendes geschrieben:
Code: [AUSKLAPPEN]
;====LADEFUNKTION=========

Dim name$(5)

namey=185



For i= 1 To 5
savegame = OpenFile("savegame"+i+".sav")
name$(i) = ReadString(savegame)
Text 210,namey, name$(i)
namey=namey+50

End Function


Etwas eleganter Wink
mfg



Das wird nicht funktionieren, weil ich das in ner Repeatschleife eingebaut habe, dann würde es einmal erscheinen. Razz

ozzi789

BeitragMo, Mai 11, 2009 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Zitiere keine ganzen Beiträge, das mögen die Mods nicht Wink
2. Ehm was?
Du liest das Zeug nur einmal ein danach kannst du einfach alles per For Next in deinem Dim ausgeben
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

mavi

BeitragMo, Mai 11, 2009 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ja aber in ich hab das ausm programm rauskopiert ;P
Du kannst das ja nicht wissen das ich das rauskopiert hab ;D

ozzi789

BeitragMo, Mai 11, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Was auch immer, ich steh voll auf dem Schlauch Very Happy
Solange es funktioniert

mfg ozzi Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

mavi

BeitragDi, Mai 12, 2009 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ihrs Razz

ich hab mal wieder ein Problem Very Happy
und zwar
Lese ich in einer Schleife 5 Dateien ein und möchte Sie an anderer Stelle wieder ausgeben. Klingt einfach ist es aber nicht


Vor der Schleife werden alle Dateien geladen:
Code: [AUSKLAPPEN]
Function laden()
   For i = 1 To 5
      Select i
         Case 1
            name1$ = namex$
         Case 2
            name2$ = namex$
         Case 3
            name3$ = namex$
         Case 4
            name4$ = namex$
         Case 5
            name5$ = namex$
      End Select
      
      
      save = OpenFile("savegame" + i + ".sav")
      namex$ = ReadLine(save)
      CloseFile save
      
   Next
End Function


Hier werden sie als Text dargestellt: Code: [AUSKLAPPEN]
mmy = 180
   For i = 1 To 5
      Select i
         Case 1
            namex$ = name1$
         Case 2
            namex$ = name2$
         Case 3
            namex$ = name3$
         Case 4
            namex$ = name4$
         Case 5
            namex$ = name5$
      End Select
      Text 200,mmy,namex$
      mmy = mmy + 50
   Next


Dabei kommt dann bei 5 Files sowas bei raus: Very Happy
user posted image



PS.: Ich weiß das es mit DIM realisierbar ist, aber ich mache es nicht grundlos so.

Smily

BeitragDi, Mai 12, 2009 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
PS.: Ich weiß das es mit DIM realisierbar ist, aber ich mache es nicht grundlos so.


Ich sehe keinen Grund, wieso man auf DIMs verzichten sollte.

Grüße,
Smily
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

mavi

BeitragDi, Mai 12, 2009 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil mir viele Leute dim empfohlen haben mir sogar einen Code geschickt haben, der funktionieren sollte, aber Very Happy nix is ich hab mich gestern mit dim 3 stunden aufgehalten =D ich bin fast ausgerastet =P wenn du mir helfen kannst und willst es zu realisieren =D
das wäre nett.

aber kannst du mir einfach nur erklären warum Ganz oben eine datei fehlt in alleine dateien savegame1-5.sav steht "No savegame" drin
in dem beispiel steht im 2. george aber egal was ich eingebe es will nicht.


https://www.blitzforum.de/uplo...?show=1534

BladeRunner

Moderator

BeitragDi, Mai 12, 2009 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann Dir nur dringendst ans Herz legen ein paar Stunden in Dim zu investieren bis Du es verstanden hast. So wie du es jetzt machst wirst Du den Code binnen Tagen nicht mal mehr im Ansatz überblicken.

Also nimm dir die Zeit und lerne.

Ich für meinen Teil werde so ein Codegewurschtel nicht durch Hilfestellungen unterstützen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

mavi

BeitragDi, Mai 12, 2009 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es einfach aufgegeben, weil ich 34x den code umgeschrieben habe. DIM hin und her...

Zitat:
aber wenn man sich zufein ist....sollte man auch auf liegende personen eintreten



danke trotzdem Smile

BladeRunner

Moderator

BeitragDi, Mai 12, 2009 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer tritt hier auf liegende Personen ein? DIM ist ein grundlegender Bestandteil vernünftiger Datenverwaltung. Wenn Du Programme schreiben willst die mehr als nur 10 -Zeiler mit sehr begrenzter Funktion sind wirst Du dich damit intensiv befassen müssen. Die Onlinehilfe ist ein erster Schritt in die Richtung.
Programmieren ist nunmal teils recht schwere Geistesarbeit, also erwarte bitte nicht dass dir alles in den Schoss fält.
Ich hab auch schon so manche funktion dutzende Male revidiert.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Smily

BeitragDi, Mai 12, 2009 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
mal ganz kurz und knackig:

Code: [AUSKLAPPEN]
dim name$(5)

readNames()
printNames()

function readNames()
     for x = 0 to 4
          name(x) = "TollerName"+x
     next
end function

function printNames()
     for x = 0 to 4
          print "platz"+(x+1)+": " + name(x)
     next
end function

Die funktionen sind natürlich nur stubs. Wie das funktioniert sollte aber klar sein.

Grüße,
Smily
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

mavi

BeitragDi, Mai 12, 2009 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
also blade, ich danke dir, du hast natürlich vollkommen recht Very Happy ich sitze halt schon stunden hier dran ich möchte einfach nicht aufgebne so probiere ich alles zu umschreiben etc....

aber ich habe das jetzt mal mit DIM gemacht, aber leider kommt eine Fehlermeldung:
"Function name not found"


Code: [AUSKLAPPEN]
Function laden()
   For i = 1 To 5
      save = OpenFile("savegame" + i + ".sav")
      [b]name$(i) = ReadLine(save)[/b]
      CloseFile save
   Next
End Function


Code: [AUSKLAPPEN]
mmy = 185
   For i = 1 To 5
      Text 210,185, name$(i)
      mmy = mmy + 50
   Next

Smily

BeitragDi, Mai 12, 2009 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du das Dim-Feld denn korrekt deklariert, wie es in der Onlinehilfe beschrieben steht?
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

mavi

BeitragDi, Mai 12, 2009 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin so ein Depp habs mit savename$(5) deklarier und was steht in der schleife name$(i) Very HappyVery HappyVery Happy
ES FUNTKIONIERT ic hdanke dir blade und smiley hättest du mich nicht so angepflaumt Very Happy wäre ich garnicht so weit gekommen GEILE MEILE ich bin fertig =D

*freuden tanz* thread kann geclosed werden ;D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group