BTemplates.com

Diberdayakan oleh Blogger.

Pages

Pages - Menu

Popular Posts

Selasa, 04 September 2007

Membaca 3 Angka dengan Visual Foxpro


&& FUNCTION Baca3Digit
&& PARAMETERS _bil ; dimana _bil adalah bilangan bulat positif dari 0 s/d 999
&& Untuk membaca dalam bahasa indonesia dari suatu angka yang terdiri dari 3 digit
&& Contoh :
&& Baca3Digit(999) ===> SEMBILAN RATUS SEMBILAN PULUH SEMBILAN
&& Fungsi bantu : IdCurr()AngkaDasar()

FUNCTION Baca3Digit
PARAMETERS _bil
IF VARTYPE(_bil)="C"
        _bil=INT(VAL(_bil))
ENDIF
IF VARTYPE(_bil)<"N"
        RETURN ""
ENDIF
_charbil=IdCur(_bil,3)
_Angkake1=SUBSTR(_charbil,1,1)
_Angkake2=SUBSTR(_charbil,2,1)
_Angkake3=SUBSTR(_charbil,3,1)
_Nil1=VAL(_Angkake1)
_Nil2=VAL(_Angkake2)
_Nil3=VAL(_Angkake3)
_balik=""
IF _Nil1>0
        IF _Nil1=1
                _balik="SERATUS"
        ELSE
                _balik=AngkaDasar(_Nil1)+" RATUS"
        ENDIF
ENDIF
DO CASE
        CASE _Nil2=1 .and. _Nil3=0
                _balik=IIF(!EMPTY(_balik),_balik+" SEPULUH","SEPULUH")
        CASE _Nil2=1 .and. _Nil3=1
                _balik=IIF(!EMPTY(_balik),_balik+" SEBELAS","SEBELAS")
        CASE _Nil2=1 .and. _Nil3>1
                _balik=IIF(!EMPTY(_balik),_balik+" "+AngkaDasar(_Nil3)+;
                            "BELAS",AngkaDasar(_Nil3)+" BELAS")
        CASE _Nil2>1 .and. _Nil3=0
                _balik=IIF(!EMPTY(_balik),_balik+" "+AngkaDasar(_Nil2)+" PULUH";
                            ,AngkaDasar(_Nil2)+" PULUH")
        CASE _Nil2>1 .and. _Nil3>0
                _balik=IIF(!EMPTY(_balik),_balik+" "+AngkaDasar(_Nil2)+;
                            " PULUH "+AngkaDasar(_Nil3),AngkaDasar(_Nil2)+;
                            " PULUH "+AngkaDasar(_Nil3))
        CASE _Nil2=0 .and. _Nil3>0
                _balik=IIF(!EMPTY(_balik),_balik+" "+AngkaDasar(_Nil3),AngkaDasar(_Nil3))
        CASE _Nil2=0 .and. _Nil3=0
                _balik=IIF(!EMPTY(_balik),_balik,"NOL")
ENDCASE
RETURN _balik

0 komentar:

Posting Komentar