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.