You are on page 1of 8

LATIHAN TRANSAKSI ONE TO ONE DENGAN DUA TABLE Buat Tabel Tiket dan isi 3 record sebagai contoh

public { Public declarations } procedure bersih; procedure nomat; procedure aktif; procedure nonaktif;

end;

var Form1: TForm1;

implementation {$R *.dfm} procedure tform1.bersih; begin cmb1.Text :=''; e_tujuan.Text :='' ; e_harga.Text :='' ; e_byr.Text :='' ; e_total.Text :=''; e_idbyr.Text :='' ; e_jml.Text :='' ; e_ubay.Text :='' ; e_ukem.Text :='' ; r1.Checked := false; r2.Checked := false; end;

procedure tform1.nomat; var c:string; a:integer; begin BAYAR1.Last; if BAYAR1.RecordCount=0 then

begin e_idbyr.Text:='001'; exit; end else begin c:=BAYAR1['Idbayar']; a:=strtoint(c)+1; if a<10 then e_idbyr.Text:='00'+ inttostr(a) else if a<100 then e_idbyr.Text:='0' + inttostr(a) else e_idbyr.Text:=inttostr(a) end; end;

procedure tform1.aktif ; begin cmb1.Enabled :=true; e_tujuan.Enabled :=true; e_harga.Enabled :=true; e_byr.Enabled :=true; e_idbyr.Enabled :=true; e_jml.Enabled :=true; e_ubay.Enabled :=true; e_ukem.Enabled :=true;

r1.Enabled :=true; r2.Enabled :=true; end;

procedure tform1.nonaktif ; begin cmb1.Enabled :=false; e_tujuan.Enabled :=false; e_harga.Enabled :=false; e_byr.Enabled :=false; e_idbyr.Enabled :=false; e_jml.Enabled :=false; e_ubay.Enabled :=false; e_ukem.Enabled :=false; r1.Enabled :=false; r2.Enabled :=false; end;

procedure TForm1.FormCreate(Sender: TObject); begin TIKET.First; while not TIKET.eof do begin CMB1.Items.add(TIKET['idtiket']); TIKET.Next; end; end;

procedure TForm1.CMB1Click(Sender: TObject); begin if TIKET.locate('idtiket',cmb1.Text,[]) then begin e_tujuan.Text:=TIKET['tujuan']; e_harga.Text:=TIKET['harga']; e_jml.SetFocus; end; end;

procedure TForm1.FormActivate(Sender: TObject); begin nonaktif; b_add.Enabled :=true; b_save.Enabled :=false; b_can.Enabled :=false; b_exit.Enabled :=true; end;

procedure TForm1.b_addClick(Sender: TObject); begin bersih; aktif; nomat; e_idbyr.Enabled:=false; cmb1.SetFocus ; b_can.Enabled := true;

b_save.Enabled := true; end;

procedure TForm1.e_jmlKeyPress(Sender: TObject; var Key: Char); var a,b,c : integer; begin if key=#13 then begin a:=strtoint(e_jml.Text ); b:=strtoint(e_harga.Text ); c:=a*b; e_byr.Text:=inttostr(c); e_jml.Enabled :=false; e_byr.Enabled :=false; end; end;

procedure TForm1.R1Click(Sender: TObject); var x,y:integer ; begin if r1.Checked = true then begin x:=strtoint(e_byr.Text); y:=x+100000; e_total.Text :=inttostr(y); e_total.Enabled :=false; r1.Enabled :=false;

e_ubay.SetFocus ; end end;

procedure TForm1.e_ubayKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then if strtoint(e_ubay.Text)< strtofloat(e_total.Text) then begin showmessage('KURANG - '); e_ubay.Text :=''; exit; end else begin showmessage('OK'); e_ukem.Text:=floattostr(strtoint(e_ubay.Text)- strtofloat(e_total.Text)); e_ubay.Enabled :=false; e_ukem.Enabled :=false; end; end;

procedure TForm1.b_canClick(Sender: TObject); begin bersih; nonaktif;

end;

procedure TForm1.b_saveClick(Sender: TObject); begin BAYAR1.Append; BAYAR1['Idbayar']:=e_idbyr.Text; BAYAR1['Tgl']:=e_tgl.DateTime; BAYAR1['Jml']:=e_jml.Text; if r1.Checked=true then BAYAR1['Bagasi']:='100000' else BAYAR1['Bagasi']:='0'; BAYAR1['Bayar']:=e_byr.Text; BAYAR1['Total']:=e_total.Text; BAYAR1['Ubay']:=e_ubay.Text; BAYAR1['Ukem']:=e_ukem.Text; BAYAR1.Post; end; end.

You might also like