On Senin, 02 Januari 2012
Secara default, Tedit pada Delphi ketika diinput akan menampilkan
angka tanpa titik atau pemisah ribuan. Tetapi ada kasus yang membutuhkan
format Currency atau format yang menggunakan titik dan koma pemisah,
misalnya pada saat menginput angka 1000000, diharapkan agar Tedit secara otomatis mengubah inputan menjadi 1.000.000.
Disini saya akan mencoba menguraikan sedikit bagaimana melakukannya.
Sebagai awal, terlebih dahulu tambahkan komponen TEdit pada Form kemudian pada event onchange dari komponent TEdit tersebut tambahkan script sehingga menjadi:
procedure TForm1.edit1Change(Sender: TObject);Sekarang pada saat TEdit1 diinput, dengan sendirinya akan menyesuaikan dengan format #.###
var NilaiRupiah: string; AngkaRupiah: Currency;
begin
NilaiRupiah := edit1.text;
{menghapus titik dan koma yang ada pada inputan, pada bagian ini Anda bisa menghapus kemungkinan yg bisa diinput oleh user, tujuannya adalah menormalkan inputan sebelum diconvert ke currency}
NilaiRupiah := StringReplace(NilaiRupiah,’,',”,[rfReplaceAll,rfIgnoreCase]);
NilaiRupiah := StringReplace(NilaiRupiah,’.',”,[rfReplaceAll,rfIgnoreCase]);
{Convert string menjadi currency}
AngkaRupiah := StrToCurrDef(NilaiRupiah,0);
{Format Currency menjadi #,###}
edit1.Text := FormatCurr(‘#,###’,AngkaRupiah);
{memulai inputan pada karakter terakhir pada TEdit, tujuannya agar kursor tidak kembali pada awal}
edit1.SelStart := length(edit1.text);
end;
Sebagai catatan:
Format ini hanya akan ditampilkan pada Tedit, tetapi pada saat diinput ke database ataupun di0perasikan, nilai dari inputan pada TEdit tersebut masih dalam nilai defaultnya (tanpa titik pemisah).
Search Box
dfggfgf
Setelah jadi 1,000,000 di edit text. saat disimpan nilainya masih menyimpan tanda koma atau Titiknya :D
BalasHapusADOTable1.FieldValues['Nom'] := sEdit1.Text;
Jadi gimana caranya supaya gak ada titiknya tuh ? thanks