Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp Skin (https://www.delphipraxis.net/129447-zip-datei-direkt-auslesen-ohne-zu-entpacken-wie-winamp-skin.html)

Cyberaxx 19. Feb 2009 11:47


Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp Skin
 
Hallo

Programmiere gerade einen Player und würde dem gerne auch Skin Fähigkeit geben.
Ähnlich wie bei Winamp. Dort gibts ja auch ein Skin File den man einfach nach .zip umbenennen
kann. Alles was ich aber bisher fand beruht darauf das ich die Daten erst entpacken muss
um damit zu arbeiten. Ich würde sie aber gerne direkt aus dem Archive verarbeiten können.

Kann mir auch nicht vorstellen das Winamp erst den Skin File entpackt und dann die Forms skinnt.

Hat hier jemand vllt. eine Idee womit dies möglich ist?
Es muß nicht unbedingt zip sein aber es sollte möglich sein ohne groß etwas zu installieren
auch selber skin Files erstellen zu können.

Gruß
Daniel

nahpets 19. Feb 2009 12:04

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Hallo,

wie wäre es mit der Benutzung von ZipMaster, der kennt die Methode
Delphi-Quellcode:
ZipMaster.ExtractFileToStream('dateiname');

Cyberaxx 20. Feb 2009 06:17

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Hab sie mir mal angesehen, macht so keinen schlechten Eindruck. Nur müsste ich auch immer die DLL mitgeben so wie das aussieht. :/

Gibt es sonst noch Alternativen?

mkinzler 20. Feb 2009 06:33

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
http://www.torry.net/quicksearchd.ph...=zip&Title=Yes

Cyberaxx 20. Feb 2009 07:21

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Darauf bin ich auch bereits gekommen nur sind da nicht gerade viele Infos was den Zugriff direkt auf Dateien angeht.
Das ist es eben was ich noch weniger möchte, die Daten erst zu extrahieren.

Satty67 20. Feb 2009 08:43

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Fast alle Komponenten bieten doch auch immer einen DeCompressStream an. Ein ZIPDirectory ist auch sehr gut dokumentiert, falls die Verwaltung vom Programm übernommen werden muss.

Den kannst Du ja dann verwenden wie Du es brauchst, muss ja nicht ein TFileStream zur Ausgabe sein. Kann ja imho auch direkt ein LoadStream eines Objectes sein.

EWeiss 20. Feb 2009 09:00

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Zitat:

Das ist es eben was ich noch weniger möchte, die Daten erst zu extrahieren.
Winamp machts genau so.
Schau mal in deinen Tmp Ordner.

gruss Emil

Cyberaxx 20. Feb 2009 10:15

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Ich habe hier gerade mal die Komponente von den Jedis TJvZLibMultiple.
Diese bietet auch dein DeCompressStream an.

Delphi-Quellcode:
procedure DecompressStream(Stream: TStream;
  Directory: string; Overwrite: Boolean; const RelativePaths: Boolean);
Wie kann ich aber damit auf die Datei zugreifen im Archive. Es wird nen Stream erwartet
und in ein Verzeichnis entpackt.

Cyberaxx 20. Feb 2009 10:18

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Das Winamp dies auch so macht, wußte ich nicht.
Was ist wenn die Platte nicht ausreicht um den Skin zu extrahieren???

Nehmen wir gerne mal ein anderes Beispiel.
Ein Game, dort sind die Texturen auch meist in einem "Archive" gepackt.
Da kann es gut sein das man dafür wieder nen bestimmtes Tool braucht um
auf die Daten zuzugreifen aber diese entpacken es definitiv nicht zuerst.

Sir Rufo 20. Feb 2009 10:24

Re: Zip Datei direkt auslesen ohne zu entpacken. Wie Winamp
 
Zitat:

Zitat von Cyberaxx
Das Winamp dies auch so macht, wußte ich nicht.
Was ist wenn die Platte nicht ausreicht um den Skin zu extrahieren???

Dann hat der Anwender ein ganz anderes Problem um das er sich Sorgen machen muss.

Ein System mit einer Plattenauslastung >80% wird echt langsam ...

cu

Oliver


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr.
Seite 1 von 2  1 2      

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