Einzelnen Beitrag anzeigen

ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#22

Re: Unbekanntes Dateiformat einlesen

  Alt 4. Dez 2008, 20:30
Code:
07 00 01 00 01 00 01 01 01 63 65 01 
00 02

02 01 0C 00 03 0000 DATEINAME           00 55 02 00 04 S                 00 55 05 00 05 NAME
00 07 13 00 03 0100 SGID_CODIERINDEX    00 1F 05 00 04 B(B)              00 00 0B 00 05 WERT,WERT2
00 10 16 00 03 0200 SGID_HARDWARENUMMER 00 43 05 00 04 S(S)              00 00 0B 00 05 WERT,WERT2
00 10 10 00 03 0300 SGID_SWNUMMER       00 5E 05 00 04 S(S)              00 00 0B 00 05 WERT,WERT2
00 10 0E 00 03 0400 SPEICHERORG         00 40 03 00 04 SS                00 07 0D 00 05 STRUKTUR,TYP
00 61 12 00 03 0500 ANLIEFERZUSTAND     00 49 04 00 04 (B)               00 43 05 00 05 WERT
00 14 13 00 03 0600 CODIERDATENBLOCK    00 13 07 00 04 {L}LWS            00 01 24 00 05 BLOCKNR,WORTADR,BYTEADR,BEZEICHNUNG
00 04 17 00 03 0700 HERSTELLERDATENBLOCK 00 0A 07 00 04 {L}LWS            00 01 24 00 05 BLOCKNR,WORTADR,BYTEADR,BEZEICHNUNG
00 04 17 00 03 0800 RESERVIERTDATENBLOCK 00 00 07 00 04 {L}LWS            00 01 24 00 05 BLOCKNR,WORTADR,BYTEADR,BEZEICHNUNG
00 04 0C 00 03 0900 UNBELEGT1            00 31 0C 00 04 {L}LW{B}(B)       00 5E 24 00 05 BLOCKNR,WORTADR,BYTEADR,INDEX,MASKE
00 6F 0C 00 03 0A00 UNBELEGT2            00 31 04 00 04 (B)               00 43 05 00 05 WERT
00 14 0C 00 03 0B00 KENNUNG_K           00 42 06 00 04 SS(S)             00 50 12 00 05 IDENT,WERT1,WERTN
00 3A 0C 00 03 0C00 KENNUNG_D           00 4A 07 00 04 WW(WW)            00 02 26 00 05 HEXWERT1,HEXWERT2,HEXWERTN1,HEXWERTN2
00 0F 0C 00 03 0D00 KENNUNG_X           00 57 07 00 04 WW(WW)            00 02 26 00 05 HEXWERT1,HEXWERT2,HEXWERTN1,HEXWERTN2
00 0F 0E 00 03 0E00 KENNUNG_ALL         00 4F 06 00 04 SW(W)             00 50 1A 00 05 KENNUNG,HEXWERT1,HEXWERTN
00 32 14 00 03 0F00 PARZUWEISUNG_PSW2    00 39 04 00 04 (B)               00 43 06 00 05 DATUM
00 4A 14 00 03 1000 PARZUWEISUNG_PSW1    00 25 05 00 04 W(B)              00 15 0A 00 05 PSW,DATUM
00 3E 13 00 03 1100 PARZUWEISUNG_DIR    00 19 11 00 04 {L}LWW{B}(B)(A)B  00 16 3A 00 05 BLOCKNR,WORTADR,BYTEADR,FSW,INDEX,MASKE,OPERATION,EINHEIT
00 18 13 00 03 1200 PARZUWEISUNG_FSW    00 07 13 00 04 {L}LWW{B}(B){B}{B} 00 16 38 00 05 BLOCKNR,WORTADR,BYTEADR,FSW,INDEX,MASKE,EINHEIT,INDIVID

00 1E 00 00 FF FF
Hab hatte mal wieder etwas Zeit und hab mich noch mal dem Header gewidmet und habe es so sortiert wie nicodex es forgeschlagen hat.
Noch ein wenig einrückung dazu und schon siehts schick aus
Nun habe ich mir das ganze in Ruhe angeschaut und folgende Theorie entwickelt:
Da man im Moment von einer festen Satzlänge ausgehen kann (durch den CRC Check) kommt folgende aufteilung als schlüssig vor:
03 -> Start ID und Bezeichner
04 -> Start Variablentyp
05 -> Start Variablenname
Also wie nicodex es auch schon meinte.
Was mich immer noch etas verwirrt ist die erste Zeile der Datei und warum startet die Zeile für 'DATEINAME' nicht mit 00

Zu dem Header habe ich mir heute auch mal den Databereich näher angeschaut.
Auch hier feste Satzlänge. Anfang und Ende von gleichen Zeilen (PSW1 z.B.) fangen immer gleich an und Enden gleich.
Code:
DATEINAME : ALC_DS2.C04
0C 0000 ALC_DS2.C04 00 51

SGID_CODIERINDEX : 04,(00)
03 0100 04 00 00 06

SPEICHERORG : BYTE,BLOCK
0B 0400 BYTE 00 BLOCK 00 4C

ANLIEFERZUSTAND : (00 00)
03 0500 01 00 00 07

CODIERDATENBLOCK : {00003000},00000000,0010,Grundkonfiguration_ALC-SG
25 0600 01003000 00000000 0010 00 Grundkonfiguration_ALC-SG 00 18

PARZUWEISUNG_FSW : {00003000},00000000,0001,02D6,{},(00 01),{68},{}
14 1200 01003000 00000000 0001 00 D602 000100 0101 68 00 8B

PARZUWEISUNG_PSW1 : 0002,(00 00)
05 1000 0200 01 00 00 16

PARZUWEISUNG_PSW1 : 0001,(00 01)
05 1000 0100 01 00 01 14

PARZUWEISUNG_FSW : {00003000},00000000,0001,02D4,{},(00 02),{68},{}
14 1200 01003000 00000000 0001 00 D402 000100 0201 68 00 8A

PARZUWEISUNG_PSW1 : 0002,(00 00)
05 1000 0200 01 00 00 16


PARZUWEISUNG_PSW1 : 0001,(00 01)
05 1000 0100 01 00 01 14

PARZUWEISUNG_FSW : {00003000},00000000,0001,0647,{},(00 04),{68},{}
14 1200 01003000 00000000 0001 00 4706 000100 0401 68 00 1B


PARZUWEISUNG_PSW1 : 0002,(00 00)
05 1000 0200 0100 00 16


PARZUWEISUNG_PSW1 : 0001,(00 01)
05 1000 0100 01 00 01 14

UNBELEGT1 : {00003013},0000000F,0001,{},(00 FF)
0F 0900 01 13300000 0F000000 0100 0001 00FF D4

UNBELEGT2 : (00 00)
03 0A00 0100 00 08
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat