Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Denkanstoß: File binder (https://www.delphipraxis.net/101052-denkanstoss-file-binder.html)

sk0r 7. Okt 2007 20:12


Denkanstoß: File binder
 
Hallo,

ich wollte mal wissen, wie man eigentlich einen File binder realisieren könnte.

Also man soll eine Reihe an Dateien als eine zusammenfügen
und mit dem selbigen Programm, mit denen sie zusammengefügt wurde,
wieder "entpackt" werden.

Jetzt ist nur das Problem, wie man die Dateien elegant zusammenfügen und extrahieren kann.

Wie sollte man dort am besten vorgehen? Lässt sich das durch Records lösen? Also File of RecordTyp.

Danke für Hilfe im Voraus

Mfg: sk0r

Bernhard Geyer 7. Okt 2007 20:45

Re: Denkanstoß: File binder
 
Wieso was neu entwickeln? Nimm doch Kompressionskomponenten und pack die Dateien doch mit ZIP oder 7z.
Damit sind so "Nebensächlichkeiten" wie Kompression, Fehlererkennung und Passwortschutz schon gelöst.

sk0r 7. Okt 2007 20:52

Re: Denkanstoß: File binder
 
Zitat:

Zitat von Bernhard Geyer
Wieso was neu entwickeln? Nimm doch Kompressionskomponenten und pack die Dateien doch mit ZIP oder 7z.
Damit sind so "Nebensächlichkeiten" wie Kompression, Fehlererkennung und Passwortschutz schon gelöst.

Dann lernt man aber nichts. Ich möchte lernen, wie das funktioniert.

Im Endeffekt könnte man das Programmieren an sich dann auch sein lassen.

Dax 7. Okt 2007 20:58

Re: Denkanstoß: File binder
 
Am Anfang deiner gewünschten Datei brauchst du in jedem Fall eine Liste mit Dateieinträgen, dann die rohen Datenströme. Das folgende Format is so ziemlich das geringste, das deinen Anforderungen entspricht:

Code:
Zahl der Dateieinträge: Integer (folgend N)
{
  Name der Datei: string[255];
  Position der Datei im Stream: Integer; (folgend P_x)
  Länge der Datei: Integer; (folgend L_x)
} N mal
X = 1 .. N
{
  [Position P_X]
  L_X Bytes Daten
}
Das natürlich alles andere als toll, Dateinamen sind auf 255 Zeichen limitiert, Dateigrößen auf 2^31 Byte, es gibt keine Fehlererkennung durch Prüfsummen oder Hashes, ...

Bernhard Geyer 7. Okt 2007 21:03

Re: Denkanstoß: File binder
 
Zitat:

Zitat von sk0r
Dann lernt man aber nichts. Ich möchte lernen, wie das funktioniert.

Dann lass aus obigen Post einfach das Wort komponenten raus und such dir die Spezifikationen von ZIP & Co. im Internet und implementier alles neu.

Zitat:

Zitat von sk0r
Im Endeffekt könnte man das Programmieren an sich dann auch sein lassen.

Nö. Ich sehe es jedoch nicht (immer) als sinnvoll an alles (von Grund auf) neu selbst zu entwickeln. Im SW-Bereich kann man 90% und mehr Entwicklungszeit sparen indem man nach einer guten Analyse-, Architektur und Designphase beim Implementieren auf die Suche geht was gibt es schon und könnte man für die eigene Anwendung verwenden. So wie ich kein eigenes DBMS entwickeln werde nimm ich auch bei solch einer Fragestellung fertige Komponenten. Was du nun selbstständig als eigenes Know-How entwickeln kannst (und genügend Arbeit darstellt) ist das Drum-Herum (Eigener Self-Extractor, GUI für Auswahl Dateien, ...)

Luckie 7. Okt 2007 22:01

Re: Denkanstoß: File binder
 
Du meinst so was: http://www.delphipraxis.net/internal...ht=sfx+builder ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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