Save Programm

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Raiden93

Betreff: Save Programm

BeitragDo, Sep 02, 2010 6:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe mich mal mit dem Speichern beschäftigt.
Ich habe ein Test Programm geschrieben wo ich mit bestimmte tasten meinen Timer Speichern und Laden kann.
Die Info dazu habe ich in meinem Buch nachgeschlagen.
Nur musste ich es ein wenig umdenken da das buch mir nicht zeigt wie ich etwas speichere sondern nur wie ich etwas in Dateien schreibe oder lese.

Jetzt habe ich mir ein kleinen Code geschrieben nur zeigt er an das Data nur in einem Main Programm geht?
könntet ihr mir Freundlicher weise weiter helfen ?
Code: [AUSKLAPPEN]
;TESTPROGRAMM
Graphics 800,600,32,2
SetBuffer BackBuffer()

Global Timer = 1
Global ps
Global datei$

Repeat
   
    Timer_Plus()
    Text 200,200,Timer
   
   
Flip
Cls
Until KeyHit(1)

Function ReadTxt()
   If KeyHit(38) Then
       datei = ReadFile("test.txt")
        Text 60,60, ReadShort(datei)
        CloseFile datei
      Text 50,50, "Datei wurde geladen"
    End If
End Function

Function WriteTxT()
   If KeyHit(31) Then
      Data Timer
      datei = WriteFile("test.txt")
      Read Timer
      WriteShort datei, Timer
        CloseFile datei
        Text 50,50, "Datei wurde gespeichert"
   End If
End Function

Function Timer_Plus()
   If MilliSecs()>ps+1000
      ps=MilliSecs()
      Timer = Timer +1
   End If
End Function

M0rgenstern

BeitragDo, Sep 02, 2010 7:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo raiden.
Der fehler bedeutet einfach, dass du data nicht innerhalb einer funktion benutzen darfst.

Nebenbei: erklär mir doch bitte mal den unterschied zwischen
-ein spiel speichern
Und
-etwas in eine datei schreiben

Wegen dem speichern: machs dir nicht so kompliziert. Dein timer ist ein integer. Du kannst ihn mit writeint speichern und mit readint auslesen.
Wenn du damit jetzt nicht viel anfangen kannst, dann könntest du ENDLICH MAL DIE FORENSUCHE BENUTZEN! Wie oft muss man dir das noch sagen? Da könnt ich platzen... Soll jetzt kein flame sein.

Lg, m0rgenstern
 

Sterbendes Lüftlein

BeitragDo, Sep 02, 2010 9:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Xeres

Moderator

BeitragDo, Sep 02, 2010 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Vergiss die Befehle Data, Read, Restore. Die brauchst du nicht wenn du mit Dateien arbeitest.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Raiden93

BeitragDo, Sep 02, 2010 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
M0rgenstern wenn du keine lust hast anderen zu Helfen dann klick nicht erst auf meine Fragen oder auf sonst irgendwelche Fragen du nervst mich um ehrlich zu sein und nicht ich dich.
Und um es genauer aus zu drücken ich finde deine Kommentare lächerlich oder noch besser ich Find dich lächerlich.Wer nicht fragt bleibt dumm!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Sep 02, 2010 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
M0rgenstern hat dir geholfen, falls du seine Tipps überlesen haben solltest.

Ansonsten könntest du - da du dich anscheinend als ''der nette rechthabene'' profilieren willst - auch auf die anderen Hilfen eingehen. Es nervt im übrigen auch, wenn man anderen Hilft und dann komplett ignoriert wird. Man also selbst nicht weiß, ob man einer Person helfen konnte, da es wie in deinem letzten Beitrag unbeantwortet bleibt.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Raiden93

BeitragDo, Sep 02, 2010 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
ich fand es ja auch ganz nett das er mir geholfen kann aber was er darunter geschrieben hat.Hätte er sich auch sparen können.Denn ich möchte geholfen werden und nicht Kritisiert werden.

Danke morgenstern.

An alle die auch wissen wollen wie mann Zahlen speichert und wieder läd hier mein Code:
Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()

Global Punkte
Global TS

;Hauptschleife
Repeat
Timer()

If KeyHit(38)
    Laden()
End If
If KeyHit(31)
    Speichern()
