Тема: AHK: Получение шестнадцатеричного числа из текста и наоборот.
Что бы получить число из текста у меня получилось
SetFormat, IntegerFast, hex
GetHexInStr(String)
{
hex := {1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15}
loop,parse,String
e+= (hex[A_LoopField]<<((StrLen(String)-A_Index)*4))
return e
}
msgbox % GetHexInStr("50F") + 0
А вот что бы наоборот, возникли трудности
SetFormat, IntegerFast, hex
GetStrInInt(Integer)
{
hex := {0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}
loop
msgbox % hex[(Integer>>(A_Index-1)*4)&0xF]
}
msgbox % GetStrInInt(0x50F)
Проблема в том то что я не знаю как определить размер этого числа для остоновки цикла.