Home › Forums › General › Programming › How to get label content and send it via SysEx? › Reply To: How to get label content and send it via SysEx?
March 28, 2018 at 10:06 pm
#83204
Instead to isolate each character and treating it with an if, you can treat the complete string at once with:
--
-- Returns HEX representation of a DECimal number
--
dec2hex = function(num)
local hexstr = '0123456789ABCDEF'
local s = ''
while num > 0 do
local mod = math.fmod(num, 16)
s = string.sub(hexstr, mod+1, mod+1) .. s
num = math.floor(num / 16)
end
if s == '' then s = '0' end
return s
end
--
-- For the conversion of a DECimal number to anything else
-- it is just needed to use the built-in Lua function tonumber(string, base)
--
-- print(tonumber("0100",2))
-- 4
-- print(tonumber("3F",16))
-- 63
--
-- Returns HEX representation of a String
--
function str2hex(str)
local hex = ''
while #str > 0 do
local hb = dec2hex(string.byte(str, 1, 1))
if #hb < 2 then hb = '0' .. hb end
hex = hex .. hb
str = string.sub(str, 2)
end
return hex
end
Then to use it it is as simple as:
str2hex(txtLayerBName:getComponent():getProperty(“uiLabelText”))