Вы находитесь на странице: 1из 21

1

OOP (Object Oriented Programming) dengan Delphi


MODUL9:
Tujuan : 1. Membuat Form Master dan Transaksi
2.Searching dan Sorting

Aplikasi dalam Delphi


1.Form Menu Utama
1.1.Menu Master VCD

1.2.Menu Transaksi Rental VCD

//Coding:
implementation
uses u_mastervcd, u_transaksiRental, u_QRVCD;
{$R *.dfm}

procedure TFormMenu.FormActivate(Sender: TObject);


begin
Timer1.interval:=1;
end;
procedure TFormMenu.Timer1Timer(Sender: TObject);
var waktu : tdatetime;
tanggal : tdatetime;

begin
waktu:=time;
Lbl_Waktu.Caption:=TimeToStr(Waktu);
tanggal:=now;
Lbl_Tanggal.Caption:=DateToStr(Tanggal);
MonthCalendar1.Date:=tanggal;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
2
end;
2.Form Master
2.1.Tab Data VCD

2.2.Tab Pengurutan dan Pencarian

//Coding
var
FormVCD: TFormVCD;
Kontrol_Btn : string[6];

implementation
{$R *.dfm}

procedure TFormVCD.FormActivate(Sender: TObject);


Procedure TextHidup();
Begin
Btn_Hapus.Enabled:=True;
Btn_Tambah.Enabled:=True;
Btn_Ubah.Enabled:=True;
BitBtn_Close.Enabled:=True;
end;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
3

Procedure TextMati();
Begin
EdKodeVcd.Enabled:=False;
CmbJenisVcd.Enabled:=False;
EdJudulVcd.Enabled:=False;
EdHargaVcd.Enabled:=False;
EdStockVcd.Enabled:=False;
Btn_Hapus.Enabled:=True;
Btn_Tambah.Enabled:=True;
Btn_Ubah.Enabled:=True;
Btn_Simpan.Enabled:=False;
Btn_Batal.Enabled:=False;
DBLookUpCmbKodeVcd.Visible:=False;
End;

