salam belajar......
teman-teman yang mungkin dapat tugas dari dosen tentang membuat angka terbilang di foxpro nih.. saya kasih source codenya mungkin bisa membantu teman-teman yang membutuhkanya..
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
nah.. sekarang buka formnya dan desain form seperti tampilan berikut ini :
ketikan listing pada object pada form1 procedure init
Set Proc to
SET PROCEDURE TO terbilang ADDITIVE
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)
terakhir button keluar
thisform.release()
semoga bisa membantu, kalau mau download source codenya di sini
Rabu, 18 Mei 2011
...::Membuat Angka Terbilang di Foxpro::...
03.58
Akbar...
3 comments
3 komentar:
bro...
gimana cara buat report utk cetak Cek?, mohon bantuannya dong, masalahnya ukuran kertas kan kecil belum lagi klo pk @say..., terbilang tidak muat
thk sebelumnya
cara save terbilang itu gmn bro??
biar bs masuk ke tabel
Thx mr.good man..
Posting Komentar