Fragen zu PROFAN-Helfern und Tools
  Suchen
 Zurück zur Übersicht
 AutorThema: PCompressor+Pack.dll (Free)
Mischa Brandt
Datum:02.08.02 12:33 Antwortenals Email verschicken (mischabrandt@gmx.de) 


So wie es scheint ist Roland in Urlaub. Zumindest
warte ich schon zwei Tage darauf, daß meine 'News'
mal geschaltet werden. :-(
Und damit diese Bezeichnung für mein Tool
Berechtigung behält, poste ich hier einfach nochmal:

PCompressor v1.0 (Freeware)
---------------------------

-Packt/Entpackt Dateien (inkl. Verzeichnisstruktur)
zu Pack-Archiven. Diese sind Dateiendungs unabhängig.

-Erstellt aus Pack-Archiven 'Selbstentpacker' mit
eigener Dialogelement-Beschriftung, optionalem
Bmp-Logo und 256 Farben Icon.
Der Header hat eine Größe ab 37 KB (ohne Bitmap)
Durch eine Kombination mit 'Standalone' ist es auch
möglich eine Manifest-Datei für XP mit einzulinken
Diese Vorgehensweise reduziert sogar nochmals die
Datei-Größe.

-Erstellt aus Pack-Archiven 'Standalone'-Dateien
Einfach das gesamte Programm-Verzeichnis packen,
'Standalone' mit Prg-Name.exe als Startdatei und
eigenem 256 Farben Icon erstellen.
Funktioniert auch mit kompletten Html-Ordnern
(Startdatei wäre vermutl. 'index.html') etc.
Der Header ist nur 16 KB groß!

-Programmiert in Profan 7.0 (und ein paar APIs ;-)
und der 'Pack.dll'

Pack.dll v0.9 (Freeware)
------------------------
(muß für Freischalt-Code KOSTENLOS registriert werden)

-Einfache Syntax
Zum Packen sind nur 3 Funktionen nötig, zum Entpacken
lediglich eine. Mit jeweils nur einer Funktion erstellt
die Dll einen 'Selbstentpacker', oder eine
'Standalone'-Datei. (Gerade letzteres ist sicherlich für
eigene Programme sehr interessant: z.B. Entwicklung
eines Präsentations-Programms. So ist es möglich einen
Anwender der Software mit einer fertigen Standalone-
Datei (mit allen Bildern,Sounds,..) zu bedienen, etc.)
Der Packprozess läuft im eigenen Thread, das Haupt-
programm kann parallel also anderes tun. Kontrolle ist
aber jederzeit durch die 'Callback'-Funktion möglich.

-Das Packen ist Zeitaufwendig, das Entpacken dafür extrem
schnell. Die Packdichte entspricht in etwa Zip

-Der eigentliche Pack-Algorhythmus ist nicht von mir, das
Format, bzw die Archiv-Struktur schon und kann daher wohl
kaum von gängigen 'Entpackern' geöffnet werden. ;)

-Die Pack.Dll ist 78 KB groß,
(die OPTIONALE Unpack.dll,die wie der Name schon vermuten
läßt, lediglich Archive entpacken kann, nur 15 KB)

-Programmiert in Purebasic 3.20

Systemanforderung
-----------------
ab Windows 98 (vermutlich ;-)
getestet mit 98(SE) und XP(PE)

Das gilt für die Dlls, den PCompressor und natürlich auch
für erstellte Selbstentpacker und Standalones.

Anmerkungen
-----------
Die Dll ist aus Eigenbedarf entwickelt worden, weil die
Alternativen teilweise VIEL Geld kosten, oder wenn sie
Freeware/Public-Domain sind, zumindest für mich, der ich
Anfänger bin, schwer zu portieren sind.

Die meisten 'Standalone'-Creators sind zwar kostenlos,
aber verfügen selten über Pack-Features, bzw
unterstützen keine Unterverzeichnisse und haben
oft standardmäßig die unsinnige Eigenschaft die Daten
temporär ins gleiche Verzeichnis zu entpacken.
Da kann man das Verzeichnis auch gleich komplett in
ein Zip-Archiv packen, da hat man dann auch 1 Datei. ;-)

PS: Hat natürlich alles noch 'Beta'-Status, deswegen
bitte Bescheid sagen, wenn Bugs auftauchen. Und seid
nicht zu streng mit mir, ich bin schließlich immer
noch Anfänger.

PS2: Ach Frank, sei nicht gekränkt, daß ich Deine Pack-
Funktionen NICHT benutzt habe, aber das hätte die
Header-Größen mindestens verdoppelt. (Und wenn ich den
Header dann auch noch mit Profan gecodet hätte, wären
sie wohl mindestens 10 mal so groß geworden ;-)
Nun, das 'Packen' ist ja nicht der Schwerpunkt der
ProSpeed.dll, sondern das SPieleprogrammieren.

Runterladbar ist das ganze unter:

www.thinkrelative.de/PCompressor.exe

Gruß,
Mischa


