Datentyp ermitteln
Datentyp ermitteln
Angenommen ich habe eine Datei, in der Strings, Words, Floats und bytes in unbekannter Reihenfolge auftreten, wie kann ich dann jeden Datentyp korrekt auslesen?
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Du müsstest das ganz so in die Datei schreiben:
B:AW:ABL:ABCDF:kAoOS:4:Test
Der 1. Buchstabe gibt den Datentyp an. Getrennt durch ein : folgen
dann die Daten. Ausgenommen ist hier S. S steht für String. Aber
gefolgt wird S durch die Anzahl der Bytes, die der String enthält.
dann kommt erst der Daten abschnitt.
B:AW:ABL:ABCDF:kAoOS:4:Test
Der 1. Buchstabe gibt den Datentyp an. Getrennt durch ein : folgen
dann die Daten. Ausgenommen ist hier S. S steht für String. Aber
gefolgt wird S durch die Anzahl der Bytes, die der String enthält.
dann kommt erst der Daten abschnitt.
Dann gibts nur 3 Möglichkeiten:
1. Du suchst dir 'ne Dokumentation des DateiTyps oder fragst den, der die Datei gebastelt hat wie 'se aufgebaut ist.
2. Du nimmst einen HexEditor (o.Ä.) und analysierst die Datei, dadurch bekommt man zwar meist nicht alle Daten die drinstehen, aber die wichtigsten.
3. Du führst den Code aus ...
... und hoffst auf ein Wunder 
1. Du suchst dir 'ne Dokumentation des DateiTyps oder fragst den, der die Datei gebastelt hat wie 'se aufgebaut ist.
2. Du nimmst einen HexEditor (o.Ä.) und analysierst die Datei, dadurch bekommt man zwar meist nicht alle Daten die drinstehen, aber die wichtigsten.
3. Du führst den Code aus ...
Code: Alles auswählen
If ReadFile(0,"...")
While Eof() <> 0
Select Random(3)
Case 0
Debug ReadByte()
Case 1
Debug ReadWord()
Case 2
Debug ReadLong()
Case 3
Debug ReadString()
EndSelect
Wend
CloseFile(0)
EndIf


[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]