write

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

blitz

Betreff: write

BeitragSa, Dez 25, 2004 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo
ich habe ein problem:
ich möchte einen speicherstand schreiben:
es gehört hinein (in eine Datei!!!):
X . . . X-Koordinate
Y . . . Y-Koordinate
L . . . Level (in welchem man sich befindet)
A . . . Für den Fortschritt im Level (habs so aufgebaut: wenn man gesprochen hat, dann A=1 usw)
ich krigs einfach nicht hin. habs mitwriteint() usw versucht. bitte um ein kl. beispielprogramm zum auslesen und schreiben.
danke schon jetzt,
mfg
blitz
 

azureuz

BeitragSa, Dez 25, 2004 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schreib gerade ein adressbuch....hier mal das einlesen und auslesen:

SPEICHERN:Code: [AUSKLAPPEN]


Function einlesen()
      Cls
      Locate 0,0
      vorname$=Input("Bitte Vorame eingeben: ")
      Cls
      Locate 0,0
      name$=Input("Bitte Nachname eingeben: ")
      Cls
      Locate 0,0
      adresse$=Input("Bitte Adresse eingeben: ")
      Cls
      Locate 0,0
      wohnort$=Input("Bitte Wohnort eingeben: ")
      Cls
      Locate 0,0
      tel$=Input("Bitte Telefonnummer eingeben: ")
      Cls
      Locate 0,0
      email$=Input("Bitte eMail Adresse eingeben: ")
      Cls
      Locate 0,0
         datei=WriteFile("adressen.az") ;es wird ne neue datei gemacht namens adressen. das ".az" ist meine eigene endung. schreib irgenwas hin.
         WriteLine datei,vorname$ ;aber hier werden alle variabeln die oben eingegebn wurden gespeichert.
         WriteLine datei,name$
         WriteLine datei,adresse$
         WriteLine datei,wohnort$
         WriteLine datei,tel$
         WriteLine datei,email$
         CloseFile datei ;datei wird wieder geschlossen.
         Print "Daten erfolgreich gespeichert! Bitte Enter Drücken um in das Menü zurück zu kehren..."
         WaitKey()
         If KeyHit(28) Then
         menue()
         End If
   End Function


Auslesen:Code: [AUSKLAPPEN]


   Function auslesen()
      Cls
      Locate 0,0
      datei=ReadFile("adressen.az") ;datei wird geöffnet
      vorname$=ReadLine(datei) ;daten werden ausgelesen
      name$=ReadLine(datei)
      adresse$=ReadLine(datei)
      wohnort$=ReadLine(datei)
      tel$=ReadLine(datei)
      email$=ReadLine(datei)
      CloseFile datei ;datei wird geschlossen.
      Print "Vorname: "+vorname$ ;daten werden ausgegeben.
      Locate 0,15
      Print "Name: "+name$
      Locate 0,30
      Print "Adresse: "+adresse$
      Locate 0,45
      Print "Wohnort: "+wohnort$
      Locate 0,60
      Print "Telefonnummer: "+tel$
      Locate 0,75
      Print "Email Adresse: "+email$
      Locate 0,105
      Print "Bitte Enter drücken um in das Menü zurück zu kehren..."
      WaitKey()
      If KeyHit(28) Then
      menue()
      End If
   End Function


ich hoffe das hilft dir weiter ^^ wenn nicht, guck hier:

https://www.blitzforum.de/viewtopic.php?t=6262
 

blitz

BeitragSa, Dez 25, 2004 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
nett gemeint, aber ich muss leider zahlen speichern.
und ob das nicht genug sei, weiß ich auch nicht welchen stellenwert sie haben. (X kann 65 oder 194 oder 5 sein)
danke trotzdem
 

azureuz

BeitragSa, Dez 25, 2004 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wo sit das problem? du kannst doch speichern was du willst?

Code: [AUSKLAPPEN]
Function speichern()
   datei = WriteFile("save.txt")
   WriteFloat datei,x
   WriteFloat datei,y
   CloseFile datei
End Function


das speichert nun x und y in der datei.

Code: [AUSKLAPPEN]
Function laden()
   datei = ReadFile("datei.txt")
   x = ReadFloat(datei)
   y = ReadFloat(datei)
   CloseFile datei
End Function


und das lädt das wieder.

Hubsi

BeitragSa, Dez 25, 2004 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Kleines Beispiel:Code: [AUSKLAPPEN]
; Schreiben

file=WriteFile("datei.xyz")
WriteShort(file,x)
WriteShort(file,y)
WriteByte(file,level)
WriteByte(file,a)
CloseFile file

; Lesen

file=ReadFile("datei.xyz")
x=ReadShort(file)
y=ReadShort(file)
level=ReadByte(file)
a=ReadByte(file)
CloseFile file
Entsprechend dem Wert den die Variable max. annehmen kann wählst Du aus WriteByte (bis 255), WriteShort (bis 65535) oder WriteInt (bis etwas über 4 Mrd.). Entsprechend dazu passt Du auch die Lesebefehle an und fertig Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Dez 25, 2004 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier noch eins mit test Code: [AUSKLAPPEN]
Global a,b,c,d
a= 10:b=20:c=30:d=40

SaveSpielstand()
Print A +" " +A+" " +B+" " + c+" " + D
a= 0:b=0:c=0:d=0

Print A +" " +A+" " +B+" " + c+" " + D
LoadSpielstand()
Print A +" " +A+" " +B+" " + c+" " + D
WaitKey()

Function LoadSpielstand()
    dat = ReadFile("Spielstand.sp1")
    If dat = 0 Then RuntimeError "Kein Spielstand vorhanden"
       a=  ReadByte (dat)
       b=  ReadByte (dat)
       c=  ReadByte (dat)
       d=  ReadByte (dat)
    CloseFile dat
End Function

Function SaveSpielstand()
    dat = WriteFile("Spielstand.sp1")
   
    WriteByte dat,a
    WriteByte dat,b
    WriteByte dat,c
    WriteByte dat,d
   
    CloseFile dat
End Function
[BB2D | BB3D | BB+]
 

blitz

BeitragSa, Dez 25, 2004 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
danke
 

blitz

BeitragSa, Dez 25, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hab noch ein problem mit dem level:
ich möchte nicht diese elendlangen zeilen schrieben:
if l=1 then goto level1 ;l steht für level
if l=2 then goto level2
.
.
.


kann man das nicht so schreiben?:

goto level+l ;bei mir kommt eine fehlermeldung:
expecting end of file
 

blitz

BeitragSa, Dez 25, 2004 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
hättes jetzt mit noch was blöderem versucht, funktioniert einfach nicht

Ebola33

BeitragMo, Dez 27, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
schau dir mal select und case an;-)
oder benutz ne schleife.
und lass die sprungmarken weg....goto ist nicht sehr elegant.
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

fanta@Kacke_am_Dampfen

BeitragMo, Dez 27, 2004 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach das einfach so:
Code: [AUSKLAPPEN]


SetBuffer Backbuffer()

Repeat
Cls

Select level

Case 1
... (Code für Level 1)
Case 2
... (Code für Level 2)
Case 3
... (Code für Level 3)

end select

Flip
Until Keyhit(1)
End


so ist das Problem gelöst und du brauchst kein goto.
Isch glaub ich das was auch ebola33 gemeint hat.
 

hot-bit

Gast

BeitragMo, Dez 27, 2004 18:16
Antworten mit Zitat
Hoi.

Und für was haben wir die Beginner-Sektion ?

*grübeltübereinpaardummiesnach*

Toni

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group