WriteFile - Write Line - Read Line

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

drmccoy

Betreff: WriteFile - Write Line - Read Line

BeitragFr, Dez 28, 2007 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ich sitze gerade an einer einfachen Highscore funktion mit 5 Werten und dazugehörigen Namen in der HS. DAs ganze wird in einer .dat datei gespeichert. Allerdings funktioniert es nicht so ganz wie ich mir das vorstelle ^^

Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()


;fileOutGen=WriteFile("mydata.dat")
;WriteLine(fileOutGen,1000)
;WriteLine(fileOutGen,"Klaus")
;WriteLine(fileOutGen,500)
;WriteLine(fileOutGen,"Hubert")
;Print "Files have been written"
;CloseFile(fileOutGen)

;WaitKey()

fileInGen=ReadFile("mydata.dat")
line1=ReadLine$(fileInGen)
line2$=ReadLine$(fileInGen)
line3=ReadLine$(fileInGen)
line4$=ReadLine$(fileInGen)
Print line1
Print line2$
Print line3
Print line4$
CloseFile(fileInGen)

WaitKey()

newVal=Input$("Neuer Wert: ")

WaitKey()

If newVal>Line1
   Print "New highschore!"
   newName$=Input("Enter Name: ")
   fileOutGen=OpenFile("mydata.dat")
   WriteLine(fileOutGen,newVal)
   WriteLine(fileOutGen,newName)
   CloseFile(fileOutGen)
   Print "New Files have been written"
ElseIf newVal>Line3
   Print "New highschore!"
   newName$=Input("Enter Name: ")
   fileOutGen=OpenFile("mydata.dat")
   ReadLine(fileOutGen)
   ReadLine$(fileOutGen)
   WriteLine(fileOutGen,newVal)
   WriteLine(fileOutGen,newName)
   CloseFile(fileOutGen)
   Print "New Files have been written"

Else
   Print "No new Files availible"
EndIf

WaitKey()
End


Aber anstatt die entsprechenden Zeilen einfach mit den Werten zu überschreiben, schreibt er seltsame Hyroglyphen dazu oder löscht nicht dazugehörige Zeilen ganz.
Wie darf ich das verstehen??? Rolling Eyes

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Dez 28, 2007 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Writeline schreibt wahrscheinlich eine unterschiedliche Anzahl von Zeichen in die Datei.

Normalerweise wird eine Highscore komplett geladen, dann sortiert und wieder komplett abgespeichert. Das ist immer das einfachste.
[BB2D | BB3D | BB+]
 

drmccoy

BeitragFr, Dez 28, 2007 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahja, und wie mache ich das?
Also, als was würdest du die Namen und Werte speichern, wenn nicht in Lines? Ich schätze mal Ints und Strings? Aber wie lasse ich das Programm dann die Namen zu den zugehörigen Zahlen ordnen?
 

0penguin0

BeitragFr, Dez 28, 2007 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
versuch mal, auch die int-werte als string in die datei zu schreiben.

Code: [AUSKLAPPEN]

WriteLine(fileOutGen,"1000")
i never finish anyth
 

drmccoy

BeitragFr, Dez 28, 2007 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine Änderung.
Sobald ich einen höheren Wert eingebe und den ändere, ändert sich:

1000
Klaus
500
Hubert

in zB:


1200
neuer Name
0
500

???
Mit einem Wert und einem Namen gehts ja, aber sobald eben Zeilen übersprungen werden müssen versteh ichs nicht mehr ^^
 

drmccoy

BeitragFr, Dez 28, 2007 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
arrrhrhrhrhrhrhr, hat sich erledigt. Wenn ich den ganzen highscore einfach nochmal neu schreibe funktioniert es brilliant, ich nehme an, das war auch das was Rallimen vorhin gemeint hat ,
danke nochmal =]

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group