Form Member digunakan untuk mengelola data member.
Form Member juga digunakan untuk menampilkan histori
transaksi tiap member. Data dan histori transaksi
ditampilkan dalam tab yang terpisah.
Langkah-langkah :
1. Pastikan project Rental.dpr telah dibuka. 2. Buat form baru, klik menu File – New – Form.
3. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Property Value
Form1 Caption Member
BorderStyle bsDialog
Name FMember
Position poDesktopCenter
4. Pilih menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UFMember.pas dalam folder Rental.
5. Klik menu File – Use Unit…, pilih UFUtama, klik OK untuk melanjutkan. 6. Tambahkan PageControl1 dari tab Win32, ubah property seperti table di
bawah ini :
Komponen Tab Parent Property Value PageControl1 Win32 FMember Align alClient
7. Tambahkan dua buah TabSheet dengan cara mengklik kanan komponen PageControl1, kemudian pilih New Page. Atur property seperti table di bawah ini :
Komponen Parent Property Value TabSheet1 PageControl1 Caption Data Member TabSheet2 PageControl1 Caption Histori Transaksi
8. Tambahkan GroupBox1 dari tab Standard ke dalam Tabsheet1, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value GroupBox1 Standard TabSheet1 Align alClient
Caption
9. Tambahkan Toolbar1 dari tab Win32 ke dalam GroupBox1, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value ToolBar1 Win32 GroupBox1 Autosize True
ButtonHeight 44 ButtonWidth 46
10. Tambahkan 4 buah SpeedButton dari tab Additional ke dalam ToolBar1, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value SpeedButton1 Additional ToolBar1 Caption Simpan
Glyph Simpan.bmp
Tag 1
SpeedButton2 Additional ToolBar1 Caption Hapus Glyph Hapus.bmp
Tag 2
SpeedButton3 Additional ToolBar1 Caption Kartu Glyph Printer.bmp
Tag 3
SpeedButton4 Additional ToolBar1 Caption Batal Glyph Batal.bmp Tag 4 SpeedButton1, SpeedButton2, SpeedButton3, SpeedButton4 Layout blTop Width 46 Flat True Height 44
11. Tambahkan ADOTable1 dari tab ADO, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value
ADOTable1 ADO FMember Connection FUtama.ADOConnection1
Name Member
TableName Member
12. Buat persistent field table Member, klik dua kali Member pada Object TreeView untuk membuka Field Editor, klik kanan pada field editor pilih Add All Fields (lihat latihan 18 point 16).
13. Masih di field editor table Member, pastikan semua field telah terpilih (kalau belum, klik kanan Field Editor, pilih Select All), kemudian lakukan drag and drop seluruh field ke dalam GroupBox1.
14. Hapus DBEdit5 dari GroupBox1, gantikan dengan DBCombobox1 dari tab Data Control, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value DBCombobox1 Data Control GroupBox1 DataSource DataSource1
DataField TandaPengenal
Items KTP
SIM
15. Hapus DBEdit9 dari GroupBox1, gantikan dengan DateTimePicker1 dari tab Win32.
16. Hapus DBEdit10 dari GroupBox1, gantikan dengan DBCombobox2 dari tab Data Control, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value DBCombobox2 Data Control GroupBox1 DataSource DataSource1
DataField Status Items AKTIF
TIDAK AKTIF
17. Ubah property untuk komponen Data Control seperti table di bawah ini : Komponen Property Value
DBEdit1, DBEdit11 Enabled False DBEdit1, DBEdit2, DBEdit3, DBEdit4, DBCombobox1, DBEdit6, DBEdit7, DBEdit8, DBCombobox2, DBEdit11 CharCase ecUpperCase
DBImage1 Center True
Stretch True 18. Tambahkan OpenPictureDialog1 dari tab Dialogs.
19. Tambahkan BitBtn1 dari tab Additional ke dalam GroupBox1, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value BitBtn1 Additional GroupBox1 Caption Cari …
Glyph Cari.bmp
20. Tambahkan DBNavigator1 dari tab Data Control ke dalam GroupBox1, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value
DBNavigator1 Data Control GroupBox1 Align alBottom
Datasource Datasource1 Flat True VisibleButtons.nbInsert False VisibleButtons.nbDelete False VisibleButtons.nbEdit False VisibleButtons.nbPost False VisibleButtons.nbCancel False VisibleButtons.nbRefresh False
21. Tambahkan ADOQuery1 dari tab ADO, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value
ADOQuery1 ADO FMember Connection FUtama.ADOConnection1 Datasource DataSource1
Name qTransaksi
SQL Select Pinjam.TglPinjam, DPinjam.KoleksiID,
(Select Koleksi.Judul From Koleksi Where DPinjam.KoleksiID =
(Select Kembali.TglKembali From Kembali Where DPinjam.KembaliID = Kembali.KembaliID) as
TglKembali
From Pinjam, DPinjam Where
(Pinjam.PinjamID = DPinjam.PinjamID) and
(Pinjam.MemberID = :MemberID) Order by Pinjam.TglPinjam
22. Pilih qTransaksi pada Object Treeview, klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters, pilih MemberID (lihat gambar), ubah property seperti table di bawah ini :
Komponen Property Value
TParameters[0] DataType ftInteger
23. Buat persistent field untuk query qTransaksi, klik dua kali qTransaksi pada Object TreeView untuk membuka field editor, kemudian klik kanan pada field editor dan pilih Add All Fields. Kalau gagal, coba periksa kembali property SQL pada qTransaksi, mungkin ada kesalahan penulisan script.
24. Tambahkan Datasource2 dari tab Data Access, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value Datasource2 Data Access FMember Dataset qTransaksi 25. Atur layout form FMember seperti gambar di bawah ini :
26. Atur urutan tab pada GroupBox1 dengan cara klik kanan GroupBox1, pilih Tab Order, kemudian atur urutan tab dengan urutan seperti gambar berikut :
27. Tambahkan variable MemberID dengan type Integer pada blok Public di unit UFMember, lihat gambar berikut :
28. Pilih FMember pada Object TreeView, buat event OnCreate, OnShow dan OnClose, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
FMember onCreate procedure TFMember.FormCreate(Sender: TObject); begin
MemberID := 0;
PageControl1.ActivePageIndex := 0; end;
onShow procedure TFMember.FormShow(Sender: TObject); begin
Randomize; Member.Open; qTransaksi.Open;
If MemberID > 0 then Member.Locate('MemberID', MemberID, []) else Member.Insert;
If FUtama.HakAkses = 0 then DBEdit11.PasswordChar := '*'
else DBEdit11.PasswordChar := #0;
end;
onClose procedure TFMember.FormClose(Sender: TObject; var Action: TCloseAction); begin MemberID := 0; qTransaksi.Close; Member.Close; end;
29. Pilih SpeedButton1, SpeedButton2, SpeedButton3 dan SpeedButton4 pada Object TreeView, buat event OnClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code SpeedButton1,
SpeedButton2, SpeedButton3, SpeedButton4
onClick procedure TFMember.SpeedButton1Click(Sender: TObject); begin
Case (Sender as TSpeedButton).Tag of 1 : Member.Post;
2 : Member.Delete; 3 : ;
4 : Member.Cancel; End;
If (Sender as TSpeedButton).Tag in [2,4] then Close;
30. Pilih Member pada Object TreeView, buat event AfterScroll, BeforeDelete, BeforePost dan onNewRecord, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
Member AfterScroll procedure TFMember.MemberAfterScroll(DataSet: TDataSet); begin
DateTimePicker1.Date := MemberTglDaftar.Value; end;
BeforeDelete procedure TFMember.MemberBeforeDelete(DataSet: TDataSet); begin
If MessageDlg('Hapus data?',mtConfirmation, [mbYes, mbNo], 0) = mrNo
then Abort; end;
BeforePost procedure TFMember.MemberBeforePost(DataSet: TDataSet); begin
MemberTglDaftar.Value := DateTimePicker1.Date; end;
onNewRecord procedure TFMember.MemberNewRecord(DataSet: TDataSet); begin
If DBEdit2.Enabled then ActiveControl := DBEdit2; MemberKota.Value := 'BANJARMASIN';
MemberTandaPengenal.Value := 'KTP'; MemberTglDaftar.Value := Now; MemberStatus.Value := 'AKTIF';
MemberPasswords.Value := FormatFloat('0000', Random(9999)); end;
31. Pilih Datasource1 pada Object TreeView, buat event onStateChange, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
DataSource1 onStateChange procedure TFMember.DataSource1StateChange(Sender: TObject);
begin
SpeedButton1.Enabled := (Member.State in dsEditModes) and (FUtama.HakAkses in [1,2]); SpeedButton2.Enabled := (Member.State in [dsBrowse]) and (FUtama.HakAkses in [1,2]); SpeedButton3.Enabled := (Member.State in [dsBrowse]) and (FUtama.HakAkses in [1,2]); BitBtn1.Enabled := (FUtama.HakAkses in [1,2]); DBEdit2.Enabled := FUtama.HakAkses in [1,2]; DBEdit3.Enabled := FUtama.HakAkses in [1,2]; DBEdit4.Enabled := FUtama.HakAkses in [1,2]; DBCombobox1.Enabled := FUtama.HakAkses in [1,2]; DBEdit6.Enabled := FUtama.HakAkses in [1,2]; DBEdit7.Enabled := FUtama.HakAkses in [1,2]; DBEdit8.Enabled := FUtama.HakAkses in [1,2]; DateTimePicker1.Enabled := FUtama.HakAkses in [1,2]; DBCombobox2.Enabled := FUtama.HakAkses in [1,2]; DBNavigator1.Enabled := FUtama.HakAkses in [1,2]; end;
32. Pilih BitBtn1 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
BitBtn1 onClick procedure TFMember.BitBtn1Click(Sender: TObject); begin
With OpenPictureDialog1 do Begin
If Execute then
Begin
If Member.State in [dsBrowse] then Member.Edit; DBImage1.Picture.LoadFromFile(FileName); End;
End; end;
33. Pilih TabSheet2 pada Object TreeView.
34. Tambahkan DBGrid1 dari tab Data Control ke dalam TabSheet2, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value DBGrid1 Data Control TabSheet2 Align alClient
Datasource DataSource2
35. Klik dua kali DBGrid1 pada Object TreeView untuk membuka Column Editor. Klik kanan pada Column Editor, pilih Add All Fields (lihat gambar dibawah ini). Atur property untuk masing-masing kolom seperti table di bawah ini :
Komponen Property Value
DBGrid1.Columns[0] Title.Alignment taCenter Title.Caption Tgl Pinjam Title.Font.Style.fsBold True
Width 100
DBGrid1.Columns[1] Title.Alignment taCenter Title.Caption #Koleksi Title.Font.Style.fsBold True
Komponen Property Value
Width 60
DBGrid1.Columns[2] Title.Alignment taCenter Title.Caption Judul Title.Font.Style.fsBold True
Width 250
DBGrid1.Columns[3] Title.Alignment taCenter Title.Caption Tgl Kembali Title.Font.Style.fsBold True
Width 100
36. Pada tahap ini seharusnya FMember mempunyai tampilan seperti gambar berikut ini :
37. Kembali ke form FUtama, klik menu View – Form…, pilih FUtama, klik OK untuk melanjutkan.
38. Klik menu File – Use Unit, pilih FMember, klik OK untuk melanjutkan. 39. Pilih Member1 pada Object TreeView, buat event onClick, ketikkan
perintah seperti table di bawah ini : Komponen Event Code
Member1 onClick procedure TFUtama.Member1Click(Sender: TObject); begin
FMember.ShowModal; end;
40. Pilih SpeedButton1 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
SpeedButton1 onClick procedure TFUtama.SpeedButton1Click(Sender: TObject); begin
FMember.ShowModal; end;
Tugas :
1. Selesaikan Latihan 17, 18, 19, 20, dan 21.
2. Masukkan minimal 10 data member member lengkap dengan foto melalui form Member.
3. Tugas akan diperiksa pada pertemuan berikutnya.
Perbaikan (Khusus kelas 3E dan 3G) :
1. Lakukan perbaikan pada Latihan 21 (Membuat Form Member) : Point 10, 20, 21 - 24, 26, 28, 29, 31 dan 32.
Cara Instalasi QuickReport di Delphi 7.0
QuickReport merupakan komponen yang dapat digunakan untuk
membuat laporan dengan berbagai macam bentuk. Seperti
pendahulunya, QuickReport juga disertakan dalam Delphi 7.0 tetapi
tidak secara otomatis terpasang pada proses instalasi Delphi 7.0. Berikut
adalah langkah-langkah instalasi QuickReport pada Delphi 7.0 :
1. Jalankan aplikasi Delphi.
2. Klik menu Components – Install Packages, klik Add untuk menambahkan paket baru.
3. Cari file dcltqr70.bpl pada lokasi C:\Program Files\Borland\Delphi7\Bin. Klik Open untuk membuka file tersebut. Klik OK untuk menutup Project Options.
4. Pada tahap ini seharusnya komponen QuickReport sudah terpasang dengan baik.