Data Classification: 0
Key Note: (0-Public; 1-Internal; 2-Confidential; 3-Strictly
Confidential)
Atau kayak gini :
double ld_divisor,ld_large_amount,ld_tiny_amount,ld_dividen,ld_dummy
string ls_word
string ls_weight1,ls_weight2,ls_unit,ls_follower, &
ls_prefix[] = {'SE','DUA ','TIGA ','EMPAT ','LIMA ','ENAM ','TUJUH
','DELAPAN ','SEMBILAN '}, &
ls_sufix[] = {'SATU ','DUA ','TIGA ','EMPAT ','LIMA ','ENAM ','TUJUH
','DELAPAN ','SEMBILAN '}
ls_word = ''
ld_large_amount = abs(truncate(ad_amount,0) )
ld_tiny_amount = round((abs(ad_amount) - ld_large_amount ) * 100,0)
ld_divisor = 1000000000000.00
IF ld_large_amount > ld_divisor THEN return 'OUT OF RANGE'
DO WHILE ld_divisor >= 1
ld_dividen = truncate(ld_large_amount / ld_divisor,0)
ld_large_amount = mod(ld_large_amount,ld_divisor)
ls_unit = ''
IF ld_dividen > 0 THEN
CHOOSE CASE ld_divisor
CASE 1000000000000.00
ls_unit = 'TRILYUN '
CASE 1000000000.00
ls_unit = 'MILYAR '
CASE 1000000.00
ls_unit = 'JUTA '
CASE 1000.00
ls_unit = 'RIBU '
END CHOOSE
END IF
ls_weight1 = ''
ld_dummy = ld_dividen
IF ld_dummy >= 100 THEN ls_weight1 = ls_prefix[truncate(ld_dummy /
100,0) ] + 'RATUS '
ld_dummy = mod(ld_dividen,100)
CHOOSE CASE ld_dummy
CASE IS < 10
IF ld_dummy = 1 AND ls_unit = 'RIBU ' THEN
ls_weight1 += 'SE'
ELSEIF ld_dummy > 0 THEN
ls_weight1 += ls_sufix[ld_dummy]
END IF
CASE 11 TO 19
ls_weight1 += ls_prefix[mod(ld_dummy,10) ] + 'BELAS '
CASE ELSE
ls_weight1 += ls_prefix[truncate(ld_dummy / 10,0) ] + 'PULUH '
IF mod(ld_dummy,10) > 0 THEN ls_weight1 += ls_sufix[mod(ld_dummy,10)
]
END CHOOSE
ls_word += ls_weight1 + ls_unit
ld_divisor /= 1000.00
LOOP
IF truncate(ad_amount,0) = 0 THEN ls_word = 'NOL '
ls_follower = ''
CHOOSE CASE ld_tiny_amount
CASE IS < 10
IF ld_tiny_amount > 0 THEN ls_follower = 'KOMA NOL ' +
ls_sufix[ld_tiny_amount]
CASE ELSE
ls_follower = 'KOMA ' + ls_sufix[truncate(ld_tiny_amount / 10,0) ]
IF mod(ld_tiny_amount,10) > 0 THEN ls_follower +=
ls_sufix[mod(ld_tiny_amount,10) ]
END CHOOSE
ls_word += ls_follower
IF ad_amount < 0 THEN ls_word = 'MINUS ' + ls_word
return trim(ls_word)
Setelah itu jalanin fungsi ini
f_amount_in_word(251450)
Regards,
Ruby Zanuar Z.
IT-Employee Benefit
PT. Asuransi ALLIANZ Life Indonesia
Summitmas II Lt. 19
Jl. Jend. Sudirman kav 61-62
Jakarta, 12190
Phone : 62-21-52998888 Ext. 2082
Fax : 62-21-52998880, 62-21-30003400
E-mail : [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf
Of MAJID
Sent: Thursday, December 27, 2007 6:17 AM
To: [email protected]
Subject: Re: [indopb] Adakah contoh Fungsi Terbilang ?
Misal nama DataWindow namanya= dw_header
Misal Colom Name yang mau di BILANG kan namanya : jumlah
tinggal bikin Windows function: misal namanya :wf_terbilang
Tinggal manggil! tempatkan di st_terbilang.Text !
------------------------------------------------------------------------
------
ilTerbilang = dw_header.GetItemNumber(dw_header.RowCount(),"jumlah")
dw_header.Object.st_terbilang.Text = '# ' +
wf_bilang(String(ilTerbilang)) + ' Rupiah #'
------------------------------------------------------------------------
------
"wf_terbilang" (string as_bilang) return string -->isinya kayak gini:
------------------------------------------------------------------------
-
INT li_LenBil, I
STRING
ls_BilStr,ls_Bs0,ls_Bs1,ls_Bs2,ls_Bs3,ls_TeksKwitansi,ls_TeksJuta,ls_Tek
sKon,ls_TeksRibu,ls_TeksSatuan,ls_TeksMilyard
STRING ls_Teks,ls_Tsalah,ls_Tbenar,ls_min
ls_Teks='Satu Dua Tiga Empat Lima Enam Tujuh Delapan
SembilanNol '
ls_Tsalah='Satu Puluh Satu Satu Puluh Dua Satu Puluh Tiga Satu
Puluh Empat Satu Puluh Lima Satu Puluh Enam Satu Puluh Tujuh
Satu Puluh Delapan Satu Puluh SembilanSatu Puluh Satu Ratus
Nol Ratus Nol Puluh Nol '
ls_Tbenar='Sebelas Duabelas Tigabelas Empatbelas
Limabelas Enambelas Tujuhbelas Delapanbelas Sembilanbelas
Sepuluh Seratus '
if left(as_bilang,1) = '-' Then
ls_min = 'Min '
as_bilang = right(as_bilang,len(as_bilang) -1 )
end if
ls_BilStr=lefttrim(as_Bilang)
li_LenBil=len(ls_BilStr)
if li_LenBil < 12 then
for I=1 to 12 - li_LenBil
ls_BilStr = '0' + ls_BilStr
next
end if
ls_Bs0 = MID(ls_BilStr,1,3)
ls_Bs1 = MID(ls_BilStr,4,3)
ls_Bs2 = MID(ls_BilStr,7,3)
ls_Bs3 = MID(ls_BilStr,10,3)
ls_TeksMilyard =
wf_Koreksi(wf_UbahTeks(ls_Bs0,ls_Teks),ls_Tsalah,ls_Tbenar)
if ls_TeksMilyard <> "" THEN
ls_TeksMilyard = ls_TeksMilyard + ' Milyard '
end if
ls_TeksJuta =
wf_Koreksi(wf_UbahTeks(ls_Bs1,ls_Teks),ls_Tsalah,ls_Tbenar)
if ls_TeksJuta <> "" THEN
ls_TeksJuta = ls_TeksJuta + ' Juta '
end if
ls_TeksRibu =
wf_Koreksi(wf_UbahTeks(ls_Bs2,ls_Teks),ls_Tsalah,ls_Tbenar)
if ls_TeksRibu <> "" Then
ls_TeksRibu = ls_TeksRibu + ' Ribu '
end if
if ls_TeksRibu = 'Satu Ribu ' Then
ls_TeksRibu = 'Seribu '
end if
ls_TeksSatuan =
wf_Koreksi(wf_UbahTeks(ls_Bs3,ls_Teks),ls_Tsalah,ls_Tbenar)
if ls_TeksSatuan <> "" Then
ls_TeksSatuan = ls_TeksSatuan
end if
ls_TeksKwitansi = ls_min + ls_TeksMilyard + ls_TeksJuta + ls_TeksRibu +
ls_TeksSatuan //+ ' Rupiah'
return ls_TeksKwitansi
----- Original Message -----
From: stvhui <mailto:[EMAIL PROTECTED]>
To: [email protected] <mailto:[email protected]>
Sent: Wednesday, December 26, 2007 5:40 PM
Subject: [indopb] Adakah contoh Fungsi Terbilang ?
Hello PB'ers
Adakah contoh Fungsi Terbilang ?
Thanks
Steven 081 2604 1581
This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed. If
you have received this email in error please notify the system manager. This
message contains confidential information and is intended only for the
individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail.