Thursday, January 9, 2014

Project Delphi Sederhana



Buat Data dari Data Dekstop



















simpan struktur tabel yang sudah kamu buat tekan Save As letakkan pada folder
Modul3Delphi dengan nama tabel Barang.

Buat Desain Form



 Coba tambahkan komponen Button pada form seperti gambar


1. Pada tab BDE ambil komponen Table ganti properti name dengan
tbBarang lalu pada properti TableName pilih NBarangdb kemudian pada
properti active isikan True.
2. Pada tab Data Access ambil komponen DataSource ganti properti name dengan
dsBarang lalu pada properti DataSet pilih tbBarang
3.Kemudian tambahkan komponen DBGrid dari tab Data Controls, lalu ubah propertiDataSource dengan dsBarang.

Kita akan mulai mengisikan source code, lihat dibawah
unit UDataRokok;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;

type
  TFInputDataRokok = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    edKodeBarang: TEdit;
    edNamaRokok: TEdit;
    edHarga: TEdit;
    edStock: TEdit;
    btCari: TButton;
    btSimpan: TButton;
    btBatal: TButton;
    btHapus: TButton;
    btEdit: TButton;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    btKeluar: TButton;
    tbBarang: TTable;
    dsBarang: TDataSource;
    procedure FormCreate(Sender: TObject);
    procedure btBatalClick(Sender: TObject);
    procedure btSimpanClick(Sender: TObject);
    procedure btCariClick(Sender: TObject);
    procedure btHapusClick(Sender: TObject);
    procedure btEditClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure btKeluarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FInputDataRokok: TFInputDataRokok;

implementation

{$R *.dfm}

procedure TFInputDataRokok.FormCreate(Sender: TObject);
begin
edKodeBarang.Text :='';
edNamaRokok.Text  :='';
edHarga.Text  :='';
edStock.Text  :='';
end;

procedure TFInputDataRokok.btBatalClick(Sender: TObject);
begin
edKodeBarang.Text :='';
edNamaRokok.Text  :='';
edHarga.Text  :='';
edStock.Text  :='';

edKodeBarang.SetFocus
end;

procedure TFInputDataRokok.btSimpanClick(Sender: TObject);
begin
if not(edKodeBarang.Text <>'') or not(edNamaRokok.Text <>'') or
  not(edHarga.Text <>'') or not(edStock.Text <>'') then
  begin
    MessageDlg('Masih ada yang kosong, mohon di isi !',
    mtInformation,[MBOK],0);
    exit;
  end;

  tbBarang.IndexName  :='';
  tbBarang.FindNearest([edKodeBarang.Text]);

if edKodeBarang.Text = tbBarang['Kode Barang'] then
    begin
      messageDlg('Kode Barang Sudah Ada Dalam Tabel !',
      mtINformation,[MBOK],0);
      exit
    end;

if MessageDlg('Yakin Simpan ?',mtInformation,[mbYes,mbNo],0)=mrYes then
  begin
    tbBarang.Append;
    tbBarang['Kode Barang']  := edKodeBarang.Text;
    tbBarang['Nama Rokok'] := edNamaRokok.Text;
    tbBarang['Harga'] := edHarga.Text;
    tbBarang['Stock'] := edStock.Text;
    tbBarang.Post;

    edKodeBarang.Text :='';
    edNamaRokok.Text  :='';
    edHarga.Text  :='';
    edStock.Text  :='';

    edKodeBarang.SetFocus;
  end;
 end;
procedure TFInputDataRokok.btCariClick(Sender: TObject);
begin
if not(edKodeBarang.Text <>'') then
 begin
    MessageDlg('Kode Barang Isi Dulu !',
    mtInformation,[MBOK],0);
    exit;
  end;

  tbBarang.IndexName  :='';
  tbBarang.FindNearest([edKodeBarang.Text]);

if edKodeBarang.Text = tbBarang['Kode Barang'] then
    begin
      edKodeBarang.Text   := tbBarang['Kode Barang'];
      edNamaRokok.Text    := tbBarang['Nama Rokok'];
      edHarga.Text        := tbBarang['Harga'];
      edStock.Text        := tbBarang['Stock'];
      exit;

      MessageDlg('Kode Barang isi dulu !',
      mtInformation,[MBOK],0);
      edKodeBarang.SetFocus;
      end;
end;

procedure TFInputDataRokok.btHapusClick(Sender: TObject);
begin
if not(edKodeBarang.Text <>'') then
 begin
    MessageDlg('Kode Barang Isi Dulu !',
    mtInformation,[MBOK],0);
    exit;
  end;

  tbBarang.IndexName  :='';
  tbBarang.FindNearest([edKodeBarang.Text]);

if edKodeBarang.Text = tbBarang['Kode Barang'] then
    begin
      if MessageDlg('Yakin Hapus Barangnya ?',mtInformation,[mbYes,mbNo],0)=mrYes then
          begin
          tbBarang.Delete;
          edKodeBarang.SetFocus;
          exit;
          end;
exit;
end;

end;

procedure TFInputDataRokok.btEditClick(Sender: TObject);
    begin
              tbBarang.Edit;
              tbBarang['Kode Barang']  := edKodeBarang.Text;
              tbBarang['Nama Rokok'] := edNamaRokok.Text;
              tbBarang['Harga'] := edHarga.Text;
              tbBarang['Stock'] := edStock.Text;
              tbBarang.Post;
end;

procedure TFInputDataRokok.Button1Click(Sender: TObject);
begin
tbBarang.First
end;

procedure TFInputDataRokok.Button2Click(Sender: TObject);
begin
tbBarang.Prior
end;

procedure TFInputDataRokok.Button3Click(Sender: TObject);
begin
tbBarang.Next
end;

procedure TFInputDataRokok.Button4Click(Sender: TObject);
begin
tbBarang.Last
end;

procedure TFInputDataRokok.btKeluarClick(Sender: TObject);
begin
application.Terminate;
end;

end.