Page 1 of 1
Posted: 09 Jul 2014, 01:10
by oli_lab
Hi all !
I know that one is a far cry, but would anyone had already made a script that translate decimal numbers into HEX?
I'm experimenting with RFID tags...
thanks
Olivar
Posted: 11 Jul 2014, 22:11
by caco
How about this? Note that it will round your input down to an integer prior to the conversion to hex so you may lose some precision..
Code: Select all
//////////////////////////////////////////////////////
// Int to Hex
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// Paramters declaration
//////////////////////////////////////////////////////
var input : Tparameter;
var output: Tparameter;
//////////////////////////////////////////////////////
// initialisation procedure
//////////////////////////////////////////////////////
procedure init;
begin
input := CreateParam('input', ptDatafader);
SetIsOutput(input,false);
SetMin(input, 0);
SetMax(input, 2048);
SetSymbol(input,'');
SetDefaultValue(input,10);
SetValue(input,10);
output := CreateParam('output',ptTextField);
SetIsInput(output,false);
SetMin(output,0);
SetMax(output,100);
SetSymbol(output,'');
SetDefaultValue(output,10);
end;
// Global Variables
var inval : single;
//////////////////////////////////////////////////////
// Main Loop procedure
//////////////////////////////////////////////////////
Procedure Callback(N:integer);
begin
inval := getValue(input);
setstringvalue(output, IntToHex(Trunc(inval)));
end;
Posted: 12 Jul 2014, 11:17
by oli_lab
Thanx 0xFFFF times !
Now I can display the RFID tag in HEX, just like on my phone !
Those RFID Tags will be used to change patches and preset in Hollyhock
Code: Select all
//////////////////////////
// Array values (INTEGERS) to HEX commaText
/////////////////////////
CONST MAX_ITEMS = 8;
var ArrayIn, CommaOUT: Tparameter;
var SL1: TstringList;
/////////////////////////////
procedure init;
var i: integer;
begin
SetModuleColor($808080+302060);
ArrayIn:= CreateParam('ArrayIn', PtArray);
SetIsOutput(ArrayIn,False); SetMin(ArrayIn,0); setMax(ArrayIn,MAXINT);
CommaOUT:= CreateParam('CommaOUT',PtTextField);
setisINPUT(commaOut,false);
SL1.create;
END;//INIT
///////////////////////////////////////////
Procedure Callback(N:integer);
var i, L: integer;
var s : string;
begin
if (n=ArrayIn)
then begin
SL1.Clear;
L:= getLength(ArrayIn);
if L< MAX_ITEMS
then begin
For i:= 0 to L-1
do begin
s := IntToHex(trunc(getDataArrayValue(ArrayIn,i)));
SL1.add(s);
end;
setStringValue(CommaOut,SL1.GetCommatext);
end;
end;
END;//CB
////////////////////////////////////////
Procedure Destroy;
begin
SL1.free;
end;
///////////////////////////////