Si te contesto para hexadecimal me vas a preguntar para octal así que mejor te propongo esta:
Código Delphi
[-]
function DecToBaseN(D, N: Integer): String;
const
Digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
begin
if D > 0
then Result := DecToBaseN(D div N, N) + Digits[(D mod N) + 1]
else Result := '';
end;
que convierte de decimal a cualquier base (al menos hasta base 36)
// Saludos