Angehängte Types

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hubsi

Betreff: Angehängte Types

BeitragSo, Feb 21, 2010 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo beisammen.

Ich möchte eine unbestimmte Anzahl Daten in folgender Form speichern:

Code: [AUSKLAPPEN]
- Datenblock Nr. 1
  - diverse Daten
  - diverse Daten

- Datenblock Nr. 2
  - diverse Daten
  - diverse Daten
  - diverse Daten
  - diverse Daten

- usw.


Unbestimmte Anzahl -> Types, dachte ich mir. Problem ist dabei, es werden alle Daten vom Typ "diverse Daten" ausgespuckt, egal welchen "Datenblock" ich eigentlich filtere. Ich hab dazu die Types aus dem Projekt rauskopiert und ein bisschen Ausgabe drumrumgebastelt um das eine oder andere zu probieren, wirklich was rauskommen tut aber nicht:

BlitzBasic: [AUSKLAPPEN]
Type action
Field nr,e.exec_action,sound
End Type

Type exec_action
Field x,y,tile_new,layer
End Type

Local a.action,e.exec_action

a.action=New action
a\nr=10
a\e.exec_action=New exec_action
a\e\x=1001
a\e.exec_action=New exec_action
a\e\x=1002
a\e.exec_action=New exec_action
a\e\x=1003

a.action=New action
a\nr=20
a\e.exec_action=New exec_action
a\e\x=2001
a\e.exec_action=New exec_action
a\e\x=2002
a\e.exec_action=New exec_action
a\e\x=2003

For a.action=Each action
If a\nr=20 Then
For a\e.exec_action=Each exec_action
Print a\e\x
Next
EndIf
Next

WaitKey()
End


Meine Erwartung wäre gewesen nur die Werte 2001, 2002 und 2003 ausgegeben zu bekommen. Inzwischen leuchtet es mir schon ein warum alle Werte kommen und in allerletzter Not hätte ich noch eine andere Lösung, aber eleganter und Speicherschonender wäre obiges.
Meine Frage nach dem ganzen Geschwafel ist jetzt ob vielleicht jemand eine Idee / Lösung hat um den Kram nach Soll-Schema zu speichern?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Xeres

Moderator

BeitragSo, Feb 21, 2010 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Anders herum verbinden:
BlitzBasic: [AUSKLAPPEN]
Type action
Field nr,sound
End Type

Type exec_action
Field x,y,tile_new,layer, a.action
End Type

Local a.action, e.exec_action

a.action=New action
a\nr=10
e.exec_action=New exec_action
e\x=1001
e\a = a
e.exec_action=New exec_action
e\x=1002
e\a = a
e.exec_action=New exec_action
e\x=1003
e\a = a

a.action=New action
a\nr=20
e.exec_action=New exec_action
e\x=2001
e\a = a
e.exec_action=New exec_action
e\x=2002
e\a = a
e.exec_action=New exec_action
e\x=2003
e\a = a

For a.action = Each action
For e.exec_action = Each exec_action
If e\a = a Then Print "NR: "+a\nr+" x:"+e\x
Next
Next

WaitKey()
End
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)

Hubsi

BeitragSo, Feb 21, 2010 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erstmal. Ist jetzt nicht ganz das was ich meinte, denn auch so muß ich zum action-Type auch den exec_action komplett durchsuchen, aber danke für Deine Mühen.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Xeres

Moderator

BeitragSo, Feb 21, 2010 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Anders ist es mit BlitzBasic auch prinzipiell nicht möglich Wink
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)

Hubsi

BeitragSo, Feb 21, 2010 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun gut, dann muß ich mich wohl oder übel damit abfinden Mr. Green
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

aMul

Sieger des Minimalist Compo 01/13

BeitragMo, Feb 22, 2010 2:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss dir widersprechen, Xeres.
Es gibt durchaus verschiedene Ansätze, um dieses Problem zu umgehen. Ich persönlich benutze in der Regel diesen hier.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Xeres

Moderator

BeitragMo, Feb 22, 2010 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessanter Hinweis, danke aMul!
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 Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group