Arsip: menambah kata rupiah dibelakang terbilang
more 16 years ago
ricky_seldjatem
saya sudah sempat download program terbilang dari om sony, dan saya modifikasi sedikit, jd ketika nominalnya dimasukan didlm edit box 1, maka secara otomatis edit box 2 nya terisi terbilang dgn fungsi editchange, cuma yang jd masalah bagaimana caranya supaya dibelakang terbilang ada tulisan rupiah. contoh : edit1 = 1500, edit2nya=seribu lima ratus rupiah, berikut contoh source codenya :
function Terbilang(x:integer):string;
const
abil : array of string[10]=('','satu','dua','tiga',
'empat','lima','enam','tujuh','delapan','sembilan',
'sepuluh','sebelas');
begin
if (x<12) then
Result:=' '+abil[x]
else
if (x<20) then
Result:=Terbilang(x-10)+' belas'
else
if (x<100) then
Result:=Terbilang(x div 10)+' puluh'+Terbilang(x mod 10)
else
if (x<200) then
Result:=' seratus'+ Terbilang(x-100)
else
if (x<1000) then
Result:=Terbilang(x div 100)+' ratus'+Terbilang(x mod 100)
else
if (x<2000) then
Result:=' seribu'+ Terbilang(x-1000)
else
if (x<1000000) then
Result:=Terbilang(x div 1000)+' ribu'+Terbilang(x mod 1000)
else
if (x<1000000000) then
Result:=Terbilang(x div 1000000)+' juta'+Terbilang(x mod 1000000);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
edit2.Text:=(terbilang(strtoint(edit1.Text)));
end;
more 16 years ago
betamax
tinggal ditambahin aja lagi dengan string 'Rupiah'
edit2.text := ((Terbilang(Strtoint(Edit1.text))) + 'Rupiah');
met mencoba.
more 16 years ago
mas_kofa
@betamax: tinggal ditambahin aja lagi dengan string 'Rupiah'kurang sepasimet mencoba.edit2.text := ((Terbilang(Strtoint(Edit1.text))) + 'Rupiah');
edit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' Rupiah');
xixixiiii..............:D
more 16 years ago
ImanD
@mas_kofa: [quote:8798c8885e="betamax"]tinggal ditambahin aja lagi dengan string 'Rupiah'wakakakkak R pada Rupiah kudu kecil biar sepadan dengan yg diinginkanmet mencoba.[/quote:8798c8885e] kurang sepasiedit2.text := ((Terbilang(Strtoint(Edit1.text))) + 'Rupiah');
xixixiiii..............:Dedit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' Rupiah');
edit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' rupiah');
more 16 years ago
reminder2k1
@ImanD: [quote:7e74f23f98="mas_kofa"][quote:7e74f23f98="betamax"]tinggal ditambahin aja lagi dengan string 'Rupiah'wakakakakakak... Nyari apalagi yang kurang ya??? Kayaknya dah di embat semua ma bro @ImanD... xixixixixixixi :mrgreen:met mencoba.[/quote:7e74f23f98] kurang sepasiedit2.text := ((Terbilang(Strtoint(Edit1.text))) + 'Rupiah');
xixixiiii..............:D[/quote:7e74f23f98] wakakakkak R pada Rupiah kudu kecil biar sepadan dengan yg diinginkanedit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' Rupiah');
edit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' rupiah');
more 16 years ago
nizar
Asyiiik....
Ini saya lengkapi Terbilang versi VBA Ms. Excel
Function Terbilang(x As Currency) As String
Dim r As Currency, sisa As Currency
abil = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas")
If (x < 12) Then
Result = " " + abil(x)
ElseIf (x < 20) Then
Result = Terbilang(x - 10) + " belas"
ElseIf (x < 100) Then
Result = Terbilang(x \ 10) + " puluh" + Terbilang(x Mod 10)
ElseIf (x < 200) Then
Result = " seratus" + Terbilang(x - 100)
ElseIf (x < 1000) Then
Result = Terbilang(x \ 100) + " ratus" + Terbilang(x Mod 100)
ElseIf (x < 2000) Then
Result = " seribu" + Terbilang(x - 1000)
ElseIf (x < 1000000) Then
Result = Terbilang(x \ 1000) + " ribu" + Terbilang(x Mod 1000)
ElseIf (x < 1000000000) Then
Result = Terbilang(x \ 1000000) + " juta" + Terbilang(x Mod 1000000)
ElseIf (x < 1000000000000#) Then
r = Fix(x / 1000000000#)
sisa = x - r 1000000000#
Result = Terbilang(r) + " milyar" + Terbilang(sisa)
ElseIf (x < 1E+15) Then
r = Fix(x / 1000000000000#)
sisa = x - r 1000000000000#
Result = Terbilang(r) + " trilyun" + Terbilang(sisa)
End If
Terbilang = Result
End Function
cocok gak?
more 16 years ago
alvonz
unit Terbilang;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
Tterbilang = class(TComponent)
private
NullValS : string;
FAuthor : string;
FNumber : integer;
procedure SetNumber(value:integer);
function GetTerbilang:string;
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
published
property Author : string read FAuthor write NullValS;
property Number : integer read FNumber write SetNumber;
property Terbilang : string read GetTerbilang write NullValS;
end;
procedure Register;
implementation
const
Satu = 'satu ';
Belas = 'belas ';
Angka : arrayof string = ('se','dua ','tiga ','empat ',
'lima ','enam ','tujuh ','delapan ',
'sembilan ');
Satuan3 : arrayof string = ('ratus ','puluh ');
Satuan : arrayof string = ('','ribu ','juta ','milyar ');
function Tterbilang.GetTerbilang:string;
var
tmp,tmp2 : string;
TStr : TStringList;
i,j : integer;
begin
TStr:=TStringList.Create;
tmp :=format('%0.0n',[strtofloat(inttostr(FNumber))])+ThousandSeparator;
while tmp <> '' do
begin
TStr.Insert(0,copy(tmp,1,pos(ThousandSeparator,tmp)-1));
delete(tmp,1,pos(ThousandSeparator,tmp));
end;
for i:=0 to TStr.Count-1 do
TStr.Strings[i] :=format('%0.3d',)]);
for i:=TStr.Count-1 downto 0 do
begin
tmp :=TStr.Strings[i];
for j:=1 to 3 do
begin
if tmp[j] = '0' then continue;
case j of
1 : if tmp[j] <> '0' then
tmp2 := tmp2 + Angka[strtoint(tmp[j])] + Satuan3[j];
2 : case tmp[j] of
'1' : begin
case tmp[j+1] of
'0' : tmp2 := tmp2 + Angka[strtoint(tmp[j])] + Satuan3[j];
'1'..'9' : tmp2 := tmp2 + Angka[strtoint(tmp[j+1])] + Belas;
end;
break;
end;
'2'..'9' : tmp2 := tmp2 + Angka[strtoint(tmp[j])] + Satuan3[j];
end;
3 : case tmp[j] of
'1' : case FNumber of
1 : tmp2 := tmp2 + Satu;
1000..1999: if i = 0 then
tmp2 := tmp2 + Satu
else
tmp2 := tmp2 + Angka[strtoint(tmp[j])];
else
tmp2 :=tmp2 + Satu;
end;
else
tmp2 := tmp2 + Angka[strtoint(tmp[j])];
end;
end;
end;
if strtoint(tmp) <> 0 then
tmp2 := tmp2 + Satuan[i];
end;
TStr.Free;
result :=Trim(tmp2);
end;
procedure Tterbilang.SetNumber(value:integer);
begin
if value <> FNumber then FNumber :=value;
end;
constructor Tterbilang.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
FAuthor :='Terbilang Component 2008';
FNumber :=0;
end;
destructor Tterbilang.Destroy;
begin
inherited;
end;
procedure Register;
begin
RegisterComponents('TerbilangComponent', [Tterbilang]);
end;
end.
kali aja bermanfaat nih
more 15 years ago
ichan29
@ImanD: [quote:f2fda0c64b="mas_kofa"][quote:f2fda0c64b="betamax"]tinggal ditambahin aja lagi dengan string 'Rupiah'biar tdk terlalu makan tempat "+" jgn ada spasimet mencoba.[/quote:f2fda0c64b] kurang sepasiedit2.text := ((Terbilang(Strtoint(Edit1.text))) + 'Rupiah');
xixixiiii..............:D[/quote:f2fda0c64b] wakakakkak R pada Rupiah kudu kecil biar sepadan dengan yg diinginkanedit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' Rupiah');
edit2.text := ((Terbilang(Strtoint(Edit1.text))) + ' rupiah');
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- bertanya tentang akses excel dan stringgrid
by muharmen in Tip n Trik Pemrograman more 15 years ago - Button clik jalan di xp, ngak jalan di win 2000 ? bantu donk
by Sutilkon in Tip n Trik Pemrograman more 17 years ago - Icon berubah saat di klik
by felly in Kritik & Saran more 15 years ago - [tips] Perintah SQL -> LIMIT untuk MS SQL.
by cyber_hecker in MsSQL more 17 years ago - program input scan barcode
by ygmarta in Tip n Trik Pemrograman more 13 years ago - [ask] gimana caranya: 1 Aplikasi hanya boleh running di 1 PC
by faisal801m in Tip n Trik Pemrograman more 14 years ago - fungsi count
by novicute in Paradox more 18 years ago - MD5 mysql
by elektra_3328 in MySQL more 13 years ago - gmana supaya panel selalu tampil di tengah aplikasi
by fongers in Tip n Trik Pemrograman more 16 years ago - menampilkan report yang telah di sort pada quick report
by f12dhaus in MySQL more 16 years ago