[add]
die aktuelle (Test)Vesion + einges an Erklärung ist im Beitrag #22 zu finden
[/add]
Sooo, ich hab inzwischen vieles nochmas (teils Grundlegend) überarbeitet und weitere Features eingefügt.
Der FileSplitter kann (jetzt)
- es werden vom Programm (abgesehn vom optionalen Setup mit Explorerintegration) nirgendwo Daten gespeichert, also nichts mit Registry, INIs und was es sonst noch gibt
- Unicode (war doch wohl klar :engel: )
- von der Bediehnung her ist es immernoch mehr an eine Konsolenanwendung angelehnt und läßt sich auch von dieser aus ansteuern
die Parameter: Programm starten und H für Hilfe auswählen oder über filesplitter -h ansehn
- Dateien zerlegen/splitten (wär ja blöd, wenn nicht)
- die Dateien wieder zusammenfügen (alternativ über eine Batchfile mit Windows-Copy)
- Neu: Zieldatei/-pfad kann jetzt frei gewählt werden.
dennoch wird ein Name/Verzeichnis vorgeschlagen, welcher aus der Quelldatei erstellt wird.
- Neu: Dateien prüfen (Datei oder Dateiteile anhand der MD5-Datei)
- kann im Explorer-PopupMenü eingetragen werden
wer in der alten Version einfach die EXE austautsch kann das schon jetzt oder dann für alle nach der Testphase
- Dateien jeder Größe sind möglich (solange es das Dateisystem unterstützt)
also Dateien/Dateiteile über 2 GB (ich denk mal bis theoretisch fast 8 PB sollten für alle ausreichen)
- ja und die EXE ist wirklich so klein oder meint einer hier würden sich UPX und Co. noch lohnen
- Wenn das Programm von einer Konsole oder einer Batchfile aus aufgerufn wurde, dann gibt es auch dort einige Infos aus.
- und zur Sicherheit ist das Programm selbstprüfend - bei Defekt/Veränderungen bricht es ab
(z.B. bei unvollständigem Download)
http://www.delphipraxis.net/internal_redirect.php?t=123395
- Screenshots gibt's noch keine, aber es sind eh nur ganz einfache Dialoge, wo man hintereinander nach den nötigen Werten gefragt wird.
und es sieht fast noch so aus wie in der Vorgängerversion
http://www.delphipraxis.net/internal...t.php?t=100632
Im Anhang sind derzeit- eine Betaversion (wird sich vermutlich nicht mehr viel dran ändern)
diese ist auch nochmal einzeln angehängt
- eine Testbeta mit 'ner art Benchmark und wo immer das Consolenfenster erstellt/verwendet wird
- eine Scriptdatei über welche die "normale" Beta in derKonsole gestartet wird
- und 4 Screenies vom Abschlußdialog
wo ich auch mal defekte Dateiteile übergeben hab (was steht im Dateinamen)
und keine Sorge, die DOS-Box ist nicht immer vorhanden
Es wäre vorallem nett, wenn ihr das Programm ausgiebig testet
und vorallem mal prüft wie/ob das Teilen/Zusammenfügen über Netzlaufwerke läuft.
Es wird beim Splitten wenn möglich eine Batchfile [.bat] (nur wenn die Dateinamen DOS-kompatibel sind)
und zusätzlich eine Prüfdatei [.md5] angelegt.
In der MD5-Datei ist als erstes natürlich der MD5-Hash der Datei (sollte von anderen MD5-Testprogrammen hoffentlich verstanden werden) und anschließend sind noch weitere Informationen.
Die Batchfile [.bat] versucht zuerst den FileSplitter zu finden und ihm den Zusammenfügenauftrag zu übergeben
und falls die Suche erfolglos bleibt, dann werden die Dateiteile über COPY zusammengefügt.
Beim Zusammenfügen vergleicht der FileSplitter die erstellte Datei mit den Werten aus der MD5-Datei (wenn diese gefunden wurde) und gibt das Resultat aus (z.B. fehlende/defekte Dateiteile).
Information: in .md5>PartCheck stehen natürlich nur Informationen über den Urzustand der gesplitteten Datei.
(Dateigröße, Infos über die einzelnen Dateiteile und einige Hash's)
Tja, ansonsten ist nur das vermutlich weitgehenst Optimalste eingebaut:
- Umgehung der WindowsFileCache (NonBuffered-Read/Write)
- Overlapped Read/Write (mehr Zeit für interne Berechnungen)
- und wenn verfügbar AWE (Address Windowing Extension muß im Windows für Programme freigegeben sein)
mit viel Glück könnte das der wohl schnellste FileSplitter auf UserEbene sein.
Man kann da wohl sagen ich hab mich hier voll ausgetobt (im Moment fällt mir auch nichts mehr ein).
Was den UserMode(Windows) betrifft geht es kaum noch schneller (es si denn ich nehm den MD5-Teil raus)
und nur hierfür extra einen Dateisystemtreiber zu entwickeln wäre wohl übertrieben (nur weil man damit dann beliebig große Dateien innerhalb einer Partition in wenigen Millisekunden teilen/zusammenfügen könnte).