Fungsi untuk menghapus separator ribuan

// fungsi untuk menghapus separator ribuan
// sebelum data diconvert menjadi angka, pastikan
// sudah tidak ada separator ribuan
function RemSeparator(const Text: string;
Separator: Char): string;
var
i: integer;
s: string;
begin
s := Text;
for i := 1 to Length(Text) do
if s[i] = Separator then Delete(s, i, 1);
Result := s;
end;

procedure TFFormatDuit.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
// ubah data dari teks menjadi float, dan ubah kembali dari float dengan
// teks yang udah berformat
procedure ConvertData;
begin
if Edit1.Text = ” then Edit1.Text := ‘0’;
Edit1.Text := FormatFloat(‘#,##0.00′, StrToFloat(RemSeparator(Edit1.Text,’,’)));
end;
var
i: Integer;
begin
// ubah data, dan kemudian letakkan data pada sel paling akhir
// dari kotak edit sehingga pengisian berupa right align
if Key in [96..105,110] then begin
ConvertData;
i := Pos(decimalseparator,Edit1.Text);
if (i>0) then
if Key = 110 then
Edit1.SelStart := i else
Edit1.SelStart := i – 1;
end;
end;

procedure TFFormatDuit.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
// pastikan data yang dimasukkan selalu benar
// tidak boleh huruf
case Key of
‘0’..’9′  : Next;
‘,’       : Next;
else
Key := #0
end;
end;

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: