Autor Beitrag
oles54
Hlt's aus hier
Beitrge: 3



BeitragVerfasst: Mo 25.12.23 12:59 
Hallo,
ich fange damit an, dass ich ein "Sonntags Programmierer" bin mit sehr marginalen Kenntnissen.
ich stoe im Moment auf folgendes Problem.
Ich wollte mir einen Konverter schreiben (Fertig Programm ist nicht zu finden)
fr eine Sony MOFF Datei (in eine Action Cam geschriebene Datei mit GPS Informationen).
Das Umrechnen der Koordinaten und bringen in einen GPX Format ist kein Problem, aber in der MOFF Datei sind mehrere eingebaute EOF Zeichen an den das Einlesen der Datei zusammenbricht. Wie kann ich die Zeichen eliminieren oder ignorieren und die ganze Datei einlesen.
Ich hoffe das Problem deutlich beschrieben zu haben und freue mich auf die Lsungsvorschlge.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beitrge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 25.12.23 15:04 
Moin und :welcome: im Forum!

Zeig doch mal deinen bisherigen Code, auch wenn es nicht funktioniert. Es ist dann wesentlich einfacher nachzuvollziehen, was da passiert. Insbesondere, wenn man das MOFF-Format nicht kennt (so wie ich z.B.). :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who dont.
oles54 Threadstarter
Hlt's aus hier
Beitrge: 3



BeitragVerfasst: Mo 25.12.23 16:24 
Hier ein Ausschnitt einer MOFF Datei.
ausblenden Dateiinhalt
1:
2:
3:
4:
5:
6:
7:
8:
9:
#MOFF8             M A H 0 6 3 1 3 . M P 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Sd    %d    XP=                                                                                                                                                                                                                                                                    GRUP                      8                        8                                    INDX                         H                            INDX          P                              
              INDX                         BINA       h                  (        _                    `     'xq   A           `           (wy   
                 $     +yp   A           $     s     zt             s          ym                  y     #|n   -           y          "|r                   _(    zs             _(    6˿    yn              BINA        P                   (      _            eB     H        -                   2             (                   BINA       x                  (   #   _                    B                        B      *                     *     :         A               :     <vB                      <vB     4J                      4J     :M                    :M     1T                       1T     _        P              _     bp                     bp     s                     s     p          o          p     <                      <             2   e               \Ȩ        "            \Ȩ                               7                       7              I                                              y        T              y              Q                    I        M               I     go        n             go             52                   ud                     ud     "                    "     .U                     .U     S%                     S%    9                     9    wX                   wX    @/n                    @/n    w!~                     w!~    ᷟ                      ᷟ    {f                       {f    =        F                 =    "       \                BINA       h                  (        _                    `     'xq   A           `           (wy   
                 $     +yp   A           $     s     zt             s          ym                  y     #|n   -           y          "|r                   _(    zs             _(    6˿    yn              BINA        P                   (      _            eB     H        -                   2             (                   BINA       x                  (   #   _                    B                        B      *                     *     :         A               :     <vB                      <vB     4J                      4J     :M                    :M     1T                       1T     _        P              _     bp                     bp     s                     s     p          o          p     <                      <             2   e               \Ȩ        "            \Ȩ                               7                       7              I                                              y        T              y              Q                    I        M               I     go        n             go             52                   ud                     ud     "                    "     .U                     .U     S%                     S%    9                     9    wX                   wX    @/n                    @/n    w!~                     w!~    ᷟ                      ᷟ    {f                       {f    =        F                 =    "       \                BINA  @Sonygps/ver5.0/wgs-84/20230316083125.000/
@Sonygpsoption/0/20230316083126.000/20230316083126.000/
$GPGGA,083126.000,4633.2623,N,1148.1654,E,1,0,,,M,,M,,*41
$GPRMC,083126.000,A,4633.2623,N,1148.1654,E,0.31,,160323,,,A*44
$GPGGA,083127.000,4633.2622,N,1148.1650,E,1,0,,,M,,M,,*45
$GPRMC,083127.000,A,4633.2622,N,1148.1650,E,0.44,,160323,,,A*42

Alles was vor "@Sonygpsoption/0/" kommt ist fr mich uninteressant.
In dem Teil davor kommen schon die EOF Zeichen vor.

bis jetzt habe ich die Datei in ein Memofeld eingelesen - ohne Erfolg.
Dann mit readln auch bleibt am EOF hngen.

Moderiert von user profile iconTh69: Code-Tags hinzugefgt
Holgerx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beitrge: 62
Erhaltene Danke: 27

Win95 - Win11 / MSServer2000 - MSServer2019
Delphi 6pro / XE4
BeitragVerfasst: Di 26.12.23 00:10 
Hmm...

Bei den MOFF Dateien handelt es sich um BINR-Daten, diese kannst Du nicht in TEXT-Komponenten einlesen und verarbeiten, da dort immer wieder mal eine oder mehrere #0 enthalten sind.

Somit musst Du diese Dateien in einen Stream einlesen und dann diesen z.B. nach dem ersten '@Sonygps/' suchen..
Ab dieser Position kannst Du dann den Rest der Daten in eine Stringliste einlesen und verwenden.

Alternativ soll GPSBabel die Files konvertieren knnen.

Da das Format nicht offengelegt wurde, kannst Du die Dateien alternativ Byte fr Byte analysieren und interpretieren...

(So Spielereien habe ich frher fter gemacht, aber nur wenn genug Musterdateien vorhanden sind, z.B. Spielstnde ;)
oles54 Threadstarter
Hlt's aus hier
Beitrge: 3



BeitragVerfasst: Di 26.12.23 01:15 
Danke! Dann suche ich wie man eine binre Datei als stream ffnet.
Bei GPSbabel habe ich leider nichts gefunden
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beitrge: 19274
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 26.12.23 14:26 
TFileStream sollte helfen.