Hello semua, jumpa lagi dengan saya disini. Kali ini kita akan bermain-main dengan Delphi, tepatnya yaitu membuat komponen terbilang. Apa sih itu? Komponen terbilang itu adalah komponen untuk mengkonversikan suatu angka menjadi format terbilang seperti yang sering Anda lihat pada kuitansi. Contohnya angka 154 akan diterjemahkan menjadi "seratus lima puluh empat". Tulisan ini tidak akan membahas cara pembuatan komponennya, Anda tinggal langsung bisa download komponennya (ada pada bagian bawah tulisan ini) dan langsung diinstall. Komponen ini bisa digunakan pada Delphi 5 dan 6. Delphi 7 belum dicoba tetapi semestinya bisa dicoba. Rutin dari proses konversi dari angka menjadi numerik pada komponen ini akan ditampilkan sebagai berikut.
Code di atas adalah potongan dari full code yang membentuk komponen delphi terbilang ini. Install komponen ini pada Delphi dan silakan Anda coba menggunakannya. Caranya mudah saja. Komponen ini memiliki dua properti yang penting yaitu Number dan Terbilang. Anda cukup memasukkan angka yang hendak Anda konversikan pada properti Number dan hasilnya bisa dilihat pada properti Terbilang. Komponen yang diberi nama ATTerbilang ini akan terinstall pada tab komponen yang berlabel AriTech. Sekian dulu, segala saran dan komentar silakan layangkan Sini.const Satu = 'satu '; Belas = 'belas '; Angka : array[1..9]of string = ('se',
'dua ' ,'tiga ','empat ', 'lima ','enam ','tujuh ','delapan ', 'sembilan ');
Satuan3 : array[1..2]of string = ('ratus ','puluh '); Satuan : array[0..3]of
string = ('','ribu ','juta ','milyar '); function TATTerbilang.GetTerbilang:
string; var tmp,tmp2 : string; TStr : TStringList; i,j : integer; begin TStr:
=TStringList.Create;tmp :=format('%0.0n',[strtofloat(inttostr(FNumber))])+Tho
usandSeparator; 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',[strtoint
(TStr.Strings[i])]); 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;
Object Inspector Komponen ATTerbilang
download ......>
http://www.ziddu.com/download/5253786/atterbilang.zip.html