[files.indowebster.com]-membuat aplikasi database delphi 7
TRANSCRIPT
Created By: Mirza Yogy Kurniawan
1
MEMBUAT APLIKASI DATABASE DELPHI 7.0
KASUS : PERPUSTAKAAN
1.1 Microsoft Access
1. Buat Folder “Perpustakaan” 2. Jalankan Ms Access 3. Create New Database 4. Simpan dengan nama “DBPerpus” pilih format *.mdb 5. Pastikan format *.mdb dan disimpan di folder
“Perpustakaan” 6. Create – Table Design – Isi fieldnya seperti berikut:
Field Name Data Type Lebar PK KodeBuku Text 4 JudulBuku Text 40 Pengarang Text 40 Penerbit Text 40 TahunTerbit Text 4 JumlahBuku Number
7. Simpan Dengan Nama “TBuku” 8. Dengan Cara yang sama Buat “TAnggota”
Field Name Data Type Lebar PK NomorAnggota Text 14 NamaAnggota Text 40 TanggalLahir Date/Time Alamat Text 40 Foto OLE Object
9. TPetugas Field Name Data Type Lebar PK NomorPetugas Text 15 NamaPetugas Text 40 NamaPengguna Text 25 JenisPengguna Text 5 KataSandi Text 25 Foto OLE Object
10. TPeminjaman Field Name Data Type Lebar PK NomorPeminjaman Text 16 NomorPetugas Text 15 NomorAnggota Text 14 TanggalPeminjaman Date/Time TanggalHarusKembali Date/Time TanggalPengembalian Date/Time Denda Number
11. TDetailPeminjaman Field Name Data Type Lebar NomorPeminjaman Text 16 KodeBuku Text 4
Created By: Mirza Yogy Kurniawan
2
12. Buka TPetugas isi: NomorPetugas: 24/Mar/2012-P001 NamaPetugas : (Isi Sendiri) NamaPengguna: ADMIN JenisPengguna: ADMIN KataSandi: (Isi Sendiri) Foto: Kosongkan
13. Tutup Microsoft Access
1.2 Borland Delphi 7.0
A. Koneksi Dengan ADOConnection pada Data Module
1. Jalankan Delphi
2. File – Save All (Shift+Ctrl+S)
3. Simpan Unit Dengan Nama “ULogin.pas” dan
Project “PerpusApp”.
4. File – New – Data Module – Save dengan Nama
“UDM.Pas”
5. Ganti Properti Name menjadi DM
6. Tambahkan dari “Tab ADO” sebuah komponen
“ADOConnection”
7. Klik 2 Kali “ADOConnection1” – Build – Microsoft
Jet 4.0 OLE DB Provider – Next – Ketik
DBPerpus.mdb
8. Test Connection, Jika gagal pastikan DBPerpus.mdb
berada dalam folder yang sama dengan Project
PerpusApp
9. Ubah Komponen ADOConnection1
Komponen Properties Isi ADOConnection1 Connected True LoginPrompt False Name CON
10. Save All
Created By: Mirza Yogy Kurniawan
3
B. Form Login
1. View – Forms (Shift+F12)
2. Pilih ULogin/Form1
3. Ubah Properti Form
Komponen Properties Isi Form Align AlCustom BorderIcons
biSystemMenu False
BorderIcons biMinimized
False
BorderIcons biMaximized
False
BorderIcons biHelp False BorderStyle BsDialog Caption LOGIN Name FLogin Position PoDesktopCenter
4. Letakkan 1 ADOTable, 2 Label, 2 Edit, dan 2 Button
5. Atur Propertiesnya
Komponen Properties Isi Label1 Caption Nama Pengguna Label2 Caption Kata Sandi Button1 Name BMasuk Caption Masuk Button2 Name BKeluar Caption Keluar Edit1 CharCase EcUpperCase Name EDUSER Edit2 Name EDPASS PasswordChar * ADOTable1 Name ADOTUser Connection DM.CON TableName TPetugas Active True
6. Cari Tulisan “Implementation” di Unit, Tambahkan
variable LAGI:integer diatasnya.
Created By: Mirza Yogy Kurniawan
4
7. Klik 1 Kali pada Form – Cari Event OnShow – Klik 2
Kali
8. Klik 2 Kali Pada Tombol Keluar
9. Klik 1 Kali Pada EDUser – Events – OnKeyDown
10. Klik 1 Kali Pada EDPass – Events – OnKeyDown
11. Supaya Ketika Diklik Tombol Masuk bisa membuka form utama maka buat dulu form utama.
12. File – New – Form, Pada Properties ganti Name menjadi FUtama.
13. Simpan dengan nama UUtama.pas 14. Kembali ke FLogin: View – Forms – Flogin 15. File – Use Unit Pilih FUtama atau UUtama
procedure Tflogin.EDPASSKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then bmasuk.SetFocus; end;
procedure Tflogin.EDUSERKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edpass.SetFocus; end;
procedure Tflogin.BKELUARClick (Sender: TObject); Begin IF MessageDlg('Apakah Yakin Ingin Keluar..?', mtConfirmation,[mbyes,mbno],0)=mrYes then Application.Terminate; end;
procedure Tflogin.FormShow(Sender: TObject); begin adotuser.Active:=false; adotuser.Active:=true; eduser.Clear; edpass.Clear; lagi:=0; end;
Created By: Mirza Yogy Kurniawan
5
16. Klik 2 Kali Pada Tombol Masuk isikan:
17. Save All Sampai sini ubah dulu di
Project – Option – Tab Forms: Main Form ganti
FLogin, DM Geser ke urutan pertama
procedure Tflogin.BMASUKClick(Sender: TObject); Begin if (adotuser.Locate('namapengguna',EDUSER.Text,[])) and (adotuser.FieldByName('katasandi').AsString=edpass.Text) and (lagi<=2) then begin MessageDlg('Selamat Datang '+adotuser.fieldbyname('namapetugas').AsString, mtInformation,[mbOK],0); futama.ShowModal; end else begin messagedlg('Nama Pengguna Atau Kata Sandi Salah',mtError,[mbOK],0); eduser.SetFocus; lagi:=lagi+1; if lagi>2 then begin MessageDlg('Hubungi Administrator',mtWarning,[mbOK],0); application.Terminate; end; exit; end; end;
Created By: Mirza Yogy Kurniawan
6
C. Form Utama
1. Pada Pembuatan Form sebelumnya sudah dibuat
FUtama jadi tinggal lakukan: View – Forms –
UUtama atau FUtama.
2. Ubah Properti Form
Komponen Properties Isi Form Align AlCustom BorderIcons
biSystemMenu False
BorderIcons biMinimized
False
BorderIcons biMaximized
False
BorderIcons biHelp False BorderStyle BsDialog Caption PERPUSTAKAAN Name FUtama Position PoDesktopCenter
3. Dari TAB Standard ambil komponen MainMenu
4. Klik 2 Kali Main Menu dan Isi Seperti Berikut:
Created By: Mirza Yogy Kurniawan
7
5. File – Use Unit – Flogin/Ulogin
6. Klik Form 1 Kali – Events – OnShow
7. Klik 2 Kali Pada Menu Keluar
procedure TFUtama.Keluar1Click(Sender: TObject); begin FLogin.bKeluar.Click; end;
procedure TFUtama.FormShow(Sender: TObject); begin if flogin.adotuser.FieldByName('jenispengguna').AsString='ADMIN' then DataPetugas1.Visible:=true else DataPetugas1.Visible:=false; end;
Created By: Mirza Yogy Kurniawan
8
D. Form Buku
1. File – New Form
2. Save – Simpan dengan nama UBuku.pas
3. Ubah Properti Form
Komponen Properties Isi Form Align AlCustom BorderIcons
biSystemMenu False
BorderIcons biMinimized
False
BorderIcons biMaximized
False
BorderIcons biHelp False BorderStyle BsDialog Caption Data Buku Name FBuku Position PoDesktopCenter 4. Cari Tulisan “Implementation” di Unit,
Tambahkan variable Status:String diatasnya.
5. Tambahkan 6 Label, 7 Edit, 7 Button, 1
RadioGroup, 1 DBGrid, 1 ADOTable, 1 Data
Source, atur seperti gambar berikut:
6. Atur Propertiesnya
Komponen Properties Isi Label1 Caption Kode Buku Label2 Caption Judul Buku Label3 Caption Pengarang Label4 Caption Penerbit Label5 Caption Tahun Terbit Label6 Caption Jumlah Buku Button1 Name BTambah Caption Tambah Button2 Name BUbah
Created By: Mirza Yogy Kurniawan
9
Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Edit1 CharCase EcUpperCase Name EDKODEBUKU Edit2 CharCase EcUpperCase Name EDJUDULBUKU Edit3 CharCase EcUpperCase Name EDPENGARANG Edit4 CharCase EcUpperCase Name EDPENERBIT Edit5 CharCase EcUpperCase Name EDTAHUNTERBIT Edit6 CharCase EcUpperCase Name EDJUMLAHBUKU Edit7 CharCase EcUpperCase Name EDCARI RadioGroup1 Items Kode Buku
Judul Buku Pengarang
Caption Pencarian ADOTable1 Name ADOTBuku Connection DM.CON
TableName TBuku Active True DataSource1 Name DSBuku DataSet ADOTBuku DBGrid1 DataSource DSBuku Options
dgEditing False
7. Klik 2 Kali DBGrid – Klik Kanan Add All Fields
8. Atur Properties
Komponen Properties Isi KodeBuku Title - Alignment taCenter Title - Caption Kode Buku JudulBuku Title - Alignment taCenter Title - Caption Judul Buku Pengarang Title - Alignment taCenter Title - Caption Pengarang Penerbit Title - Alignment taCenter Title - Caption Penerbit TahunTerbit Title - Alignment taCenter Title - Caption Tahun Terbit JumlahBuku Title - Alignment taCenter Title - Caption Jumlah Buku
Created By: Mirza Yogy Kurniawan
10
9. Klik 1 Kali pada Form – Cari Event OnShow –
Klik 2 Kali
10. Klik 2 Kali Pada Tombol Tambah
procedure TFBuku.BTambahClick(Sender: TObject); begin STATUS:='TAMBAH'; EDKODEBUKU.Enabled:=TRUE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDKODEBUKU.SetFocus; end;
procedure TFBuku.FormShow(Sender: TObject); begin ADOTBUKU.Filtered:=FALSE; ADOTBUKU.Active:=FALSE; ADOTBUKU.Active:=TRUE; EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=FALSE; EDPENGARANG.Enabled:=FALSE; EDPENERBIT.Enabled:=FALSE; EDTAHUNTERBIT.Enabled:=FALSE; EDJUMLAHBUKU.Enabled:=FALSE; EDKODEBUKU.Clear; EDJUDULBUKU.Clear; EDPENGARANG.Clear; EDPENERBIT.Clear; EDTAHUNTERBIT.Clear; EDJUMLAHBUKU.Clear; EDCARI.Clear; EDCARI.Enabled:=TRUE; RadioGroup1.Enabled:=TRUE; BCARI.Enabled:=TRUE; BTAMBAH.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; RadioGroup1.ItemIndex:=-1; end;
Created By: Mirza Yogy Kurniawan
11
11. Klik 2 Kali Pada Tombol Ubah
12. Klik 2 Kali Pada Tombol Batal
13. Klik 2 Kali Pada Tombol Hapus
14. Klik EDTAHUNTERBIT – Event - OnKeyPress
15. Lakukan hal yang sama untuk EDJUMLAHBUKU
procedure TFBuku.EDTAHUNTERBITKeyPress(Sender: TObject; var Key: Char); begin if NOT (Key in ['0'..'9', #8, #9, #26, #13]) then begin Key:=#0; exit; end; end;
procedure TFBuku.BHapusClick(Sender: TObject); begin if MessageDlg('Apakah Data Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin ADOTBuku.Delete; FORMSHOW(SENDER); end; end;
procedure TFBuku.BBatalClick(Sender: TObject); begin FORMSHOW(SENDER); end;
procedure TFBuku.BUbahClick(Sender: TObject); begin STATUS:='UBAH';
EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDJUDULBUKU.SetFocus; end;
Created By: Mirza Yogy Kurniawan
12
16. Klik 2 Kali Pada Tombol Cari
procedure TFBUKU.bCariClick(Sender: TObject); VAR S:STRING; begin IF RADIOGROUP1.ItemIndex=-1 THEN BEGIN MESSAGEDLG('Pilih Field yang Dicari',mtWarning,[mbOK],0); exit; END ELSE IF RADIOGROUP1.ItemIndex=0 THEN BEGIN S:='KodeBuku like %'+edcari.Text+'%'; END ELSE IF RADIOGROUP1.ItemIndex=1 THEN BEGIN S:='JudulBuku like %'+edcari.Text+'%'; END ELSE BEGIN S:='Pengarang like %'+EDcari.Text+'%'; END; ADOTBuku.Filtered:=false; adotbuku.Filter:=S; adotbuku.Filtered:=true; if adotbuku.IsEmpty then BEGIN MESSAGEDLG('Data Tidak Ditemukan',mtWarning,[mbOK],0); formshow(sender); exit; END; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edtahun.Enabled:=false; edstok.Enabled:=false; dtp1.Enabled:=false; EDKODEBUKU.Text:=ADOTBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=ADOTBuku.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=ADOTBuku.FIELDBYNAME('PENGARANG').AsString; EDTAHUN.Text:=ADOTBuku.FIELDBYNAME('TAHUN').AsString; EDSTOK.Text:=ADOTBUKU.FIELDBYNAME('STOK').AsString; DTP1.DateTime:=ADOTBUKU.FIELDBYNAME('TANGGALMASUK').AsDateTime; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; bpilih.Enabled:=FALSE; end;
Created By: Mirza Yogy Kurniawan
13
17. Klik 2 Kali Pada Tombol Simpan
procedure TFBuku.BSimpanClick(Sender: TObject); begin if (edkodebuku.Text='') or (edjudulbuku.Text='') or (edpengarang.Text='') or (edpenerbit.Text='') or (edtahunterbit.Text='') or (EDJUMLAHBUKU.Text='') then begin messagedlg('Lengkapi Data',mtWarning,[mbOK],0); exit; end; if Length(edkodebuku.Text)>4 then begin messagedlg('Kode Buku Maksimal 4 Karakter',mtWarning,[mbOK],0); edkodebuku.SetFocus; exit; end; if (strtoint(EDTAHUNTERBIT.Text)>strtoint(formatdatetime('yyyy',now))) or (strtoint(EDTAHUNTERBIT.Text)<1900) then begin messagedlg('Tahun Salah',mtWarning,[mbOK],0); EDTAHUNTERBIT.SetFocus; exit; end; if status='TAMBAH' then begin if adotbuku.Locate('kodebuku',edkodebuku.Text,[]) then begin messagedlg('Kode Sudah Dipakai',mtWarning,[mbOK],0); exit; end; adotbuku.Append; adotbuku.FieldByName('KodeBuku').Value:=edkodebuku.Text;; end else begin adotbuku.Edit; end; adotbuku.FieldByName('judulbuku').AsString:=edjudulbuku.Text; adotbuku.FieldByName('pengarang').AsString:=edpengarang.Text; adotbuku.FieldByName('penerbit').AsString:=edpenerbit.Text; adotbuku.FieldByName('tahunterbit').AsString:=edtahunterbit.Text; adotbuku.FieldByName('jumlahbuku').asstring:=edjumlahbuku.Text; adotbuku.Post; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender); end;
Created By: Mirza Yogy Kurniawan
14
18. Klik 1 Kali Pada DBGrid – Event – OnDblClick
19. Isikan Close; pada tombol Keluar
20. Supaya Form Utama Bisa Memanggil Form Buku:
a. View – Form – UUtama/FUtama
b. File – Use Unit – Pilih FBuku/UBuku
c. Klik Data Buku pada FUtama, isikan: FBuku.showModal;
21. Save All
procedure TFBuku.DBGrid1DblClick(Sender: TObject); begin if ADOTBuku.IsEmpty then begin messagedlg('Data Masih Kosong',mtWarning,[mbOK],0); exit; end; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edpenerbit.Enabled:=false; EDTAHUNTERBIT.Enabled:=false; EDJUMLAHBUKU.Enabled:=false; EDKODEBUKU.Text:=ADOTBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=ADOTBuku.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=ADOTBuku.FIELDBYNAME('PENGARANG').AsString; EDPENERBIT.Text:=ADOTBUKU.FIELDBYNAME('PENERBIT').AsString; EDTAHUNterbit.Text:=ADOTBuku.FIELDBYNAME('TAHUNTERBIT').AsString; EDJUMLAHBUKU.Text:=ADOTBUKU.FIELDBYNAME('JUMLAHBUKU').AsString; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; end;
Created By: Mirza Yogy Kurniawan
15
E. Form Anggota
1. File – New Form
2. Save – Simpan dengan nama UAnggota.pas
3. Ubah Properti Form
Komponen Properties Isi Form Align AlCustom BorderIcons
biSystemMenu False
BorderIcons biMinimized
False
BorderIcons biMaximized
False
BorderIcons biHelp False BorderStyle BsDialog Caption Data Anggota Name FAngota Position PoDesktopCenter
4. Cari Tulisan “Implementation” di Unit,
Tambahkan variable Status,Lokasi:String dan
Uses Jpeg diatasnya.
5. Tambahkan 5 Label, 4 Edit, 8 Button, 1
DateTimePicker, 1 ADOTable, 1 DataSource, 1
DBGrid, 1 RadioGroup, 1 Image, dan 1
OpenPictureDialog
6. Atur Propertiesnya
Komponen Properties Isi Label1 Caption Nomor Anggota Label2 Caption Nama Anggota Label3 Caption Tanggal Lahir
Created By: Mirza Yogy Kurniawan
16
Label4 Caption Alamat Label5 Caption Foto Button1 Name BTambah Caption Tambah Button2 Name BUbah Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Button8 Name BPilih Caption Pilih Edit1 CharCase EcUpperCase Name EDNOMOR Edit2 CharCase EcUpperCase Name EDNAMA Edit3 CharCase EcUpperCase Name EDALAMAT Edit4 CharCase EcUpperCase Name EDCARI RadioGroup1 Items Nomor Anggota
Nama Anggota Caption Pencarian ADOTable1 Name ADOTAnggota Connection DM.CON
TableName TAnggota Active True DataSource1 Name DSAnggota DataSet ADOTAnggota DBGrid1 DataSource DSAnggota Options
dgEditing False
Image1 Name Img1 OpenDialogPicture Name Opd DateTimePicker format Dd/MMM/yyy
7. Klik 2 Kali DBGrid – Klik Kanan Add All Fields
8. Atur Properties
Komponen Properties Isi NomorAnggota Title - Alignment taCenter Title - Caption Nomor
Anggota NamaAnggota Title - Alignment taCenter Title - Caption Nama
Anggota TanggalLahir Title - Alignment taCenter Title - Caption Tanggal Lahir Penerbit Title - Alignment taCenter Foto Title - Alignment taCenter
Klik 2 Kali ADOTAnggota – Klik Kanan – Add
All Fields – Pilih TanggalLahir – Properties –
DisplayFormat: dd/MMM/yyyy
Created By: Mirza Yogy Kurniawan
17
9. Klik 1 Kali pada Form – Cari Event OnShow –
Klik 2 Kali
10. Klik 2 Kali pada tombol Ubah
11. Klik 2 Kali Pada Tombol Hapus
procedure TFAnggota.BHAPUSClick(Sender: TObject); begin if MessageDlg('Apakah Data Benar Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin ADOTANGGOTA.Delete; FORMSHOW(SENDER); end; end;
procedure TFAnggota.BUBAHClick(Sender: TObject); begin status:='ubah'; ednama.Enabled:=true; datetimepicker1.Enabled:=true; edalamat.Enabled:=true; Bbaru.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; Bpilih.Enabled:=true; ednama.SetFocus; end;
procedure TFAnggota.FormShow(Sender: TObject); begin ADOTANGGOTA.Active:=FALSE; ADOTANGGOTA.Active:=TRUE; ADOTANGGOTA.Filtered:=FALSE; EDNOMOR.Enabled:=FALSE; EDNAMA.Enabled:=FALSE; DATETIMEPICKER1.Enabled:=FALSE; EDALAMAT.Enabled:=FALSE; IMG1.Picture.Graphic:=NIL; EDNOMOR.Clear; EDNAMA.Clear; DATETIMEPICKER1.DateTime:=NOW; EDALAMAT.Clear; EDCARI.Clear; BBARU.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; BPILIH.Enabled:=FALSE; RADIOGROUP1.ItemIndex:=-1; end;
Created By: Mirza Yogy Kurniawan
18
12. Klik 2 Kali Pada Tombol Pilih
13. Klik 2 Kali Pada Tombol Batal
14. Klik 2 Kali Pada Tombol Tutup
15. Klik 2 Kali Pada Tombol Tambah
procedure TFAnggota.BBARUClick(Sender: TObject); VAR KODE:STRING; begin IF ADOTAnggota.IsEmpty THEN BEGIN KODE:='001'; end else begin ADOTAnggota.Last; kode:=copy(ADOTAnggota.fieldbyname('nomoranggota').AsString,12,3); kode:=format('%.3d',[strtoint(kode)+1]); end; ednomor.Text:=formatdatetime('dd/MM/yyyy', now)+'-'+kode; ednomor.Enabled:=false; ednama.Enabled:=true; datetimepicker1.Enabled:=true; edalamat.Enabled:=true; Bbaru.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; BPILIH.Enabled:=true; ednama.SetFocus; status:='baru'; end;
procedure TFAnggota.BTUTUPClick(Sender: TObject); begin close; end;
procedure TFAnggota.BBATALClick(Sender: TObject); begin FORMSHOW(SENDER); end;
procedure TFAnggota.BPILIHClick(Sender: TObject); begin if dlgopd.Execute then begin lokasi:=dlgopd.FileName; Img1.Picture.LoadFromFile(lokasi); end; end;
Created By: Mirza Yogy Kurniawan
19
16. Klik 2 Kali Pada Tombol Simpan
procedure TFAnggota.BSIMPANClick(Sender: TObject); var year1,year2:integer; begin year1:=strtoint(formatdatetime('yyyy',now)); year2:=strtoint(formatdatetime('yyyy',datetimepicker1.DateTime)); if (year1-year2<6) or (year1-year2>99) then begin MessageDlg('Umur Tidak Sesuai',mtWarning,[mbok],0); exit; end; if (ednama.Text='') or (edalamat.Text='') or (img1.Picture.Graphic=nil) then begin MessageDlg('Data Belum Lengkap',mtWarning,[mbok],0); exit; end; if status='baru' then begin ADOTAnggota.Append; ADOTAnggota.FieldByName('nomoranggota').AsString:=ednomor.Text; end else begin ADOTAnggota.Edit; end; ADOTAnggota.FieldByName('namaanggota').AsString:=ednama.Text; ADOTAnggota.FieldByName('tanggallahir').AsDateTime:=datetimepicker1.DateTime; ADOTAnggota.FieldByName('alamat').AsString:=edalamat.Text; ADOTAnggota.FieldByName('foto').AsString:=lokasi; ADOTAnggota.Post; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender);
Created By: Mirza Yogy Kurniawan
20
17. Klik 2 Kali Pada Tombol Cari
procedure TFAnggota.Bcari1Click(Sender: TObject); var s:string; begin if radiogroup1.ItemIndex=-1 then begin MessageDlg('Pilih Tipe Pencarian',mtWarning,[mbOK],0); exit; end else if radiogroup1.ItemIndex=0 then begin s:='nomoranggota LIKE %'+Edcari.Text+'%'; end else begin s:='namaanggota LIKE %'+Edcari.Text+'%'; END; ADOTAnggota.Filtered:=false; ADOTAnggota.Filter:=s; ADOTAnggota.Filtered:=true; if ADOTAnggota.IsEmpty then begin messagedlg('Data Tidak Ditemukan',mtWarning,[mbok],0); formshow(sender); exit; end; with DBGrid1 do begin ednomor.Text:=ADOTAnggota.fieldbyname('nomoranggota').AsString; ednama.Text:=ADOTAnggota.fieldbyname('namaanggota').AsString; datetimepicker1.DateTime:=ADOTAnggota.fieldbyname('tanggallahir').AsDateTime; edalamat.Text:=ADOTAnggota.fieldbyname('alamat').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; end; if lokasi='' then begin Img1.Picture.Graphic:=nil; MessageDlg('Data Foto Masih Kosong',mtWarning,[mbOK],0); end else begin try Img1.Picture.LoadFromFile(lokasi) except begin MessageDlg('Data Foto Tidak Ditemukan',mtWarning,[mbOK],0); img1.Picture.Graphic:=nil; end; end; end; Bbaru.Enabled:=false; Bubah.Enabled:=true; Bsimpan.Enabled:=false; Bhapus.Enabled:=true; Bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; end;
Created By: Mirza Yogy Kurniawan
21
18. Klik 1 Kali Pada DBGrid – Event – OnDblClick
19. Supaya Form Utama Bisa Memanggil Form Buku:
d. View – Form – UUtama/FUtama
e. File – Use Unit – Pilih FAnggota/UAnggota
f. Klik Data Anggota pada FUtama, isikan: FAnggota.showModal;
20. Save All
procedure TFAnggota.DBGrid1DblClick(Sender: TObject); begin with DBGrid1 do begin ednomor.Text:=ADOTAnggota.fieldbyname('nomoranggota').AsString; ednama.Text:=ADOTAnggota.fieldbyname('namaanggota').AsString; datetimepicker1.DateTime:=ADOTAnggota.fieldbyname('tanggallahir').AsDateTime; edalamat.Text:=ADOTAnggota.fieldbyname('alamat').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; end; if lokasi='' then begin Img1.Picture.Graphic:=nil; MessageDlg('Data Foto Masih Kosong',mtWarning,[mbOK],0); end else begin try Img1.Picture.LoadFromFile(lokasi) except begin MessageDlg('Data Foto Tidak Ditemukan',mtWarning,[mbOK],0); img1.Picture.Graphic:=nil; end; end; end; Bbaru.Enabled:=false; Bubah.Enabled:=true; Bsimpan.Enabled:=false; Bhapus.Enabled:=true; Bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; end;
Created By: Mirza Yogy Kurniawan
22
F. Form Petugas