![]() |
SFXTools
Da immer wieder die Frage aufkommt, wie man selbstextrahiernde Dateien erstellt, habe ich mich mal dran gesetzt und ein Demo dazu programmiert.
Wie es funktioniert: Startet man die SFXArchiveMaker.exe sieht man ein zwei geteiltes Fenster. Der obere Bereich dient dazu das SFXArchiv zu erstellen. Man wählt Dateien aus (bis 99 Stück) und klickt auf "SFX erstellen". daraufhin werden die Dateien mit copy /b an die datei SFXArchivemaker.exe drangehangen und unter den Namen SFXArchiv.exe im Anwendungsverzeichnis gespeichert. Führt man diese SFXArchive.exe jetzt aus, hat man eigentlich die SFXArchiveMaker.exe vor sich. Jetzt kommt der untere Teil des Fensters zur Anwendung. Klickt man da auch "Entpacken" werden die angehangenen Dateien in das Anwendungsverzeichnis entpackt. Welche Dateien angehangen wurden steht in einem Header, der ganz zum Schluß angehangen wurde. Im header steht drin: Die Anzahl der angehangenen Dateien und zu dein einzelnen Dateien der Dateiname, die Datei größe und wo sich die Datei in der SFXArchive.exe befindet. Dieser Header ist statisch für 99 Dateien ausgelegt. War einfachher. Denn dann weiß ich immer wie groß er ist und muss das nicht noch dazu schreiben. hat natürlich zur Folge, dass immer 26 KB angehangen werden auch wenn es nur 2 oder 3 Dateien sind. Was das Demo nicht kann: - Verzeichnisstruktur beibehalten. - Packen der Dateien. - Einen dynamischen Header erzeugen. - Die Routinen für das Anhängen und Extrahieren behinhalten eine integrierte Fehlerbehandlung. Die VCL Routinen (ButtonClicks) nicht unbedingt. :zwinker: Sinn oder Unsinn des Programmes: Nun, so lange man die Dateien nicht gepackt werden und die Verzeichnis Struktur verloren geht, ist dieses Programm jeden Packprogramm welches SFXArchive erstellen kann natürlich unterlegen. Aber nichts desto trotz kann es als Anschauungsmaterial für weitere Entwicklungen dienen. Was ich noch machen werde: Ich werde eine nonVCL Version machen (ein SFXArchiv, was selbst schon 400 KB groß ist, ist eigentlich ein Witz :mrgreen:). Und ich werde das Programm teilen. Also ein Programm welches die Dateien an ein Programm dranhängt, welches nur entpacken kann. dann werde ich noch eine Version entwicklen, die auch die Verzeichnisstruktur mit speichert. Das mit dem packen muss ich mal sehen, wenn sich da was kleines finden läßt (Zlib nutzt Classes), werde ich mal sehen, wie man das noch integrieren kann. Und wenn ich das dann geschaft habe, dann habe ich was eigenes mit dem ich meine Programme zum Download anbieten kann. :P Wichtig: Kompiliert man das Programm neu, muss man eventeull im Source die Konstante EXEFILESIZE anpassen, da sie angibt, wo die angehängten dateien beginnen und die Exe endet. Anpassen deswegen, weil unterschiedliche Delphi versionen unterschiedlich große Exe-Dateien erzeugen. Download: ![]() Link korrigiert. |
Re: SFXArchivMaker
Danke. So was wollte ich schon lange mal basteln, jetzt habe ich die Grundlage :firejump:
...:cat:... |
Re: SFXArchivMaker
Super Idee Luckie .. Werde ich bald testen ..
Wäre es nicht möglich auch die Verzeichnisse u.s.w. mit zu archivieren ? Bevor an die NonVCL Version ranmachst ? |
Re: SFXArchivMaker
Da will sich wohl jemand davor drücken nonVCL lesen zu mpüssen was? :zwinker: Also mehr werde ich hier nicht veröffentlichen. Die nächste Veröffentlichung wird die mit der Verzeichnisstruktur sein und das wird dann schon nonVCL sein, wobei ich den eigentlichen Engin wohl mit einem VCL Demo-Projekt entwickeln werde.
|
Re: SFXArchivMaker
Zitat:
|
Re: SFXArchivMaker
sowas schreibe ich auch gerade und bin schon zimlich weit:
ich kann: - Achive erstellen - Dateien hinzufügen - Dateien löschen - Archvie Updaten - Archive Komprimieren mit Bzip2 - SFX Dateien erstellen --------------------------------- aber ich werde noch einiges hinzufügen *G* und den qullcode überarbeiten. was ich noch hinzufügen werde ist folgendes: - Verschlüsslungen(verschiedne sollen zur auswahl stehen) - Verschiedne Packformate z.b. zip, cab, was halt so FreeWare ist und wozu ich eine unit finde die mit Stream arbeiten kann. - Dateien(mir ist kein namen eingefallen): ich habe z.b. in einem achiv 30 dateien davon möchte ich die ersten 10 dateien packen die nächsten 10 dateien zu lassen wie sie sind und die letzen 10 dateien möchte ich verschlüsseln. - Datei gruppen. sowas änliches wie verzeichnise. |
Re: SFXArchivMaker
Ist das dann auch Open-Source oder hast du einfach so mal hier gepostet? ;)
|
Re: SFXArchivMaker
ja, es soll OS werden, wenn es soweit ist.
dann könnten wir all an einem gemeinems eigenen super format entwickeln, was haltet ihr davon ? es bringt doch wirklic nichts, wenn wir alle unser eigens format nahmen und der "normale" user dann 1000 programm haben müsste nur um alle zu entpacken. ich schlage deshalb folgendes vor: wir entwickeln unser einges format. was haltet ihr davon ? und zwar von anfang an. |
Re: SFXArchivMaker
Neuer Thread bitte für dieses Thema.
|
Re: SFXArchivMaker
|
Re: SFXArchivMaker
@Luckie, wird dein nonVCL SFX SourceCode dann auch zugänglich sein? Würd mich nämlich mal interessieren wie du es ohne TFileStream schaffst (ich hatte dazu ja schonmal nen Thread gepostet [im Sommmer irgendwann mal]).
|
Re: SFXArchivMaker
Äh ja. Ich muss nur noch die Lust finden zwei Buttons zu programmieren, was eigentlich fünf Minuten arbeit wäre. Nur dann könnte man das Projekt als "fertig" zum Testen bezeichen und ich müsste zur Veröäffentlichung eine Readme schreiben, einen Text hier reinstellen und eine Kurzbeschreibung für die Downloadseite meiner HP finden. :roll:
Du siehst, ich bin von einem Release noch weit entfernt. :mrgreen: Scherz beiseite, rechne mal heute Abend/Nacht im Laufe des Wochenendes mit einem Release. :thumb: |
Re: SFXArchivMaker
:thuimb: Ich warte schon gespannt Luckie :-D
|
Re: SFXArchivMaker
So, hier ist nun die lang ersehnte erste offizielle Version der SFXTools zum Testen. :P
Mit dem Programm SFXBuilder.exe erstellt man das SFXArchiv. Die Dateien werden an die Datei SFXStubFile.exe angehangen. Es wird eine datei SFXArchive.exe erstellt, welche die datein SFXStubFile.exe (Das Modul zum Entpacken.) und die angehängten Dateien enthält. Die Dateien werden noch nicht komprimiert und der Header, in dem Informationen über die angehängten Dateien stehen ist noch statisch auf 99 Dateien ausgelegt. In so fern ist es jedem packer, welcher auch SFX-Archive erstellen kann unterlegen. Es ist bisher auch mehr als Studie zu sehen. Eine Studie, die zeigt, wie man selbstentpackende Archive prinzipiell erstellt. Wer es nutzen will, der soll, ich übernehme aber keine Haftung für eventuell entstehende Schäden. Download: ![]() |
Re: SFXArchivMaker
Schnell, schneller, Luckie :-D
Ich werd mir die Source mal zu gemüte führen :thumb: |
Re: SFXArchivMaker
Viel Spass. Alles unkommentiert. Ich habe schon vergessen, warum meine selbst definierten Nachrichten die Präfix EFM_ haben. :gruebel:
|
Re: SFXArchivMaker
:lol: ich werds ja sehn ;) zur not quäl ich dich über icq in deinem urlaub :roll:
|
Re: SFXArchivMaker
Kein Interesse? :roll:
|
Re: SFXTools
Würd mir das ganze ja gern mal angucken. Nur schade, dass
der Link nicht geht. |
Re: SFXTools
Zitat:
![]() Zitat:
|
Re: SFXTools
Link korrigiert im ersten Posting.
|
Re: SFXTools
Wird an diesem Projekt noch weiterentwickelt? (Kompression etc.)
|
Re: SFXTools
Das musst du meinen [user=NicoDE]"Kompressions"-Spezialisten[/user] fragen. ;)
|
Re: SFXTools
Zitat:
|
Re: SFXTools
Der Projektleiter erfährt es mal wieder als letzter. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 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-2025 by Thomas Breitkreuz