praktikum 14 pemrograman delphi 7 imam gunawan, m. kom · praktikum 14 pemrograman delphi 7 imam...

5
Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru ke dalam project Rental VCD 2. Ubah properties Name nya menjadi FrmCetakSewa, dan simpan dengan nama UcetakSewa.pas 3. Dari komponen palette masukkan dua buah komponen Table dan sebuah komponen Query dari BDE ke ke dalam form. 4. Ubah properti ketiganya : Komponen Properties Keterangan Table1 DatabaseName RentalVCD TableName VCD.db Name tVCD Active True Table2 DatabaseName RentalVCD TableName Pelanggan.db Name tPelanggan Active True Query DatabaseName RentalVCD SQL Select * from ‘Persewaan.db’ Name QrSewa Active True 5. Tambahkan ke dalam Form komponen QuickRep 6. Ubah Properties Name komponen QuickRep menjadi QrSewaPeriode dan properties dataset menjadi QrSewa 7. Aktifkan Bands HasColumnHeader, HasDetail, HasPageHeader dan HasSummary 8. Desain report seperti di bawah ini :

Upload: dominh

Post on 30-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom · Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom

MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD

1. Tambahkan sebuah form baru ke dalam project Rental VCD 2. Ubah properties Name nya menjadi FrmCetakSewa, dan simpan dengan nama

UcetakSewa.pas 3. Dari komponen palette masukkan dua buah komponen Table dan sebuah komponen

Query dari BDE ke ke dalam form. 4. Ubah properti ketiganya :

Komponen Properties Keterangan

Table1

DatabaseName RentalVCD TableName VCD.db Name tVCD Active True

Table2

DatabaseName RentalVCD TableName Pelanggan.db Name tPelanggan Active True

Query

DatabaseName RentalVCD SQL Select * from ‘Persewaan.db’ Name QrSewa Active True

5. Tambahkan ke dalam Form komponen QuickRep 6. Ubah Properties Name komponen QuickRep menjadi QrSewaPeriode dan properties

dataset menjadi QrSewa 7. Aktifkan Bands HasColumnHeader, HasDetail, HasPageHeader dan HasSummary 8. Desain report seperti di bawah ini :

Page 2: Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom · Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom

9. Setelah selesai mengatur propertinya, selanjutnya buat kode program untuk memunculkan keterangan pada Judul Film dan Nama Pelanggan. Klick Band Detail pada QuickRep, kemudian pada objek inspector klik Tab Events dan cari Events BeforePrint, kemudian double klik dan ketikan kode program berikut : procedure TFrmCetakSewa.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin tVCD.FindKey([QrSewa['KodeVCD']]); tPelanggan.FindKey([QrSewa['KodePLG']]); end;

MEMBUAT FILTER

1. Tambahkan sebuah form baru pada project. Ubah properties Namenya mejadi FrmFilterCetakSewa, BorderStyle menjadi bsToolWindow, FormStyle menjadi fsMDIChild dan Position menjadi posScreenCenter

2. Kemudian desain form seperti di bawah ini :

Page 3: Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom · Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom

3. Ubahlah Properties Komponen-komonen diatas sbb :

Komponen Properties Keterangan

Table

DatabaseName RentalVCD TableName Persewaan.db Name TPersewaan Active True

RadioGroup

Name RgJenis Caption Jenis Cetak Items Pertanggal

Periode Tertentu ItemIndex 0

Button1 Name BtCetak Caption &Cetak

Button2 Name BtTutup Caption &Tutup

DateTimePicker1 Name DtpAwal

DateTimePicker2 Name DtpAkhir Color clBtnFace Enable False

4. Masukan Kode Program untuk RadioGroup pada event onClick :

procedure TFrmFilterCetakSewa.RgJenisClick(Sender: TObject); begin case RgJenis.ItemIndex of 0:begin //aktifkan batas awal DtpAwal.Enabled:=True; DtpAwal.Color:=clwhite; DtpAwal.Date:=Date; DtpAwal.SetFocus; //nonaktifkan batas akhir DtpAkhir.Enabled:=False; DtpAkhir.Color:=clBtnFace; end; 1 : begin //aktifkan batas akhir DtpAkhir.Enabled:=True; DtpAkhir.Color:=clWhite; DtpAkhir.Date:=Date; end; end; end;

Page 4: Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom · Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom

5. Double Klick Tombol Tutup, ketikan program berikut : procedure TFrmFilterCetakSewa.BtTutupClick(Sender: TObject); begin close; end;

6. Klick Form, pada event onClose ketikan program berikut :

procedure TFrmFilterCetakSewa.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end;

7. Masukan Form Desain Laporan Sewa (FrmCetakSewa) ke Form ini, dengan cara klick menu File > Use Unit, pilih UcetakSewa

8. Double Klick Tombol Cetak, ketikan program berikut : procedure TFrmFilterCetakSewa.BtCetakClick(Sender: TObject); var Ketemu:Boolean; tAwal, tAkhir :tDateTime; begin tAwal:=DtpAwal.Date; tAkhir:=DtpAkhir.Date; //cek dulu batas Cetak tPersewaan.IndexName:='IdxTglSewa'; Ketemu:=tPersewaan.FindKey([tAwal]); if Ketemu=False then begin Application.MessageBox('Tanggal tidak ada'+#13#10+'Dalam data sewa...', 'Cek Batas Cetak',MB_IconInformation); exit; end else begin //cek input periode if RgJenis.ItemIndex=1 then begin if (DtpAwal.Date > DtpAkhir.Date) then begin application.MessageBox('Batas periode salah','Cek Batas Periode',MB_IconStop); Exit;

Page 5: Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom · Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD 1. Tambahkan sebuah form baru

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom

end; end; //mulai mencetak report with FrmCetakSewa do begin //hapus string sql QrSewa.SQL.Clear; //buat baru QrSewa.SQL.Add('Select * from '+QuotedStr('Persewaan.db')); if RgJenis.ItemIndex=0 then begin QrSewa.SQL.Add('Where TglSewa=:Tawal'); QrSewa.ParamByName('Tawal').AsDate:=tAwal; end else begin QrSewa.SQL.Add('Where TglSewa>=:Tawal'); QrSewa.SQL.Add('And TglSewa<=:Takhir'); //buat parameter QrSewa.ParamByName('Tawal').AsDate:=tAwal; QrSewa.ParamByName('Takhir').AsDate:=tAkhir; //mulai cetak end; QrSewa.Prepare; QrSewa.Open; //cetak keterangan case RgJenis.ItemIndex of 0: QlPeriode.Caption:='Per Tanggal : '+ DateToStr(tAwal); 1: QlPeriode.Caption:='Periode : '+ DateToStr(tAwal)+'-'+DateToStr(tAkhir); end; //Tampilkan report QrSewaPeriode.Preview; end; end; end;