Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Werte aus einer binären Datei (https://www.delphipraxis.net/90974-werte-aus-einer-binaeren-datei.html)

Tim Henford 26. Apr 2007 21:21


Werte aus einer binären Datei
 
Hallo,

ich habe eine *.dat Datei in der gewisse Werte als String im Wordpad sichtbar sind. Nun scheinen die immer an ahnlicher Stelle zu sein, wie konnte man die filtern bzw. auslesen?

Danke Tim

fwsp 26. Apr 2007 21:23

Re: Werte aus einer binären Datei
 
ohne glaskugel schwer zu beantworten. *hust*

wenn die daten nach einem gewissen muster abgelegt sind, kann man die raus filtern. aber eben nur wenn da ein muster ist.
zeig doch mal was aus der datei.

Tim Henford 26. Apr 2007 21:35

Re: Werte aus einer binären Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
mal ein exempel

Tim Henford 27. Apr 2007 14:42

Re: Werte aus einer binären Datei
 
kann man wohl nix machen?

CCRDude 27. Apr 2007 14:59

Re: Werte aus einer binären Datei
 
Kann man sicherlich irgendwas machen, aber DU bist es, der weiß was das da drinnen überhaupt zu bedeuten hat. Also nimm Dir nen Hex-Editor, lass Dir möglichst viel gleichzeitig anzeigen, druck nen Screenshot davon und mal Dir mit dem Buntstift die Strukturen darein, wo Du was wiederkennst. Mach das mit zwei oder drei verschiedenen, und Du wirst bestimmt rausfinden, was man immer wo findet.

Aber von "ner .dat" zu sprechen, die dann als ".txt" anzuhängen ist immer noch ne Glaskugelaufgabe, DU weisst sicherlich, welches Programm diese Datei erzeugt, und warum sollte sich hier jemand die Mühe machen etwas rauszufinden, was Du per Google "file format applicationname" wesentlich schneller selber rausfinden kannst?

Tim Henford 27. Apr 2007 15:21

Re: Werte aus einer binären Datei
 
Ja das ist mir schon alles GLASKLAR, versuch doch mal das File als dat zu posten und die Datei ist eine "Spezialanfertigung", von der man kaum den source bekommen wird, also nix mit google... :)
Aber es geht einfach nur darum, wie ich die Datei zum Beispiel in nen Memo bekomme oder irgendwo reingeladen, wo ich es dann auswerten könnte. Also Stück für Stück die Strings raussuche oder den "Restmüll" entferne?

Manche HexEditoren haben ja die Optionen alle Strings über 3 Zeichen zu finden und gelb zu markieren, da spar ich Papier :wink:

CCRDude 27. Apr 2007 15:55

Re: Werte aus einer binären Datei
 
Hab ich noch nicht versucht hier, hab nur schon .exe anhängen sehen wenn ich mich nicht irre, deswegen waren mir keine Einschränkungen bewusst ;)
Und Du hättest ja zumindest beschreiben können, was für Daten das Programm genau darin speichert.

Wenn es Dir nur ganz "billig" um die Texte "irgendwie" geht:
var fs: TFileStream;
var sText: string;
Jedes Byte einzeln auslesen:
* wenn akzeptables Textzeichen (a-z,A-Z,0-9,paar Sonderzeichen) an sText * anhängen,
* sonst:
** wenn länger als Mindestlänge in TMemo ausgeben
** danach auf jeden Fall sText := '';

Für alles andere müsstest Du halt herausfinden, ob einige Bytes in der Datei für Offsets stehen, oder ob die Offsets fest sind; ob sich die Position des Textes vielleicht abhängig von Längen von Blöcken davor unterscheidet, deren Länge auch wieder irgendwo zu finden sein dürfte...

Klaus01 27. Apr 2007 16:11

Re: Werte aus einer binären Datei
 
Oder wenn Du irgenwo eine Linuxkiste stehen hast:

Code:
strings datei.dat > datei.txt
Grüße
Klaus


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