begin
TextMati();
TextHidup();
CmbJenisVCD.Items.Clear;
CmbJenisVCD.Items.Add('Terbaru');
CmbJenisVCD.Items.Add('Baru');
CmbJenisVCD.Items.Add('Lama');
Try
with ADOQVcd do
begin
Active:=False;
sql.Text:='Select * From TabelVcd order by KodeVcd';
Active:=True;
adoqvcd.FindLast;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;
Except
MessageDlg('Penampilan Data Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;

procedure TFormVCD.Btn_TambahClick(Sender: TObject);


Procedure TextMati();
Begin
Btn_Hapus.Enabled:=False;
Btn_Tambah.Enabled:=False;
Btn_Ubah.Enabled:=False;
BitBtn_Close.Enabled:=False;
End;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
4
Procedure TextHidup();
Begin
EdKodeVcd.Enabled:=False;
CmbJenisVcd.Enabled:=True;
EdJudulVcd.Enabled:=True;
EdHargaVcd.Enabled:=True;
EdStockVcd.Enabled:=True;
Btn_Simpan.Enabled:=True;
Btn_Batal.Enabled:=True;
End;

Procedure Inialisasi();
Begin
CmbJenisVcd.Text:='';
EdJudulVcd.Text:='';
EdHargaVcd.Text:='0';
EdStockVcd.Text:='0';
End;

var hari,bulan,tahun:word;
result:string;
begin
TextMati();
TextHidup();
Inialisasi();
Kontrol_Btn:='tambah';
result:='';
DecodeDate(Now,tahun,bulan,hari); //untuk mendapatkan hari,bulan,tahun
with ADOQVcd do
begin
Active:=false;
sql.text:='select * from tabelvcd';
active:=true;
end;

result:='VCD'+'\'+IntToStr(hari)
+'-'+IntToStr(bulan)+'-'+IntToStr(tahun)+'\'
+copy(IntToStr(tahun),length(IntToStr(tahun))-1,length(IntToStr(tahun)))+
'\'+copy('0000',1,length('0000')-length(IntToStr(AdoQVcd.RecordCount+1)))+
IntToStr(ADOQVcd.RecordCount+1);
EdKodeVcd.Text:=result;
CmbJenisVcd.SetFocus;
end;

procedure TFormVCD.EdHargaVCDKeyPress(Sender: TObject; var Key: Char);


begin
if not (key in['0'..'9',#8]) then
begin
key:=#0;
MessageDlg('Harus di isi dengan Angka [0..9]',mtWarning,[mbOk],0);
end;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
5
end;

procedure TFormVCD.EdStockVCDKeyPress(Sender: TObject; var Key: Char);


begin
if not (key in['0'..'9',#8]) then
begin
key:=#0;
MessageDlg('Harus di isi dengan Angka [0..9]',mtWarning,[mbOk],0);
end;
end;

procedure TFormVCD.EdJudulVCDExit(Sender: TObject);


begin
if EdJudulVcd.Text='' then
begin
MessageDlg('Judul VCD Harus Diisi...!',mtWarning,[mbOk],0);
EdJudulVcd.SetFocus;
Exit;
End;
end;

procedure TFormVCD.CmbJenisVCDExit(Sender: TObject);


begin
if CmbJenisVcd.Text='' then
begin
MessageDlg('Jenis VCD Harus Diisi...!',mtWarning,[mbOk],0);
CmbJenisVcd.SetFocus;
Exit;
End;
end;

procedure TFormVCD.Btn_SimpanClick(Sender: TObject);


var kode,jenis,judul,harga,stock:string;
begin
kode:=EdKodeVcd.Text;
jenis:=CmbJenisVcd.Text;
judul:=EdJudulVcd.Text;
harga:=EdhargaVcd.Text;
stock:=EdStockVcd.Text;

if Kontrol_Btn='tambah' Then
begin
{Struktur Try akan bekerja hanya jika pilihan
Stop on Delphi Exceptions yang terdapat pada
tab Language Exceptions dalam menu tools,
debugger options tidak diberi tanda pilih}
Try
with ADOQVcd do
begin
Active:=False;
sql.Text:='Insert Into TabelVcd Values ('+QuotedStr(kode)+

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
6
','+QuotedStr(jenis)+','+
QuotedStr(judul)+','+QuotedStr(harga)+','+
QuotedStr(stock)+')';
MessageDlg('Insert Into TabelVcd Values ('+QuotedStr(kode)+
','+QuotedStr(jenis)+','+QuotedStr(judul)+
','+QuotedStr(harga)+','+QuotedStr(stock)+')'
,mtInformation,[mbOk],0);
ExecSql;
MessageDlg('Penambahan Data Berhasil...!',mtInformation,[mbOk],0);
end;
Except
MessageDlg('Penambahan Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;

if Kontrol_Btn='ubah' Then
begin
Try
with ADOQVcd do
begin
Active:=False;
sql.Text:='Update TabelVcd Set '+'jenisvcd='+QuotedStr(jenis)+','+
'judulvcd='+QuotedStr(judul)+','+'hargarental='+QuotedStr(harga)+','+
'stockvcd='+QuotedStr(stock)+' where kodevcd='+QuotedStr(kode);
MessageDlg('Update TabelVcd Set '+'jenisvcd='+QuotedStr(jenis)+','+
'judulvcd='+QuotedStr(judul)+','+'hargarental='+QuotedStr(harga)+','+
'stockvcd='+QuotedStr(stock)+' where kodevcd='+QuotedStr(kode)
,mtInformation,[mbOk],0);
ExecSql;
MessageDlg('Perubahan Data Berhasil...!',mtInformation,[mbOk],0);
end;
Except
MessageDlg('Perubahan Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;
FormActivate(Sender);
end;

procedure TFormVCD.Btn_BatalClick(Sender: TObject);


Procedure TextMati();
Begin
EdKodeVcd.Enabled:=False;
CmbJenisVcd.Enabled:=False;
EdJudulVcd.Enabled:=False;
EdHargaVcd.Enabled:=False;
EdStockVcd.Enabled:=False;
End;

begin
EdKodeVcd.Text:='';
CmbJenisVcd.Text:='';

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
7
EdJudulVcd.Text:='';
EdHargaVcd.Text:='0';
EdStockVcd.Text:='0';
TextMati();
MessageDlg('Pembatalan Berhasil...!',mtInformation,[mbOk],0);
FormActivate(Sender);
end;

procedure TFormVCD.Btn_UbahClick(Sender: TObject);


Procedure TextMati();
Begin
Btn_Hapus.Enabled:=False;
Btn_Tambah.Enabled:=False;
Btn_Ubah.Enabled:=False;
BitBtn_Close.Enabled:=False;
end;

Procedure TextHidup();
Begin
EdKodeVcd.Enabled:=False;
CmbJenisVcd.Enabled:=True;
EdJudulVcd.Enabled:=True;
EdHargaVcd.Enabled:=True;
EdStockVcd.Enabled:=True;
Btn_Simpan.Enabled:=True;
Btn_Batal.Enabled:=True;
End;

begin
Kontrol_Btn:='ubah';
TextMati();
TextHidup();
CmbJenisVcd.SetFocus;
end;

procedure TFormVCD.Btn_HapusClick(Sender: TObject);


var kode:string;
begin
kode:=EdKodeVcd.Text;
if MessageDlg('Apakah Data Benar Ingin Dihapus [Yes,No]...?',
mtConfirmation,[mbYes,mbNo],0)=mrYes Then
begin
Try
with ADOQVcd do
begin
Active:=False;
sql.Text:='Delete From TabelVcd where kodevcd='+QuotedStr(kode);
MessageDlg('Delete From TabelVcd where kodevcd='+QuotedStr(kode)
,mtInformation,[mbOk],0);
ExecSql;
Active:=False;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
8
MessageDlg('Pengapusan Data Berhasil...!',mtInformation,[mbOk],0);
end;
Except
MessageDlg('Penghapusan Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;
FormActivate(Sender);
end;

procedure TFormVCD.Btn_SebelumClick(Sender: TObject);


begin
with ADOQVcd do
begin
Active:=True;
Try
begin
FindPrior;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;
Except
FindFirst;
end;
end;
end;

procedure TFormVCD.Btn_SesudahClick(Sender: TObject);


begin
with ADOQVcd do
begin
Active:=True;
Try
begin
FindNext;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;
Except
FindLast;
end;
end;
end;

procedure TFormVCD.Btn_AtasClick(Sender: TObject);


begin

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
9
with ADOQVcd do
begin
Active:=True;
Try
begin
FindFirst;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;
Except
FindFirst;
end;
end;
end;

procedure TFormVCD.Btn_BawahClick(Sender: TObject);


begin
with ADOQVcd do
begin
Active:=True;
Try
begin
FindLast;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;
Except
FindLast;
end;
end;
end;

procedure TFormVCD.Img_SearchClick(Sender: TObject);


begin
EdKodeVcd.Visible:=False;
DBLookUpCmbKodeVcd.Visible:=True;
end;

procedure TFormVCD.DBLookupCmbKodeVcdClick(Sender: TObject);


begin
with ADOQVcd do
begin
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
10
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
EdKodeVcd.Visible:=True;
DBLookUpCmbKodeVcd.Visible:=False;
end;
end;

procedure TFormVCD.DBGrid1TitleClick(Column: TColumn);


begin
if ADODSetVCD.IndexFieldNames=Column.Field.FieldName then
ADODSetVCD.IndexFieldNames:=Column.Field.FieldName
else
ADODSetVCD.IndexFieldNames:=Column.Field.FieldName;
end;

procedure TFormVCD.EdCariJenisVCDChange(Sender: TObject);


var CariJenisVcd:String;
begin
CariJenisVcd:=EdCAriJenisVcd.Text;
with ADODSetVCD do
begin
Active:=False;
CommandText:='Select * From TabelVcd Where JenisVcd Like '+
QuotedStr(CariJenisVcd+'%');
Active:=True;
DBGrid1.Refresh;
end;
end;

procedure TFormVCD.EdCariJudulVCDChange(Sender: TObject);


var CariJudulVcd:String;
begin
CariJudulVcd:=EdCAriJudulVcd.Text;
with ADODSetVCD do
begin
Active:=False;
CommandText:='Select * From TabelVcd Where JudulVcd Like '+
QuotedStr('%'+CariJudulVcd+'%');
Active:=True;
DBGrid1.Refresh;
end;
end;

procedure TFormVCD.DBGrid1DblClick(Sender: TObject);


var Kode:String;
begin
Kode:=DbGrid1.Fields[0].AsString;
with ADOQVcd do
begin
Active:=False;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
11
sql.Text:='select * from TabelVcd Where KodeVcd='+QuotedStr(Kode);
Active:=True;
EdKodeVcd.Text:=Fields[0].Value;
CmbJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaVcd.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
MessageDlg('select * from TabelVcd Where KodeVcd='+
QuotedStr(Kode),mtInformation,[mbOk],0);
PageControl1.TabIndex:=0;
end;
end;

procedure TFormVCD.PageControl1MouseMove(Sender: TObject;


Shift: TShiftState; X, Y: Integer);
begin
Try
with ADODSetVCD do
begin
Active:=False;
CommandText:='Select * From TabelVcd order by kodevcd';
Active:=True;
DBGrid1.Refresh;
end;
Except
MessageDlg('Penampilan Data Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;

3.Form Transaksi Rental VCD

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
12

//Coding
var
FormRental: TFormRental;
Kontrol_Btn : String[25];

implementation
{$R *.dfm}

procedure TFormRental.Btn_TambahClick(Sender: TObject);


procedure refresh;
begin
with ADOQRental do
begin
Active:=false;
sql.text:='select * from tabelrental order by notransaksi';
active:=true;
end;

with ADOQVCD do
begin
Active:=false;
sql.text:='select * from tabelVCD order by kodevcd';
active:=true;
end;

with ADOQVCD2 do
begin

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
13
Active:=false;
sql.text:='select * from tabelVCD order by kodevcd';
active:=true;
end;

with ADOQJoin do
begin
sql.Clear;
Active:=false;
sql.add('SELECT tabelrental.notransaksi, tabelrental.kodecustomer,');
sql.Add('tabelrental.tanggalpinjam, tabelrental.tanggalkembali, ');
sql.add('tabelrental.kodevcd, tabelvcd.jenisvcd, tabelvcd.judulvcd, ');
sql.add('tabelvcd.hargarental, tabelvcd.stockvcd, tabelrental.jumlahrental ');
sql.add('FROM tabelvcd INNER JOIN tabelrental ');
sql.add('ON tabelvcd.kodevcd = tabelrental.kodevcd ');
sql.add('order by tabelrental.notransaksi');
active:=true;
end;
dbgrid1.Refresh;
end;

Procedure TextMati();
Begin
Btn_Hapus.Enabled:=False;
Btn_Tambah.Enabled:=False;
BitBtn_Close.Enabled:=False;
End;

Procedure TextHidup_Mati();
Begin
EdNoTransaksi.Enabled:=False;
EdKodeCustomer.Enabled:=False;
TanggalPinjam.Enabled:=True;
TanggalKembali.Enabled:=True;
EdLamaPinjam.Enabled:=False;
DBLookUpLsKodeVCD.Enabled:=True;
EdJenisVCD.Enabled:=False;
EdJudulVCD.Enabled:=False;
EdHargaRental.Enabled:=False;
EdStockVCD.Enabled:=False;
EdJumlahRental.Enabled:=True;
EdSisaVCD.Enabled:=False;
EdTotalHarga.Enabled:=False;

Btn_Simpan.Enabled:=True;
Btn_Batal.Enabled:=True;
End;

Procedure Inialisasi();
Begin
EdNoTransaksi.text:='';

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
14
EdKodeCustomer.text:='';
TanggalPinjam.date:=now;
TanggalKembali.date:=now;
EdLamaPinjam.text:='0';
DbLookuplskodevcd.KeyValue:='';
EdJenisVCD.text:='';
EdJudulVCD.text:='';
EdHargaRental.text:='0';
EdStockVCD.text:='0';
EdJumlahRental.text:='0';
EdSisaVCD.text:='0';
EdTotalHarga.text:='0';
End;

var hari,bulan,tahun:word;
result:string[25];

begin
refresh;
TextMati();
TextHidup_Mati();
Inialisasi();
Kontrol_Btn:='tambah';
result:='';
DecodeDate(Now,tahun,bulan,hari); //untuk mendapatkan hari,bulan,tahun

result:='RENT'+'\'+IntToStr(hari)
+'-'+IntToStr(bulan)+'-'+IntToStr(tahun)+'\'
+copy(IntToStr(tahun),length(IntToStr(tahun))-1,length(IntToStr(tahun)))+
'\'+copy('0000',1,length('0000')-length(IntToStr(AdoQRental.RecordCount+1)))+
IntToStr(ADOQRental.RecordCount+1);
EdNoTransaksi.Text:=result;

result:='CUST'+'\'+IntToStr(hari)
+'-'+IntToStr(bulan)+'-'+IntToStr(tahun)+'\'
+copy(IntToStr(tahun),length(IntToStr(tahun))-1,length(IntToStr(tahun)))+
'\'+copy('0000',1,length('0000')-length(IntToStr(AdoQRental.RecordCount+1)))+
IntToStr(ADOQRental.RecordCount+1);
EdKodeCustomer.Text:=result;

TanggalPinjam.SetFocus;
end;

procedure TFormRental.FormActivate(Sender: TObject);


procedure textawal;
var lama:integer;
tglpinjam, tglkembali : tdatetime;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
15

begin
EdNotransaksi.Enabled:=false;
EdKodeCustomer.Enabled:=false;
Tanggalpinjam.Enabled:=false;
Tanggalkembali.Enabled:=false;
EdLamaPinjam.Enabled:=false;
dblookuplskodevcd.Enabled:=false;
EdJenisVCD.Enabled:=false;
EdJudulVCD.Enabled:=false;
EdHargaRental.Enabled:=false;
EdStockVCD.Enabled:=false;
EdJumlahRental.Enabled:=false;
EdSisaVCD.Enabled:=false;
EdTotalHarga.Enabled:=false;
TanggalPinjam.Date:=now;
TanggalKembali.Date:=now;
btn_hapus.Enabled:=true;
btn_tambah.Enabled:=true;
btn_simpan.Enabled:=false;
btn_batal.Enabled:=false;
bitbtn_close.Enabled:=true;

with ADOQJoin do
begin
Active:=True;
EdNoTransaksi.Text:=Fields[0].AsString;
EdKodeCustomer.Text:=FieldByName('kodecustomer').AsString;
TanggalPinjam.Date:=FieldByName('tanggalpinjam').AsDateTime;
TanggalKembali.Date:=FieldByName('tanggalkembali').AsDateTime;
tglpinjam:=tanggalpinjam.date;
tglkembali:=tanggalkembali.date;
lama:=trunc(tglkembali - tglpinjam);
EdLamaPinjam.Text:=IntToStr(lama);
dblookuplskodevcd.KeyValue:=FieldByName('kodevcd').AsString;
EdJenisVCD.Text:=FieldByName('jenisvcd').AsString;
EdJudulVCD.Text:=FieldByName('judulvcd').AsString;
EdHargaRental.Text:=FieldByName('hargarental').AsString;
EdStockVCD.Text:=FieldByName('stockvcd').AsString;
EdJumlahRental.Text:=FieldByName('jumlahrental').AsString;
end;
end;

procedure refresh;
begin
with ADOQRental do
begin
Active:=false;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
16
sql.text:='select * from tabelrental order by notransaksi';
active:=true;
end;

with ADOQVCD do
begin
Active:=false;
sql.text:='select * from tabelVCD order by kodevcd';
active:=true;
end;

with ADOQVCD2 do
begin
Active:=false;
sql.text:='select * from tabelVCD order by kodevcd';
active:=true;
end;

with ADOQJoin do
begin
sql.Clear;
Active:=false;
sql.add('SELECT tabelrental.notransaksi, tabelrental.kodecustomer,');
sql.Add('tabelrental.tanggalpinjam, tabelrental.tanggalkembali, ');
sql.add('tabelrental.kodevcd, tabelvcd.jenisvcd, tabelvcd.judulvcd, ');
sql.add('tabelvcd.hargarental, tabelvcd.stockvcd, tabelrental.jumlahrental ');
sql.add('FROM tabelvcd INNER JOIN tabelrental ');
sql.add('ON tabelvcd.kodevcd = tabelrental.kodevcd ');
sql.add('order by tabelrental.notransaksi');
active:=true;
end;
dbgrid1.Refresh;
end;

begin
textawal;
refresh;
end;

procedure TFormRental.TanggalKembaliChange(Sender: TObject);


var tglpinjam,tglkembali : tdatetime;
lama : integer;

begin
tglpinjam:=tanggalpinjam.date;
tglkembali:=tanggalkembali.date;
lama:=trunc(tglkembali - tglpinjam);
EdLamaPinjam.Text:=IntToStr(lama);
end;

procedure TFormRental.DBLookupLsKodeVCDClick(Sender: TObject);

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
17
var kode : String[25];
begin
kode:=dblookuplskodevcd.KeyValue;
with ADOQVCD do
begin
EdJenisVcd.Text:=FieldByName('jenisvcd').AsString;
EdJudulVcd.Text:=FieldByName('judulvcd').AsString;
EdHargaRental.Text:=FieldByName('hargarental').AsString;
EdStockvcd.Text:=FieldByName('stockvcd').AsString;
end;

end;

procedure TFormRental.EdJumlahRentalChange(Sender: TObject);


var jmlvcd,jmlrental,sisavcd : integer;
hrgrental,ttlharga : real;
sisastock : string[10];
kode : integer;

begin
val(EdHargaRental.Text,hrgrental,kode); //konversi dari huruf ke angka
val(EdStockVCD.Text,jmlvcd,kode);
val(EdJumlahRental.Text,jmlrental,kode);
sisavcd:=jmlvcd-jmlrental;
str(sisavcd:5,sisastock); //konversi dari angka ke huruf
Edsisavcd.text:=sisastock;
ttlharga:=jmlrental*hrgrental;
EdTotalHarga.Text:=format('%10.0n',[ttlharga]);
lttlharga.Caption:='Rp. '+EdTotalHarga.Text;
end;

procedure TFormRental.Btn_SimpanClick(Sender: TObject);


var notrans,kdcust : string[25];
tglpinjam,tglkembali : string[15];
kdvcd,jmlrental : string[25];

begin
notrans:=EdNoTransaksi.Text;
kdcust:=EdKodeCustomer.Text;
tglpinjam:=DateToStr(tanggalpinjam.Date);
tglkembali:=DateToStr(tanggalkembali.Date);
kdvcd:=DbLookUpLsKodeVCD.KeyValue;
jmlrental:=EdJumlahRental.Text;

if Kontrol_Btn='tambah' Then
begin
{Struktur Try akan bekerja hanya jika pilihan
Stop on Delphi Exceptions yang terdapat pada
tab Language Exceptions dalam menu tools,
debugger options tidak diberi tanda pilih}
Try

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
18
with ADOQRental do
begin
Active:=False;
sql.Text:='Insert Into TabelRental Values ('+QuotedStr(notrans)+','+
QuotedStr(kdcust)+','+
QuotedStr(tglpinjam)+','+
QuotedStr(tglkembali)+','+
QuotedStr(kdvcd)+','+
QuotedStr(jmlrental)+')';
MessageDlg('Insert Into TabelRental Values ('+QuotedStr(notrans)+','+
QuotedStr(kdcust)+','+
QuotedStr(tglpinjam)+','+
QuotedStr(tglkembali)+','+
QuotedStr(kdvcd)+','+
QuotedStr(jmlrental)+')'
,mtInformation,[mbOk],0);
ExecSql;

//update stock vcd dengan sisa vcd


with ADOQVcd2 do
begin
Active:=False;
sql.Text:='Update TabelVcd Set '+'stockvcd='+QuotedStr(EdSisaVCD.Text)+
' where kodevcd='+QuotedStr(dblookuplskodevcd.KeyValue);
ExecSql;
end;
end;
Except
MessageDlg('Penambahan Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;
Btn_Tambah.Enabled:=true;
Btn_TambahClick(sender);
Btn_Tambah.Enabled:=false;
FormActivate(Sender);
end;

procedure TFormRental.Btn_BatalClick(Sender: TObject);


begin
MessageDlg('Pembatalan Berhasil...!',mtInformation,[mbOk],0);
FormActivate(Sender);
end;

procedure TFormRental.Btn_HapusClick(Sender: TObject);


var no_trans:string;

begin
no_trans:=EdNoTransaksi.Text;

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
19
if MessageDlg('Apakah Data Benar Ingin Dihapus [Yes,No]...?',
mtConfirmation,[mbYes,mbNo],0)=mrYes Then
begin
Try
with ADOQRental do
begin
Active:=False;
sql.Text:='Delete From TabelRental where notransaksi='+QuotedStr(no_trans);
MessageDlg('Delete From TabelRental where kodevcd='+QuotedStr(no_trans)
,mtInformation,[mbOk],0);
ExecSql;
Active:=False;
MessageDlg('Pengapusan Data Berhasil...!',mtInformation,[mbOk],0);
end;
Except
MessageDlg('Penghapusan Tidak Berhasil...!',mtInformation,[mbOk],0);
end;
end;
dbgrid1.Refresh;
FormActivate(Sender);
end;

procedure TFormRental.DBGrid1CellClick(Column: TColumn);


var lama:integer;
tglpinjam, tglkembali : tdatetime;
begin
with ADOQJoin do
begin
Active:=True;
EdNoTransaksi.Text:=Fields[0].AsString;
EdKodeCustomer.Text:=FieldByName('kodecustomer').AsString;
TanggalPinjam.Date:=FieldByName('tanggalpinjam').AsDateTime;
TanggalKembali.Date:=FieldByName('tanggalkembali').AsDateTime;
tglpinjam:=tanggalpinjam.date;
tglkembali:=tanggalkembali.date;
lama:=trunc(tglkembali - tglpinjam);
EdLamaPinjam.Text:=IntToStr(lama);
dblookuplskodevcd.KeyValue:=FieldByName('kodevcd').AsString;
EdJenisVCD.Text:=FieldByName('jenisvcd').AsString;
EdJudulVCD.Text:=FieldByName('judulvcd').AsString;
EdHargaRental.Text:=FieldByName('hargarental').AsString;
EdStockVCD.Text:=FieldByName('stockvcd').AsString;
EdJumlahRental.Text:=FieldByName('jumlahrental').AsString;
end;
end;
procedure TFormRental.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var lama:integer;
tglpinjam, tglkembali : tdatetime;
begin
with ADOQJoin do

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
20
begin
Active:=True;
EdNoTransaksi.Text:=Fields[0].AsString;
EdKodeCustomer.Text:=FieldByName('kodecustomer').AsString;
TanggalPinjam.Date:=FieldByName('tanggalpinjam').AsDateTime;
TanggalKembali.Date:=FieldByName('tanggalkembali').AsDateTime;
tglpinjam:=tanggalpinjam.date;
tglkembali:=tanggalkembali.date;
lama:=trunc(tglkembali - tglpinjam);
EdLamaPinjam.Text:=IntToStr(lama);
dblookuplskodevcd.KeyValue:=FieldByName('kodevcd').AsString;
EdJenisVCD.Text:=FieldByName('jenisvcd').AsString;
EdJudulVCD.Text:=FieldByName('judulvcd').AsString;
EdHargaRental.Text:=FieldByName('hargarental').AsString;
EdStockVCD.Text:=FieldByName('stockvcd').AsString;
EdJumlahRental.Text:=FieldByName('jumlahrental').AsString;
end;
end;

procedure TFormRental.DBGrid1KeyUp(Sender: TObject; var Key: Word;


Shift: TShiftState);
var lama:integer;
tglpinjam, tglkembali : tdatetime;
begin
with ADOQJoin do
begin
Active:=True;
EdNoTransaksi.Text:=Fields[0].AsString;
EdKodeCustomer.Text:=FieldByName('kodecustomer').AsString;
TanggalPinjam.Date:=FieldByName('tanggalpinjam').AsDateTime;
TanggalKembali.Date:=FieldByName('tanggalkembali').AsDateTime;
tglpinjam:=tanggalpinjam.date;
tglkembali:=tanggalkembali.date;
lama:=trunc(tglkembali - tglpinjam);
EdLamaPinjam.Text:=IntToStr(lama);
dblookuplskodevcd.KeyValue:=FieldByName('kodevcd').AsString;
EdJenisVCD.Text:=FieldByName('jenisvcd').AsString;
EdJudulVCD.Text:=FieldByName('judulvcd').AsString;
EdHargaRental.Text:=FieldByName('hargarental').AsString;
EdStockVCD.Text:=FieldByName('stockvcd').AsString;
EdJumlahRental.Text:=FieldByName('jumlahrental').AsString;
end;
end;

4.Project Manager:

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom
21

5.Database:

OOP 1 (Object Oriented Programming)


Rahmadi, SE, SKom

Вам также может понравиться