Konversi Desimal ke Hexadesimal dalam Visual Foxpro
&& FUNCTION Dec2Hex
&& Untuk mengubah bilangan bulat tak negatif menjadi bilangan hexadesimal
&& PARAMETERS _DecNum merupakan bilangan bulat tak negatif
&& RETURN : Bilangan Hexadesimal
FUNCTION Dec2Hex
PARAMETERS _DecNum
IF VARTYPE(_DecNum)="C"
_DecNum=VAL(_DecNum)
ENDIF
IF VARTYPE(_DecNum)<>"N"
_DecNum=0
ENDIF
_DecAwal=_DecNum
_balik=""
_Sisa=0
DO WHILE _DecAwal>15
_Int=INT(_DecAwal/16)
_Sisa=_DecAwal-_Int*16
_balik=Dec2HexTbl(_sisa)+_Balik
_DecAwal=_Int
ENDDO
_Balik=Dec2HexTbl(_DecAwal)+_Balik
RETURN _Balik
&& FUNCTION Dec2HexTbl
&& Merupakan fungsi bantu untuk menterjemahkan satu digit bilangan bulat
&& tak negatif menjadi satu digit bilangan hexadesimal
&& PARAMETERS __DecNum satu digit bilangan bulat tak negatif
&& RETURN __Balik satu digit bilangan hexadesimal
FUNCTION Dec2HexTbl
PARAMETERS __DecNum
IF VARTYPE(__DecNum)="C"
__DecNum=VAL(__DecNum)
ENDIF
IF VARTYPE(__DecNum)<>"N"
__DecNum=0
ENDIF
DO CASE
CASE __DecNum=0
__Balik="0"
CASE __DecNum=1
__Balik="1"
CASE __DecNum=2
__Balik="2"
CASE __DecNum=3
__Balik="3"
CASE __DecNum=4
__Balik="4"
CASE __DecNum=5
__Balik="5"
CASE __DecNum=6
__Balik="6"
CASE __DecNum=7
__Balik="7"
CASE __DecNum=8
__Balik="8"
CASE __DecNum=9
__Balik="9"
CASE __DecNum=10
__Balik="A"
CASE __DecNum=11
__Balik="B"
CASE __DecNum=12
__Balik="C"
CASE __DecNum=13
__Balik="D"
CASE __DecNum=14
__Balik="E"
CASE __DecNum=15
__Balik="F"
ENDCASE
RETURN __Balik
0 komentar:
Posting Komentar