End If


Text 400,300, "Punkte: " +Punkte;Hier werden die Punkte dargestellt

Flip
Cls
Until KeyHit(1)


Function Timer()
    If MilliSecs()>=TS+1000
      TS=MilliSecs()
      Punkte = Punkte +1
   EndIf
End Function


Function Speichern()
  fileout = WriteFile ("Save.dat")
  WriteInt fileout,Punkte
  CloseFile fileout
End Function

Function Laden()
  filein = ReadFile ("Save.dat")
  Punkte = ReadInt (filein)
  CloseFile filein
End Function

M0rgenstern

BeitragDo, Sep 02, 2010 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Also.
Okay, ich war heute morgen müde, von daher war das vielleicht ein wenig grob. Für meine Grobheit möchte ich mich entschuldigen. Aber die Aussage an sich stimmt.
Du wurdest in vielen vorherigen deiner Threads darauf angewiesen, dass es Google oder die Forensuche gibt.
Wenn man mal eine bestimmte Technick nicht kennt ist das die eine Sache. Aber wenn ich im Forum nach "Datei speichern" oder "Speichern" oder "Spielstand" suche, dann bekomme ich richtig viele Ergebnisse. Da muss man sich halt manchmal ein wenig durchsuchen.
Desweiteren habe ich absolut kein Problem damit egal wem in diesem Forum zu helfen. Jedoch: Ein solches Hobby wie die Spieleprogrammierung kann nur dann gelingen, wenn man genug Eigeninitiative zeigt. Sich immer alles von anderen vorkauen lassen oder mal nicht selbst nach irgendwas zu suchen ist somit absolut unpassend. Außerdem sammeln sich hier mit der Zeit 20 Beiträge über die immer gleichen Themen an wo immer wieder alles durchgekaut wird. Da sollte es doch jemandem möglich sein, mal danach zu suchen.
Zu deiner Aussage, dass du meine Kommentare bzw mich lächerlich finden würdest: Welche meiner KommentarE (da es ja plural ist) meinst du denn genau? Außerdem: Was genau macht mich denn lächerlich?
Klar, wer nicht fragt bleibt dumm... Aber ich finde man sollte eine leichte autodidaktische Veranlagung beim Thema Spieleprogrammierung haben. Dazu gehört auch selbst suchen.

Das alles war kein persönlicher Angriff gegen dich, es geht nur drum, dass viele Leute nicht fähig zu sein scheinen die Forensuche zu nutzen.

Nebenbei: Das laden und speichern von dir funktioniert doch schon ganz gut, wenn ich mir den Code so ansehe. Aber wenns dich interessiert: Ich werde mich heute Mittag sowieso noch an ein Tutorial setzen in dem ich beschreibe, wie man aus Dateinamen Infos liest und diese dann in eine INI Datei schreibt bzw aus der INI Datei entsprechende Bilder mit INfos läd.

Lg, M0rgenstern

Starwar

BeitragDo, Sep 02, 2010 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Raiden93 hat Folgendes geschrieben:
ich fand es ja auch ganz nett das er mir geholfen kann aber was er darunter geschrieben hat.Hätte er sich auch sparen können.Denn ich möchte geholfen werden und nicht Kritisiert werden.

Kritik gehört zum Helfen dazu.

@TOPIC
Ich möchte dich darauf hinweisen, dass der Rückgabewert von CreateTimer ein Handle zurückliefert. Sozusagen die Adresse zum Timer. Dieses Handle ist bringt dir ab dem Neustart des Programms nichts mehr, da die Handles nur für die aktuelle Instanz gültig sind.
Du solltest eher den aktuellen TickCount speichern.
MFG

Raiden93

BeitragDo, Sep 02, 2010 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay ich geb ja mal zu das ich ein wenig nerve aber ich wollte ja eigentlich wissen ob mein Code soweit richtig ist.Weil wenn ich jetzt etwas falsch mache und mir das merke oder sogar weiterhin denke das es richtig ist mache ich es in Zukunft auch falsch.

Xeres

Moderator

BeitragDo, Sep 02, 2010 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Prinzipiell richtig, vor dem laden wäre eine Sicherheitsabfrage mittels Filetype ganz nützlich.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group