Code: Alles auswählen
Procedure ASCIIHexToVal(Input$)
*ASCII.Byte = @Input$
While *ASCII\B
If *ASCII\B >= 048 And *ASCII\B <= 057: Value << 4 + *ASCII\B - 048: EndIf
If *ASCII\B >= 065 And *ASCII\B <= 070: Value << 4 + *ASCII\B - 055: EndIf
If *ASCII\B >= 097 And *ASCII\B <= 102: Value << 4 + *ASCII\B - 087: EndIf
*ASCII + 1
Wend
ProcedureReturn Value
EndProcedure
Debug ASCIIHexToVal("A")
Debug ASCIIHexToVal("a")
Debug ASCIIHexToVal("FF")
Debug ASCIIHexToVal("ff")
Debug ASCIIHexToVal("FF00FF")
Debug ASCIIHexToVal("Ff00Ff")
Debug ASCIIHexToVal("66AA")
Code: Alles auswählen
Procedure ASCIIHexToVal(Input$)
*ASCII.Byte = @Input$
For count = 1 To 2
If *ASCII\B >= 048 And *ASCII\B <= 057: Value << 4 + *ASCII\B - 048: EndIf
If *ASCII\B >= 065 And *ASCII\B <= 070: Value << 4 + *ASCII\B - 055: EndIf
If *ASCII\B >= 097 And *ASCII\B <= 102: Value << 4 + *ASCII\B - 087: EndIf
*ASCII + 1
Next count
ProcedureReturn Value
EndProcedure
Debug ASCIIHexToVal("A")
Debug ASCIIHexToVal("a")
Debug ASCIIHexToVal("FF")
Debug ASCIIHexToVal("ff")
Debug ASCIIHexToVal("FF00FF")
Debug ASCIIHexToVal("Ff00Ff")
Debug ASCIIHexToVal("66AA")