BTemplates.com

Diberdayakan oleh Blogger.

Pages

Pages - Menu

Popular Posts

Selasa, 30 Oktober 2007

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