Lire / Ecrire fichier Garmin GPI
Posté : mar. 03 sept. 2024 19:49
Bonjour,
Débutant, pour mon projet j'aurais besoin de lire (et si possible d'écrire) des fichiers au format Garmin GPI (GPS).
D’après le document qui décrit le format , j'ai essayer de lire le fichier et de le 'traduire" en texte.
Voici mon bout de code de test:
ci_joint format du fichier (PDF) et fichier exemple (à renommer en "test.gpi") Merci d'avance pour vos conseils.
Débutant, pour mon projet j'aurais besoin de lire (et si possible d'écrire) des fichiers au format Garmin GPI (GPS).
D’après le document qui décrit le format , j'ai essayer de lire le fichier et de le 'traduire" en texte.
Voici mon bout de code de test:
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
$sFileGPI="test.gpi"
$h=FileOpen($sFileGPI,$FO_BINARY )
$content=FileRead($h)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $content = ' & $content & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
FileClose($h)
$type=VarGetType($content)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $type = ' & $type & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;~ $ToString=BinaryToString($content)
;~ ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ToString = ' & $ToString & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;~ ConsoleWrite(@CRLF & @CRLF)
$content=StringTrimLeft($content,2) ; cut off the leading "0x"
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $content = ' & $content & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;lit Record type 0: Header1
$next=StringMid($content,9,6)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $next = ' & $next & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$Chr=BinaryToString($next)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Chr = ' & $Chr & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
ConsoleWrite(@CRLF & "---" & @CRLF)
#include <MsgBoxConstants.au3>
$sFileGPI="test.gpi"
$h=FileOpen($sFileGPI,$FO_BINARY )
$content=FileRead($h)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $content = ' & $content & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
FileClose($h)
$type=VarGetType($content)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $type = ' & $type & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;~ $ToString=BinaryToString($content)
;~ ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ToString = ' & $ToString & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;~ ConsoleWrite(@CRLF & @CRLF)
$content=StringTrimLeft($content,2) ; cut off the leading "0x"
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $content = ' & $content & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
;lit Record type 0: Header1
$next=StringMid($content,9,6)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $next = ' & $next & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$Chr=BinaryToString($next)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Chr = ' & $Chr & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
ConsoleWrite(@CRLF & "---" & @CRLF)
ci_joint format du fichier (PDF) et fichier exemple (à renommer en "test.gpi") Merci d'avance pour vos conseils.