Containerdateiformat, Wie am besten aufbauen.

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Containerdateiformat, Wie am besten aufbauen.

Beitrag von cxAlex »

Servus.

Ich bin gerade dabei ein kleines Containerdateiformat zusammenzuschustern, wofür auch immer, kann man ja immer mal brauchen ist sicher nicht verkehrt.

Dabei hab ich mir ein bisschen das ZIP - Format angesehen, so ähnlich werde ich das ganze wohl machen.
Was mir nicht ganz klar ist ist wie ich das löschen vorhandener Einträge realisieren soll. Entweder ich schiebe alle anderen Einträge zusammen und rechne die relativen Offsets um (was sich nicht mal so schwer realisieren lassen würde). Oder ich trage den frei gewordenen Speicherplatz in eine Liste ein, und packe später andere passende Daten hin und baue das Format so auf das sich ein Eintrag auch über mehrere nicht zusammenhängende Blocks erstrecken kann. Aber das wird schon wieder recht kompliziert und ich fürchte das die Datei sich dann stark fragmentieren würde ...

Hat einer eine Idee für mich oder gibt es eine ganz einfache Lösung und ich hab nur ein Brett vorm Kopf?

https://secure.wikimedia.org/wikipedia/ ... iformat%29

Bild

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Containerdateiformat, Wie am besten aufbauen.

Beitrag von Kiffi »

Du wirst es wahrscheinlich wg. des Lerneffektes und des Spaßes selber
programmieren wollen, aber bevor es heißt "Warum hat mir das keiner
gesagt?", hier folgender Link: ;-)

http://www.purebasic.fr/english/viewtop ... 21#p322221

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Containerdateiformat, Wie am besten aufbauen.

Beitrag von cxAlex »

Jop, ich wills selbst machen, aber ich sehs mir mal an, Danke ;D

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Containerdateiformat, Wie am besten aufbauen.

Beitrag von Thorium »

Du hast das schon alles richtig erkannt mit dem Löschen. Das Directory kommt ans Ende so wie du es skiziert hast, wenns am Anfang stehen würde müsste man jedesmal, wenn sich die Directorygröße ändert die ganze Datei neubauen.
Und wie du erkannt hast, hast du 2 Möglichkeiten zum löschen. Eine ist schnell, allerdings hast du dann ne ziemlich unoptimale Dateigröße, schlecht für portable Container aber gut für Container, die sowieso auf dem Rechner bleiben. Oder du verschiebst alles was hinter der gelöschten Datei liegt und berechnest die Einträge im Directoy neu. Das ist langsam aber resultiert in einer optimalen Dateigröße, gut für portable Container.
Allerdings musst du dich nicht für eins von beidem entscheiden, du kannst beides implementieren. ^^

Kommt halt immer drauf an wofür der Container sein soll. Als Allzweckcontainer würde ich empfehlen beides zu implementieren. Solls ein fixer Ressourcencontainer z.B. für Spiele sein, würde ich löschen garnicht implementieren, wäre nur unnützer Overhead, hier würde ich jedesmal den Container komplett neubauen.

Warum hast du eigentliche relative Offsets im Directoy und nicht absolute? Neuberechnen musst du die ja so oder so.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten