function Dec2Hex(nDec,lPad)
local nDig
local cHex := ""
lPad := lPad=nil .or. lPad
while .T.
nDig := nDec%16
cHex := if(nDig>9, Chr(Asc("A")+nDig-10), Str(nDig,1)) + cHex
*
if (nDec := Int(nDec/16)) < 16
if nDec > 0
cHex := if(nDec>9, Chr(Asc("A")+nDec-10), Str(nDec,1)) + cHex
end
exit
end
end
return if(lPad, PadL(cHex,Len(cHex)+if(Len(cHex)%2=0,0,1),"0"), cHex)