Publié : ven. 03/déc./2004 12:06
Voilà ce que j'avais fait (la recherche sur les mots "hexa" ou "conversion" permettait de le retrouver) :
C'est trés nettement moins élégant que la version de Brossden. Ca a juste de le mérite de gérer les chaines commençant par $ ($E8, par exemple) et d'être (peut-être) un peu plus rapide à l'execution (mais c'est par sûr).
Code : Tout sélectionner
Procedure ValH(hs$)
; Zapman
; à partir d'une procédure de El Choni
; From a El Choni proc
result = 0
p=0
hs$ = UCase (hs$)
If Left(hs$,1)="$" : d=2 : else : d=1 : EndIf
For t = Len(hs$) To d Step -1
ByteValue = Asc(Mid(hs$,t,1))
If ByteValue>'9'
If ByteValue>'F' : ByteValue-87 : Else : ByteValue-55 : EndIf
Else
ByteValue-48
EndIf
result = result + (ByteValue<<(4*p))
p +1
Next
ProcedureReturn result
EndProcedure
Debug valH("$FF")