Types in Datei speichern...

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Alfadur

Betreff: Types in Datei speichern...

BeitragSa, Jan 30, 2010 3:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

wollte mal nachfragen ob und wie man ein komplettes Objekt in eine Datei schreiben kann ... also ohne jeden int und jeden string meines Objekts einzeln speichern zu müssen ...
Ich glaub bei Pascal ging das damals...

Ich hab mal so versucht folgt ...

Code: [AUSKLAPPEN]

         Local file:TStream = WriteStream("save1.dat")
         Local mapptr:Byte Ptr = Varptr map
         file.Write(mapptr, SizeOf(map))


aber da kommt nix gutes bei raus ... auch mit writebytes klappts nicht so richtig.

FireballFlame

BeitragSa, Jan 30, 2010 5:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht hilft dir das hier weiter?
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

BtbN

BeitragSa, Jan 30, 2010 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Dort beworbene Modul scheint nirgendwo mehr zu existieren.

Xeres

Moderator

BeitragSa, Jan 30, 2010 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dem Reflection Modul kann man das sicher machen.
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)

Firstdeathmaker

BeitragSa, Jan 30, 2010 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem beim kompletten Objekt abspeichern sind die Pointer auf andere Objekte. Woher soll ein Algorithmus (z.B. über Reflection implementiert) wissen, welche Daten abgespeichert werden sollen und welche nicht? Entweder man löst das über eine generelle Speicherklasse von der man jedes (und zwar wirklich jedes) Objekt ableitet, wobei jedes Speicherobjekt eine unique-Id bekommt, oder man muss sich halt selber eine Speicherroutine für jedes Objekt schreiben.

Bei meinen Versuchen habe ich letzten Endes entweder für große, viel Speicherplatz verbrauchende Objekte (z.B. maps mit tausenden von Tiles) direkt eine binäre Speicher und Laderoutine geschrieben, oder, für Objekte die auch mal editiert werden müssen wie Waffendaten, Optionen etc. XML benutzt (Brucys Modul). Allerdings kommt man dabei trotzdem nicht herum, eine eigene Speicher und Laderoutine zu schreiben.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

FireballFlame

BeitragSa, Jan 30, 2010 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
BtbN hat Folgendes geschrieben:
Das Dort beworbene Modul scheint nirgendwo mehr zu existieren.
Doch, per SVN kann man sichs runterladen.
Ich könnte es auch irgendwo kurz hochladen, wenn jemand möchte.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Skabus

BeitragSa, Jan 30, 2010 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich hätte Interesse dran! Very Happy


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

BtbN

BeitragSa, Jan 30, 2010 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Da ist es doch:

http://code.google.com/p/maxmo...stence.bmx

Er zeigt es nur nicht in der liste links an, wenn man die durchsucht. Warum auch immer.

Alfadur

BeitragSo, Jan 31, 2010 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Besten Dank für die Vorschläge, hab mich für eine eigene Speicherroutine entschieden...
A Cray is the only computer that runs an endless loop in less than four hours.

BladeRunner

Moderator

BeitragDi, Feb 09, 2010 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn es etwas spät kommt:
vielleicht hilft dir mein neues Modul ein wenig: https://www.blitzforum.de/foru...hp?t=33951
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group