Oleh: admin | 18/06/2012

Membuat Angka Terbilang di Foxpro 9

Biasanya dalam pencetakkan kwitansi atau laporan yang mengandung nilai uang akan disertai dengan keterangan nilai. Keterangan nilai yang dimaksud disini adalah angka terbilang. Nah, bagaimana cara membuatnya ??

1. silahkan membuat satu project baru
2. buat satu form
3. dan buat satu code baru

kemudian ketikkan listing berikut di tab code yang baru anda buat tadi…

Function fnterbilang
*-------------------

Lparameter mNumerik
Private MCHASIL,MNLOOP,MCUANG,MNONE,MNTWO,MNTREE
Private MCANGKA0,MCANGKA1,MCANGKA2,MCANGKA3
Private MCANGKA4,MCANGKA5,MCANGKA6,MCANGKA7
Private MCANGKA8,MCANGKA9
Private MCSATU,MCDUA,MCTIGA,MCGABUNG,MCSEN1,MCSEN2

MCHASIL=''
MCUANG=STR(MNUMERIK,15,2)
MNONE=1
MNTWO=2
MNTREE=3
MCANGKA0=''
MCANGKA1="Satu "
MCANGKA2="Dua "
MCANGKA3="Tiga "
MCANGKA4="Empat "
MCANGKA5="Lima "
MCANGKA6="Enam "
MCANGKA7="Tujuh "
MCANGKA8="Delapan "
MCANGKA9="Sembilan "
MCGABUNG=""

FOR MNLOOP = 1 To 4

MCSATU=SUBSTR(MCUANG,MNONE,1)
MCDUA=SUBSTR(MCUANG,MNTWO,1)
MCTIGA=SUBSTR(MCUANG,MNTREE,1)
MCGABUNG=MCSATU+MCDUA+MCTIGA
IF VAL(MCSATU)=1
MCHASIL=MCHASIL+ "Seratus "
ELSE
IF VAl(MCSATU)>1
MCHASIL=MCHASIL+MCANGKA&MCSATU+ "Ratus "
ENDIF
ENDIF
DO CASE
CASE VAL(MCDUA)=1
DO CASE
CASE VAL(MCTIGA)=0
MCHASIL=MCHASIL+"Sepuluh "
CASE VAL(MCTIGA)=1
MCHASIL=MCHASIL+"Sebelas "
OTHER
MCHASIL=MCHASIL+ALLTRIM(MCANGKA&MCTIGA)+;
"belas "
ENDCASE
CASE VAL(MCDUA)>1
MCHASIL=MCHASIL+MCANGKA&MCDUA+"Puluh "+;
MCANGKA&MCTIGA
CASE VAL(MCDUA)=0.AND.VAL(MCTIGA)>0
IF (MNLOOP=3.AND.MCGABUNG="001") .OR. ;
(MNLOOP=3.AND.MCGABUNG=" 1")
MCHASIL=MCHASIL+"Seribu "
ELSE
MCHASIL=MCHASIL+MCANGKA&MCTIGA
ENDIF
ENDCASE

DO CASE
CASE MNLOOP=1.AND.VAL(MCGABUNG)>0
MCHASIL=MCHASIL+"Milyar "
CASE MNLOOP=2.AND.VAL(MCGABUNG)>0
MCHASIL=MCHASIL+"Juta "
CASE MNLOOP=3.AND.VAL(MCGABUNG)>0
IF MCGABUNG="001".OR.MCGABUNG=" 1"
MCHASIL=MCHASIL+""
ELSE
MCHASIL=MCHASIL+"Ribu "
ENDIF
ENDCASE
MNONE=MNONE+3
MNTWO=MNTWO+3
MNTREE=MNTREE+3
NEXT MNLOOP
MCSEN1=SUBSTR(MCUANG,14,1)
MCSEN2=SUBSTR(MCUANG,15,1)
IF LEN(MCHASIL)>1
MCHASIL=MCHASIL+"Rupiah "
ENDIF

DO CASE
CASE VAL(MCSEN1)=0.AND.VAL(MCSEN2)>0
MCHASIL=MCHASIL+MCANGKA&MCSEN2+"Sen"
CASE VAL(MCSEN1)=1
DO CASE
CASE VAL(MCSEN2)=0
MCHASIL=MCHASIL+"Sepuluh Sen"
CASE VAL(MCSEN2)=1
MCHASIL=MCHASIL+"Sebelas Sen"
CASE VAL(MCSEN2)>1
MCHASIL=MCHASIL+ALLTRIM(MCANGKA&MCSEN2)+;
"belas Sen"
ENDCASE
CASE VAL(MCSEN1)>1
MCHASIL=MCHASIL+MCANGKA&MCSEN1+ "Puluh "+;
MCANGKA&MCSEN2 + "Sen "
ENDCASE
RETURN MCHASIL


Kemudian ketikan listing pada object pada form1 procedure init

With Thisform
.text4.value=0
.text4.inputmask='999,999,999,999.99'
.edit1.value=''
.text4.setfocus
Endwith
do case
case dow(date())=1
mhari="Minggu"
case dow(date())=2
mhari="Senin"
case dow(date())=3
mhari="Selasa"
case dow(date())=4
mhari="Rabu"
case dow(date())=5
mhari="Kamis"
case dow(date())=6
mhari="Jumat"
case dow(date())=7
mhari="Sabtu"
endcase
thisform.label3.Caption =mhari

dan object form1 procedure refresh()

a=thisform.text4.value
thisform.edit1.value=fnterbilang(a)

kemudian object jumlah_dana procedure lostfocus

thisform.Refresh()

object terbilang procedure refresh

a=thisform.text4.value
thisform.edit1.value=fnterbilang(a)

Download source codenya di sini
Sumber dari sahabat sama-sama orang kampung/desa


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: