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
Benutzerbild von Codewalker
Codewalker

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

Re: Virtuelles Dateisystem

  Alt 5. Jan 2008, 19: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
Antwort Antwort


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 05:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz