Melanjutkan tutorial sebelumnya (
Membuat Format Uang di Delphi 2), selanjutnya untuk membuat aplikasi menjadi user friendly
perlu ditambahkan fitur-fitur tambahan, diantaranya :
- pada inputan nilai uang hanya bisa diisikan angka saja
- menangani error pada saat akan mengedit inputan nilai uang
- dan lain-lainnya
Kembali pada contoh aplikasi yang dibuat sebelumya
berikut form yang dibuat :
- Pada Event OnCreate Form1, tambahkan kode menjadi seperti berikut
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end;
- Untuk membuat inputan nilai mata uang hanya bisa diisi oleh angka saja, tambahkan pada Event OnKeyPress pada Edit1 :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
else Key := #0;
if Key=#13 then
Edit2.SetFocus;
end;
dan pada Edit2 :
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
else Key := #0;
if Key=#13 then
BitBtn1.SetFocus;
end;
- Butlah sebuah function untuk mengembalikan nilai menjadi nilai inputan
function TForm1.ReplaceBlank(StrText:string):string;
begin
ReplaceBlank := AnsiReplaceStr(StrText,',','');
end;
definisikan function tersebut pada private,
private
{ Private declarations }
NilaiUang1, NilaiUang2, Jumlah : real;
function ReplaceBlank(StrText:string):string;
dan tambahkan StrUtils pada uses.
- Pada event OnExit dari Edit1 dan Edit 2 ubah menjadi seperti berikut
Edit1 :
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Edit1.Text = '' then
else
begin
NilaiUang1 := StrToFloat(ReplaceBlank(Edit1.Text));
Edit1.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit1.Text))]);
end;
end;
dan pada Edit1:
procedure TForm1.Edit2Exit(Sender: TObject);
begin
if Edit2.Text = '' then
else
begin
NilaiUang2 := StrToFloat(ReplaceBlank(Edit2.Text));
Edit2.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit2.Text))]);
end;
end;
Berikut keseluruhan kodenya :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, StrUtils;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Bevel1: TBevel;
Bevel2: TBevel;
BitBtn1: TBitBtn;
Bevel3: TBevel;
procedure Edit1Exit(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2Exit(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
NilaiUang1, NilaiUang2, Jumlah : real;
function ReplaceBlank(StrText:string):string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.ReplaceBlank(StrText:string):string;
begin
ReplaceBlank := AnsiReplaceStr(StrText,',','');
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Edit1.Text = '' then
else
begin
NilaiUang1 := StrToFloat(ReplaceBlank(Edit1.Text));
Edit1.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit1.Text))]);
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
else Key := #0;
if Key=#13 then
Edit2.SetFocus;
end;
procedure TForm1.Edit2Exit(Sender: TObject);
begin
if Edit2.Text = '' then
else
begin
NilaiUang2 := StrToFloat(ReplaceBlank(Edit2.Text));
Edit2.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit2.Text))]);
end;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
else Key := #0;
if Key=#13 then
BitBtn1.SetFocus;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Jumlah := NilaiUang1 + NilaiUang2;
Edit3.Text := Format('%.n',[Jumlah]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end;
end.
Source kode bisa di download pada link di bawah ini :
Membuat Format Uang di Delphi 3Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber :
http://elpro82.blogspot.com<<<< Terima kasih >>>>