Seite 1 von 1
Strukturen als Wort-String
Verfasst: 29.03.2007 16:07
von D4uS1
Ich würde gerne ein Register programmieren um Name, Bewertung, usw. abzuspeichern. Nun habe ich mir dazu mit linked lists verholfen und eigene Strukturen dazu erstellt. Wenn ich nun allerdings mittels keyboardinkey den Namen eingeben möchte, verlangt PB nach einem String. Dies habe ich wie unten gleich zu sehen wird gemacht, doch nun wird meine Struktur nicht mehr erlkannt, kann mir jemand helfen und mir sagen was daran falsch ist?
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(1024, 768, 16, "Filmregister")
Structure Film
Name.s
Schauspieler.w
Bewertung.w
EndStructure
Newlist Film.film
Repeat
ExamineKeyboard()
StartDrawing(ScreenOutput())
Drawtext(10, 10, Film()\Name$, 0)
StopDrawing()
FlipBuffers()
Film()\Name$ + KeyboardInkey()
until keyboardpushed(1)
Der gesamte Code ist natürlich länger, ich habe nur die notwendigen Sachen hier eingefügt.
Verfasst: 29.03.2007 16:15
von Thalius
Tip:
Zur Sauberkeit und um fehler zu vermeiden solltest Du deine Strukturen anders benennen als die variablen / Listen welche die Struct benutzen.
zb.
Code: Alles auswählen
Structure s_Film
Name.s
Schauspieler.w
Bewertung.w
EndStructure
Newlist syntax ist:
Da deine FilmList schon strukturiert ist, sind typenzuweisungen beim Zugriff darauf unzulässig - sind ja schon in der struct definiert.
Code: Alles auswählen
Film()\Name$ + KeyboardInkey() <-- iss zwar n string aber iss ja oben schon definiert
zu:
Film()\Name + KeyboardInkey()
Thalius
Verfasst: 29.03.2007 16:27
von D4uS1
Ich depp, natürlich, thx!
hab jetzt einfach alle mit .s strukturiert, danke!
Verfasst: 29.03.2007 16:36
von Thalius
Code: Alles auswählen
Structure struct_Film
Name.s ; String .s Definiert hier
Schauspieler.w
Bewertung.w
EndStructure
Code: Alles auswählen
Film.struct_Film ; Weist Film ( mit newlist der liste... ) die Struktur struct_Film zu.
Film()\Name = "abc" ; hier muss weder ein .s noch ein $ hin .. :) Du definierst ja oben die structure und hast da .s ( sting) bei name.
Verschachtelt geht auch:
Code: Alles auswählen
Structure struct_Schauspieler
id.l
Name.s
Adresse.s
Geburtstag.l
; ...
EndStructure
Structure struct_Film
Name.s ; String .s Definiert hier
Schauspieler.struct_Schauspieler
Bewertung.w
EndStructure
FilmDatenbank.struct_Film
; Beispiel
FilmDatenbank\Name = "Knight Rider"
FilmDatenbank\Schauspieler\id = 01
FilmDatenbank\Schauspieler\Name = "David Hasselhoff"
FilmDatenbank\Schauspieler\Adresse = "Schrottplatz No. 4"
; ...
FilmDatenbank
-> Name
-> Schauspieler
----> id
----> Name
----> Adresse
----> Geburtstag
-> Bewertung
Thalius