Autor Beitrag
h-design
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 10.07.04 02:13 
Wie kann ich anhand der Dateistruktur meine eigene Datei,die als Fremddatei zufällig den selben Namen und Endung haben könnte, identifiezieren. Gibt es eine Function, die mir anhand des Speicherinhalts der Datei und meinem eigenen Record eine Gleichheit oder Ungleichheit der Datenstruktur herausfindet? Anhand Rückgabewert False und true. Ich möchte vermeiden,dass auf Kundenrechnern irgendwelche Störfälle geschehen.


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am So 11.07.2004 um 09:34
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 10.07.04 08:31 
Denk dir ein eigenes Format aus und setze bspw. einen Header an den Anfang, in dem eine ID steht, etwa "H-DESIGN", evlt. noch eine Versionsnummer, usw.
h-design Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 10.07.04 12:33 
MathiasSimmack hat folgendes geschrieben:
Denk dir ein eigenes Format aus und setze bspw. einen Header an den Anfang, in dem eine ID steht, etwa "H-DESIGN", evlt. noch eine Versionsnummer, usw.


Danke für die rasche Antwort. Aber ich hab da noch ein kleines
Problem.
Wie erselle ich eigentlich einen Dateiheader und wie ließt man ihn aus?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 10.07.04 14:02 
Das liegt doch bei dir. Denk dir was aus!

Die alten WADs (Doom, Doom 2, Heretic, ...) hatten bspw. einen 12 Bytes großen Header am Anfang der Datei, der mit der ID "PWAD" oder "IWAD" begann und die Anzahl der Einträge und den Beginn des internen WAD-Verzeichnisses enthielt.
So machst du´s auch. Denk dir einen Header aus, der deine Datei eindeutig identifiziert, und speichere den immer am Beginn.

Beim Laden prüfst du diesen Header, und schon weißt du relativ sicher, dass es entweder dein eigenes Format ist ... oder nicht ...


btw: Private Nachrichten bitte nur zu privaten Themen. Wenn du Fragen zu Delphi oder irgendwelchen Codeproblemen hast, dann bitte hier im Forum.
MartinPb
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: Sa 10.07.04 14:52 
Noch paar Beispiele. Wenn ich gelegentlich eine Webseite abspeichere und einige Dateien im Dateien-Ordner keine Endung haben, dann gucke ich mir die Datei einfach mit einem Texteditor an. Unabhängig dessen wie die Dateien korrekt erkannt werden, kann man schon auf die Schnelle sehen was für ein Dateityp es ist.

Bitmap BMP beginnt mit

Texteditor hat folgendes geschrieben:
BM...


Jpeg beginnt mit

Texteditor hat folgendes geschrieben:
ÿØÿà...


GIF beginnt mit

Texteditor hat folgendes geschrieben:
GIF98a...


Mit einem Programm hast du noch mehr und genauere Möglichkeiten den Typ auszulesen.

Es gibt aber auch Dateien die man daran erkennen kann wie sie enden:

Jpeg endet mit

Texteditor hat folgendes geschrieben:
...ÿÙ


Kazaa DAT enden mit

Texteditor hat folgendes geschrieben:
...KAZAxxxxxx


wobei die letzten sechs Bytes (x) Adressen. Sie zeigen auf den Punkt in der Datei in der sich weitere Informationen befinden und wie lang die sind. Eine Kazaa DAT Datei beginnt immer so wie die Datei die geladen wird. Eine Bitmap die mit Kazaaa gelden wird und die Endung DAT hat, beginnt bei Kazaa mit BM... und endet mit ...KAZAxxxxxx.

_________________
Gruß
Martin