Wednesday, July 18, 2012

Modul 6. Membuat Form Anggota pada Aplikasi Perpustakaan


Melanjutkan pelajaran sebelumnya, kali ini kita akan membuat frmanggota yaitu dengan cara:

1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.

2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project pustakaPrj, lalu klik pustakaPrj.dpr dan klik open

3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Daftar Anggota, dan pada name ketikkan frmanggota.

4. Klik menu View, lalu klik forms dan double klik mainmenu1, klik file pada mainmenu1, klik anggota dan ketikkan :
frmanggota.show;
catatan : Jangan lupa untuk mengikutsertakan anggotaU.pas ke dalam pustakaPrj.dpr yaitu dengan
 uses anggotau.pas

5. Klik menu View, lalu klik forms dan double klik frmanggota, lengkapi form tersebut seperti gambar berikut :





Catatan :
Palette standard : Label, Button, Panel
Palette win32 : DateTimePicker, PageControl (Untuk 2 muka tampilan Baris dan tabel)
Pallete Additional : SpeedButton (maju mundur record)
Pallete Data controls : DBGrid, DBEdit, DBImage(untuk Foto)
Pallete ADO : Ado Connection, ADOTable,
Pallete DataAcces : DataSource
Pallete Dialog : OpenPictureDialog

Setting datasource untuk masing masing object database adalah ke datasorce1, sedangkan untuk datafield dbedit dan DBImage masing-masing sesuai dengan field di tabel penerbit.

Yang baru dalam frmanggota ini adalah mengakses file gambar *.bmp untuk direkam dalam filed foto dan ditampilkan dalam DBImage. Adapun kode untuk mengambil file adalah sebagai berikut:

procedure TfrmAnggota.Button1Click(Sender: TObject);
var
  BlobField : TBlobField;
begin
  with topenpicturedialog.Create(nil) do
  try
    InitialDir := '.';
    if Execute then
    begin
       if ADOTable1.State in [dsbrowse] then
       ADOTable1.Edit;
       BlobField := ADOTable1.FieldByName('Foto') as TBlobField;
       BlobField.LoadFromFile(filename);
     end;
     finally
       Free;
       end;
end;

Dan untuk kode menghapus foto adalah:

procedure TfrmAnggota.Button2Click(Sender: TObject);
begin
 if ADOTable1.State in [dsbrowse] then
       ADOTable1.Edit;
   TBlobField(ADOTable1.FieldByName('Foto')).Clear;
end;

catatan : komponen DBImage hanya bisa mengakses file gambar dalam format *.bmp, *.ico, *.emf dan *.wmf
Untuk kode-kode operasi database dan form yang lain sama dengan latihan sebelumnya, hanya diganti parameter databasenya saja. Kode selengkapnya untuk frmAnggota adalah sbb:
unit AnggotaU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Mask,
  Buttons, DB, ADODB, ExtDlgs;

type
  TfrmAnggota = class(TForm)
    Panel1: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit1: TDBEdit;
    DBGrid1: TDBGrid;
    DBImage1: TDBImage;
    Button1: TButton;
    Button2: TButton;
    DateTimePicker1: TDateTimePicker;
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure DateTimePicker1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmAnggota: TfrmAnggota;

implementation

{$R *.dfm}

procedure TfrmAnggota.DateTimePicker1Change(Sender: TObject);
begin
DBEdit3.Text := dateToStr(DateTimePicker1.Date);
end;

procedure TfrmAnggota.Button1Click(Sender: TObject);
var
  BlobField : TBlobField;
begin
  with topenpicturedialog.Create(nil) do
  try
    InitialDir := '.';
    if Execute then
    begin
       if ADOTable1.State in [dsbrowse] then
       ADOTable1.Edit;
       BlobField := ADOTable1.FieldByName('Foto') as TBlobField;
       BlobField.LoadFromFile(filename);
     end;
     finally
       Free;
       end;

  //GetJpeg(Image1,Blobfield);
end;

procedure TfrmAnggota.Button3Click(Sender: TObject);
begin
close;
end;

procedure TfrmAnggota.Button4Click(Sender: TObject);
begin
ADOTable1.Append; 
end;

procedure TfrmAnggota.Button5Click(Sender: TObject);
begin
ADOTable1.Delete;
end;

procedure TfrmAnggota.Button6Click(Sender: TObject);
begin
ADOTable1.Post; 
end;

procedure TfrmAnggota.SpeedButton1Click(Sender: TObject);
begin
DataSource1.DataSet.First;
end;

procedure TfrmAnggota.SpeedButton2Click(Sender: TObject);
begin
DataSource1.DataSet.Prior;  
end;

procedure TfrmAnggota.SpeedButton3Click(Sender: TObject);
begin
DataSource1.DataSet.Next;
end;

procedure TfrmAnggota.SpeedButton4Click(Sender: TObject);
begin
DataSource1.DataSet.Last;
end;

procedure TfrmAnggota.Button2Click(Sender: TObject);
begin
 if ADOTable1.State in [dsbrowse] then
       ADOTable1.Edit;
   TBlobField(ADOTable1.FieldByName('Foto')).Clear;
end;

end.

No comments:

Post a Comment