AGB  ·  Datenschutz  ·  Impressum  







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

SFXTools

Ein Thema von Luckie · begonnen am 23. Okt 2003 · letzter Beitrag vom 25. Nov 2005
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
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.

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 ). 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.

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:
SFXArchiveMaker [61 KB]

Link korrigiert.
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von phlux
phlux

 
Delphi 6 Personal
 
#11
  Alt 14. Nov 2003, 17:33
@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]).
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#12
  Alt 14. Nov 2003, 17:37
Ä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.

Du siehst, ich bin von einem Release noch weit entfernt.

Scherz beiseite, rechne mal heute Abend/Nacht im Laufe des Wochenendes mit einem Release.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

 
Delphi 6 Personal
 
#13
  Alt 14. Nov 2003, 17:46
Ich warte schon gespannt Luckie
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#14
  Alt 14. Nov 2003, 19:42
So, hier ist nun die lang ersehnte erste offizielle Version der SFXTools zum Testen.

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: SFXTools [62 KB]
Michael
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

 
Delphi 6 Personal
 
#15
  Alt 14. Nov 2003, 19:49
Schnell, schneller, Luckie
Ich werd mir die Source mal zu gemüte führen
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#16
  Alt 14. Nov 2003, 19:53
Viel Spass. Alles unkommentiert. Ich habe schon vergessen, warum meine selbst definierten Nachrichten die Präfix EFM_ haben.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

 
Delphi 6 Personal
 
#17
  Alt 14. Nov 2003, 20:01
ich werds ja sehn zur not quäl ich dich über icq in deinem urlaub
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#18
  Alt 16. Nov 2003, 18:51
Kein Interesse?
Michael
  Mit Zitat antworten Zitat
citybreaker
 
#19
  Alt 28. Aug 2005, 15:34
Würd mir das ganze ja gern mal angucken. Nur schade, dass
der Link nicht geht.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#20
  Alt 28. Aug 2005, 16:26
Zitat von citybreaker:
[...] Nur schade, dass der Link nicht geht.
Schau aml hier.

Zitat von Luckie:
Kein Interesse?
Doch. Und...
Matti
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:44 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