*------------------------------------------------ FUNCTION _Dec2Hex(nDecimal) *------------------------------------------------ * Transforma un número decimal a hexadecimal * USO: _Dec2Hex(nDecimal) * RETORNA: Caracter *------------------------------------------------ LOCAL lcHexa, lcChr, lnResto lcHexa='' DO WHILE nDecimal > 0 lnResto = MOD(nDecimal,16) nDecimal = INT(nDecimal / 16) lcChr = IIF(lnResto < 10,STR(lnResto,1),CHR(lnResto + 55)) lcHexa = lcChr + lcHexa ENDDO RETURN lcHexa ENDFUNC *------------------------------------------------ FUNCTION _Hex2Dec(cHexa) *------------------------------------------------ * Transforma un número hexadecimal a decimal * USO: _Hex2Dec(cHexadecimal) * RETORNA: Numérico *------------------------------------------------ LOCAL lnFinal, lnDecimal, lnI, lnPeso, lnAsc cHexa = UPPER(ALLTRIM(cHexa)) lnFinal = LEN(cHexa) lnDecimal = 0 FOR lnI = lnFinal TO 1 STEP -1 lnAsc = ASC(SUBS(cHexa,lnI,1)) lnPeso = IIF(BETWEEN(lnAsc,48,57),lnAsc-48,lnAsc-55) lnDecimal = lnDecimal + lnPeso * 16^(lnFinal - lnI) ENDFOR RETURN lnDecimal ENDFUNC *------------------------------------------------