AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Virtuelles Dateisystem

Ein Thema von Codewalker · begonnen am 1. Jan 2008 · letzter Beitrag vom 5. Feb 2013
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#21

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 17:11
Außerdem ist es sehr viel Arbeit, Animationen und Grafiken mit Alphakanal spielgerecht aufzubereiten. Die will man auch ungerne als einzelne Dateien dazupacken. Ein klein wenig Verschachtelung in nicht ganz gängige aber zweckmäße Archive ist ganz nett. Allerdings will man ja dafür nicht alle Lade-/Speicherroutinen neu schreiben müssen. Daher also das virtuelle Dateisystem - da läuft alles über Streams und man kann die altbekannten LoadFromStream etc. nutzen
Thomas
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#22

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 18:05
hast du mal ein Beispiel wie das Funktioniert mit dieser Klasse ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#23

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 18:10
Sucht doch mal nach Win32-Funktionen die mit "Stg" anfangen. Nennt sich Structured Storage und kommt schon mit dem System (OLE-Bestandteil).
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#24

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 18:11
naja ich dachte in allgemeines wie das ding Funktioniert ich habe hier keine Win32 Funktionen zu Verfügung unter Linux...
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#25

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 18:57
@Mimi: Im Prinzip ganz einfach. Gehen wir mal davon aus, du hättest eine DAtei mit folgender Dateistruktur

Code:
\
     \Ordner1
           \Test.txt
           \Bild.bmp
     \Ordner2
          \SubOrdner1
               \Test.txt
Wenn du jetzt die Dateien lesen willst, geht das als Beispiel wie folgt:

Delphi-Quellcode:
var
     Storage: IGpStructuredStorage;
begin
 Storage := CreateStructuredStorage; // Interface instanziieren, daher auch kein Free am Ende
 Storage.Initialize('Test.dat',fmOpenRead); // Die eigentliche Datei öffnen (mit fmCreate wird einen neue erzeugt)
 Memo1.Lines.LoadFromStream(Storage.OpenFile('\Ordner1\Test.txt', fmOpenRead);
 Memo2.Lines.LoadFromStream(Storage.OpenFile('\Ordner2\SubOrnder1\Test.txt', fmOpenRead);
 Image1.Picture.LoadFromStream(Storage.OpenFile('\Ordner1\Bild.bmp',fmOpenRead);
end;
Das ist jetzt aber die absolute Quick & Dirty Methode. Die Funktion OpenFile gibt einen Stream zurück, den ich hier natürlich nicht wieder freigebe. Aber ich wollte es mal so kurz wie möglich halten. Ansonsten verlängert sich der Aufruf um 2 Zeilen (erst Stream holen, dann LoadFromStream aufrufen, dann Stream wieder freigeben).

Ich finde das ganze angenehm einfach und flexibel

@Olli: Stimmt, bin ich auch schon drüber gestolpert. Leider aber auf COM aufbauend und so keinesfalls portierbar (korrigier mich, wenn ich mich irre)
Thomas
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#26

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 19:39
das sieht gut aus, werde ich bei Gelegenheit mal ausprobieren
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#27

Re: Virtuelles Dateisystem

  Alt 1. Feb 2009, 14:45
GPStructuredStorage wurde überarbeitet und ist jetzt auch kompatibel mit Delphi 2009 (http://17slon.com/gp/gp/gpstructuredstorage.htm). Alte Archive werden automatisch "geupdated" beim Öffnen. Neue Archive können von alter Version nicht geladen werden.

Die alte Version kompiliert zwar ohne Meckern in Delphi 2009, die entstehenden Archive sind aber nicht verwendbar und nach einmaligem Schreiben ist meist nur noch Datenmüll übrig.
  Mit Zitat antworten Zitat
jbaertle

Registriert seit: 2. Mär 2007
Ort: München
20 Beiträge
 
Delphi 7 Professional
 
#28

Re: Virtuelles Dateisystem

  Alt 2. Feb 2009, 11:09
Kannst Du noch einen Kommentar zur Lese- und Schreib-Performance insbes. bei vielen kleineren Dateien abgeben?
MfG Jani.
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#29

Re: Virtuelles Dateisystem

  Alt 2. Feb 2009, 11:51
Zitat von jbaertle:
Kannst Du noch einen Kommentar zur Lese- und Schreib-Performance insbes. bei vielen kleineren Dateien abgeben?
MfG Jani.
Die Komponente ist nicht von mir, daher ... ähm... nein, kann ich nicht .
Ich nutze Sie aber zum Laden von Texturepaketen in meinem Spiel und kann über die Performance nicht meckern. Ist kaum merklich bisher
  Mit Zitat antworten Zitat
shadowman

Registriert seit: 1. Nov 2005
48 Beiträge
 
#30

AW: Virtuelles Dateisystem

  Alt 5. Feb 2013, 10:48
Hallo,

lange her, als hier das letzte Mal gepostet wurde, aber dieser Thread passt zu meinem Anliegen:

wir haben SingleFileDataStorage 1.4.1 im Einsatz, doch dummerweise scheint die Komponente probleme mit Nicht-ANSI-Zeichen zu haben, obwohl bei Torry in der Beschreibung steht, dass Unicode-Dateinamen möglich sind.

Intern in den Sourcen wird mit AnsiString gearbeitet und sobald im Dateinamen z.B. ein "Ş" vorkommt, tritt beim Schreiben dieser Datei ins Archiv ein Fehler auf, dass die Datei XYZ nicht geöffnet werden kann. Im in der Meldung angezeigten Dateinamen sieht man dann ein normales "S" und so heißt die Datei ja nicht.

Die Komponente wird wohl nicht mehr weiterentwickelt, der Author nicht erreichbar...

Da die letzten Posts hier vier Jahre zurückliegen, wollte ich nachfragen, wie es inzwischen aussieht, ob es die weiter oben gennanten Alternativen noch gibt (AidAim und Eldos gibt es wohl), ob es neue gibt und welche der Alternativen der SingleFileDataStorage-Komponente am nächsten kommt (falls man die überhaupt vergleichen kann), damit möglichst wenig geändert werden muss...

Würde mich über Hinweise sehr freuen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz