Kamis, 01 November 2012

FUNGSI TERBILANG PADA FOXPRO

Teman-teman semua, ini ada coding Foxpro untuk membuat Fungsi terbilang pada Foxpro. Hasilnya nanti akan sama seperti Tulisan Terbilang  pada  Kuitansi, Misalnya " Terbilang : Seratus Juta, Seratus Sepuluh Ribu Sen." hEHEHEH.. Pada kesempatan ini, kita akan mencoba membuatnya, tapi maaf, ini dibuat dalam bentuk mata uang Dollar.. Karna Bahasa indox kan gampang buanget.. Jadi lngsu aja..
Buat sebuah Program pada menu code foxpro dengan Listing sebagai berikut :

ON ERROR
RETURN .f.
Function Terbilang(MNNUMERIK,St)
Private Hasil,MNLOOP,MCArto,MNONE,MNTWO,MNTREE
Private MCOngko0,MCOngko1,MCOngko2,MCOngko3
Private MCOngko4,MCOngko5,MCOngko6,MCOngko7
Private MCOngko8,MCOngko9
Private MCSATU,MCDUA,MCTIGA,MCGABUNG,MCSEN1,MCSEN2
Hasil=''
MCArto=Str(MNNUMERIK,15,2)
MNONE=1
MNTWO=2
MNTREE=3
MCOngko0=''
MCOngko1="Satu "
MCOngko2="Dua "
MCOngko3="Tiga "
MCOngko4="Empat "
MCOngko5="Lima "
MCOngko6="Enam "
MCOngko7="Tujuh "
MCOngko8="Delapan "
MCOngko9="Sembilan "
MCGABUNG=""
For MNLOOP = 1 To 4
MCSATU=Substr(MCArto,MNONE,1)
MCDUA=Substr(MCArto,MNTWO,1)
MCTIGA=Substr(MCArto,MNTREE,1)
MCGABUNG=MCSATU+MCDUA+MCTIGA
If Val(MCSATU)=1
Hasil=Hasil + "Seratus "
Else
If Val(MCSATU) > 1
Hasil=Hasil + MCOngko&MCSATU + "Ratus "
Endif
Endif
Do Case
Case Val(MCDUA) = 1
Do Case
Case Val(MCTIGA)=0
Hasil=Hasil + "Sepuluh "
Case Val(MCTIGA)=1
Hasil=Hasil + "Sebelas "
Other
Hasil=Hasil + Alltrim(MCOngko&MCTIGA)+;
" Belas "
Endcase
Case Val(MCDUA) > 1
Hasil=Hasil + MCOngko&MCDUA + "Puluh "+;
MCOngko&MCTIGA
Case Val(MCDUA)=0 .And. Val(MCTIGA) > 0
If (MNLOOP=3 .And. MCGABUNG="001") .Or. ;
(MNLOOP=3 .And. MCGABUNG="  1")
Hasil=Hasil+"Seribu  "
Else
Hasil=Hasil+MCOngko&MCTIGA
Endif
Endcase
Do Case
Case MNLOOP=1 .And. Val(MCGABUNG)>0
Hasil=Hasil+"Milyar "
Case MNLOOP=2 .And. Val(MCGABUNG)>0
Hasil=Hasil+"Juta "
Case MNLOOP=3 .And. Val(MCGABUNG)>0
If MCGABUNG="001" .Or. MCGABUNG="  1"
Hasil=Hasil+" "
Else
Hasil=Hasil+"Ribu "
Endif
Endcase
MNONE=MNONE+3
MNTWO=MNTWO+3
MNTREE=MNTREE+3
Next MNLOOP
MCSEN1=Substr(MCArto,14,1)
MCSEN2=Substr(MCArto,15,1)
If Empty(St)
If Len(Hasil)>1
Hasil=Hasil+"Dollar "
Endif
Do Case
Case Val(MCSEN1)=0 .And. Val(MCSEN2)>0
Hasil=Hasil+MCOngko&MCSEN2
Case Val(MCSEN1) = 1
Do Case
Case Val(MCSEN2)=0
Hasil=Hasil+"Sepuluh"+"Sen"
Case Val(MCSEN2)=1
Hasil=Hasil+"Sebelas"+"Sen"
Case Val(MCSEN2)>1
Hasil=Hasil+Alltrim(MCOngko&MCSEN2)+"belas "+"Sen "
Endcase
Case Val(MCSEN1) > 1
Hasil = Hasil +MCOngko&MCSEN1 + "Puluh " +MCOngko&MCSEN2 +"Sen " Endcase
Else
Hasil=Alltrim(Hasil)
Endif
Return Alltrim(Hasil)
ENDFUNC

*SET PROCEDURE TO bilang_new2.prg
*?terbilang(10)
*?terbilang(10.50)

Setelah itu, pada Formnya tinggal dipakai aja fungsinya.

Tidak ada komentar:

Posting Komentar

Featured Post 5

Recent Posts

Featured Post 4

 
Copyright © 2015 Aitoin-Anan.Com
Distributed By My Blogger Themes | Design By Herdiansyah Hamzah