Rolf Koch
Datum:02.08.02 18:07 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Ja, Roland ist am 4 August wieder aus dem Urlaub zurück
;)
Rolf


Mischa
Datum:04.08.02 23:10 Antwortenals Email verschicken  


Update!

-Pack.dll v1.0 (beta)

Neu sind Archivbearbeitungsfunktionen:
-Archivheader einlesen
-Datei zum Archiv hinzufügen
-Datei einzeln entpacken
-Datei aus dem Archiv löschen


http://www.thinkrelative.de/PCompressor.exe

Gruß,
Mischa



Sven Schmidts
Datum:05.08.02 08:18 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Blöde Frage, aber wieso eine Komprimierungs-DLL, wo es schon einige gibt?


Mischa
Datum: 05.08.02 16:11 Antwortenals Email verschicken  


Hallo Sven!

Blöde Frage, aber entwickelt hier irgendjemand Programme, die es nicht schon in irgendeiner und möglicherweise besserer Form gibt? Wohl kaum! Es sind also andere Kriterien ausschlaggebend, um die Kopie einer Kopie einer Kopie...
zu erstellen.

-Verbesssern bisheriger Möglichkeiten:
Mein Schwerpunkt und der eigentliche Grund für die Entwicklung
der Dll ist die Funktion des 'Standalone'

Mir ist kein 'Standalone-Creator' bekannt, der sowohl
komprimiert, Unterverzeichnisse unterstützt, Befehlszeilen-
parameter verarbeitet, ein eigenes Icon ohne Nachbearbeitung
unterstützt, ins 'Temp'-Verzeichnis anstatt ins Haupt-
verzeichnis des Programms entpackt, ohne das das eigentliche Programm intern selber entpacken muß, und das noch in Form einer Dll, um dies alles vom eigenen Programm, quasi unsichtbar zu realisieren und das auch noch unkompliziert bei
einer lächerlichen 'Mehrbelastung' von 16 KB.

Stell Dir vor, Du programmierst ein Multimedia-Programm, mit dem der Anwender eigene Präsentationen erstellen kann. Am Ende bekommt der Benutzer sein 'Runtimemodul', Sounds, Bilder, etc.
rausgeschmissen. Super! Viele kleine Dateien, jeder sieht die
Puzzlestücke, kann sich locker bedienen. Benutze ich nun meine Dll und erweitere die 'Export'-Funktion des Präsentationsprogrammes um 15 Zeilen Code, habe ich als Resultat EINE Datei. (und die ist noch gepackt)

Alle anderen Funktionen der Dll sind entweder logische Konsequenz dessen, was ich eigentlich wollte, oder waren relativ unkomplizierte weitere Schritte, der Vollständigkeit
halber. Nach A kommt B, kommt C...

-Leidenschaft am Programmieren:
Das könnte man wortwörtlich verstehen. ;-)
Nein, es geht beim Programmieren ja auch um Spaß, ums Forschen,
Lernen, Verstehen und 'weiterkommen'. Dies tat ich zu genüge..

-Kostenfaktor
Du sagtest:
"..wieso eine Komprimierungs-DLL, wo es schon einige gibt?"
Nun, sicher gibt es die. In Profan direkt nutzbar sind das
meines Wissens die IB-Zip.dll und die Easyzip.dll aus den
Power-Dlls. Die kosten Geld, oder irre ich mich? Das sind sie ja sicherlich auch wert, ohne Frage. Sie entsprechen der 'Norm', ohne Frage. (Franks Pack-Funktionen sind sicherlich günstiger, aber schieden aus schon früher angesprochenen Gründen aus, wobei DIESE Kriterien letztendlich alle anderen auch unbrauchbar für 'Standalones' machen)
Aber wenn man die langsame Kompressions-Zeit der Pack.dll in Kauf nimmt, ist sie eine Alternative die, moment laß mich rechnen..äh..NICHTS kostet.
Ich fand auf meinen langen Reisen in den unendlichen Weiten des Internetraumes exakt eine 'Komprimierungs-DLL', die so
weit man das sagen kann, umsonst ist. Aber ehrlich gesagt, fiel es mir schwer die Funktionen zu portieren. Nein, in Wirklichkeit gelang es mir überhaupt nicht. Und selbst wenn,
hätte ich wiederum ein Problem mit der Headergröße bekommen.
(Die MINIMALE Headergröße von 150 Kb steht wohl nicht im Verhältnis zu 500 KB Daten für einen Standalone. 16 KB sind da schon angenehmer und übrigens 9,375 mal so klein. ;-)

-Wer das also alles hier für überflüssig hält, kann sich ja mit
dem was es unlängst gibt zufrieden geben, er wird aber sicherlich nicht so ohne weiteres die Dinge in gleicher Form realisieren können, die ich ansprach.

Ein Freund sagte zu mir: "Erst wenn man Geld für ein Programm verlangt, vermittelt man das Gefühl, daß es möglicherweise einen WERT hat.."
Vieleicht hat er recht.

mit nachdenklichen Grüßen,
Mischa




 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain