Rabu, 05 Februari 2014

Aplikasi Pembelian menggunakan Delphi 7 by Nur Inayah

Form Loading

unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, jpeg, XPMan;

type
  TForm5 = class(TForm)
    Image1: TImage;
    ProgressBar1: TProgressBar;
    Timer1: TTimer;
    Image2: TImage;
    Label2: TLabel;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    XPManifest1: TXPManifest;
    Timer2: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;
  waktu,pb:integer;

implementation

uses Unit6;

{$R *.dfm}

procedure TForm5.Timer1Timer(Sender: TObject);
begin
pb:=pb+10;
ProgressBar1.Position:=pb;
waktu:=waktu-1;
if pb=100 then

begin
form6.Show;
form5.Hide;
end


end;

procedure TForm5.Timer2Timer(Sender: TObject);
var label5:string;
begin
label5:=caption;
label5:=label5+label5[1];
label5:=copy(label5,2,length(label5)-1);
caption:=label5;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
caption:='P  l  e  a  s  e    W  a  i  t   . . . . .     ';
end;

end.

Form LOGIN

unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Buttons, jpeg, ExtCtrls;

type
  TForm6 = class(TForm)
    adouser: TADOTable;
    bitbtnkeluar: TBitBtn;
    bitbtnlogin: TBitBtn;
    edit1: TEdit;
    edit2: TEdit;
    Label5: TLabel;
    Image1: TImage;
    Label3: TLabel;
    Label4: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    DataSource1: TDataSource;
    SpeedButton1: TSpeedButton;
    Timer1: TTimer;
    adouseriduser: TWideStringField;
    adousernmsup: TWideStringField;
    adouserpassword: TWideStringField;
    adouserhak_akses: TWideStringField;
    Image2: TImage;
    procedure bitbtnloginClick(Sender: TObject);
    procedure bitbtnkeluarClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6 : TForm6;
   y :Integer;
  iduser:string;

implementation

uses Unit5, Unit4, StrUtils, Unit8;

{$R *.dfm}

procedure TForm6.bitbtnloginClick(Sender: TObject);
var
cepat:Longint;
begin
if adouser.Locate('nmsup',edit1.Text,[]) then
begin
if adouser.Locate('password',edit2.Text,[]) then
begin
iduser:= adouser.FieldValues['hak_akses'];
if iduser='ADMIN' then
begin
MessageDlg('nama user dan password benar, anda berhak masuk',mtInformation,[mbok],0 );
MessageDlg('Hak Akses adalah ADMIN',mtInformation,[mbok],0 );
cepat := 1;
While form6.Left + form6.Width < Screen.Width
do
form6.Left := form6.Left + cepat;
While form6.Top - form6.Height < Screen.Width
do
form6.Top := form6.Top + cepat;
form4.Show;
end
else
begin
MessageDlg('nama user dan password benar, anda berhak masuk',mtInformation,[mbok],0 );
MessageDlg('Hak Akses adalah BIASA',mtInformation,[mbok],0 );
cepat := 1;
While form6.Left + form6.Width < Screen.Width
do
form6.Left := form6.Left + cepat;
While form6.Top - form6.Height < Screen.Width
do
form6.Top := form6.Top + cepat;
form4.Show;
form4.MASTER1.Enabled:=False;
form4.LaporanSupplier1.Enabled:=False;
end
end
else if edit2.Text='' then
begin
MessageDlg('password belum di isi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else
begin
if(Application.MessageBox('Password yang anda masukan salah','INFO',MB_OK+MB_ICONWARNING)=IDOK) then
y:=y+1;
begin
if y=1 then
begin
MessageDlg('anda memiliki 2 kesempatan lagi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else if y=2 then
begin
MessageDlg('anda memiliki 1 kesempatan lagi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else if y=3 then
begin
MessageDlg('Maaf anda tidak berhak masuk',mtInformation,[mbok],0 );
close;
end
end
end
end
else if (edit1.Text='')and(edit2.Text='')then
begin
MessageDlg('nama user dan password masih kosong',mtInformation,[mbok],0 );
edit1.SetFocus;
end
else
begin
MessageDlg('mungkin nama user anda salah atau belum di input, coba deh lagi',mtWarning,[mbok],0 );
edit1.SetFocus;
end
end;

procedure TForm6.bitbtnkeluarClick(Sender: TObject);
begin
 IF application.MessageBox('Yakin akan keluar?','Informasi',mb_yesno+mb_iconwarning)=idyes
 then
 begin
close;
form5.Close;
end
else
MessageDlg('ga jadi deh',mtInformation,[mbok],0 )
end;

procedure TForm6.SpeedButton1Click(Sender: TObject);
begin
form6.Hide;
form8.Show;
end;

procedure TForm6.Timer1Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;

end;

procedure TForm6.FormCreate(Sender: TObject);
begin
caption:='Aplikasi Pembelian by Nur Inayah        ';
end;



end.

Form Daftar User Baru

unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB, Mask, DBCtrls, jpeg, ExtCtrls;

type
  TForm8 = class(TForm)
    Image2: TImage;
    Label5: TLabel;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    BitBtn2: TBitBtn;
    Image1: TImage;
    Timer1: TTimer;
    Label6: TLabel;
    Image3: TImage;
    btSave: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure btSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;

implementation

uses Unit6;

{$R *.dfm}

procedure TForm8.BitBtn1Click(Sender: TObject);
begin
form6.adouser.Post;
showmessage('Anda berhasil membuat User, silahkan klik back dan mulai login *_*');
end;

procedure TForm8.BitBtn3Click(Sender: TObject);
begin
form6.adouser.Append;
end;

procedure TForm8.FormCreate(Sender: TObject);
begin
form6.adouser.Refresh;
form6.adouser.Append;
caption:='Daftar User Baru    *_*            ';

end;

procedure TForm8.BitBtn2Click(Sender: TObject);
begin
close;
form6.Show;
end;

procedure TForm8.Timer1Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;

end;



procedure TForm8.btSaveClick(Sender: TObject);
begin
form6.adouser.Post;
showmessage('Anda berhasil membuat User, silahkan klik back dan mulai login *_*');
end;

end.

Form Menu Utama

unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, RpRave, RpDefine, RpCon, RpConDS, DB, ADODB, jpeg,
  ExtCtrls, StdCtrls, Grids, DBGrids;

type
  TForm4 = class(TForm)
    MainMenu1: TMainMenu;
    MASTER1: TMenuItem;
    FormSupplier1: TMenuItem;
    Form1: TMenuItem;
    ransaksi1: TMenuItem;
    ransaksiPembelian1: TMenuItem;
    Laporan1: TMenuItem;
    LaporanBuku1: TMenuItem;
    LaporanSupplier1: TMenuItem;
    LaporanPembelian1: TMenuItem;
    Exit1: TMenuItem;
    Image2: TImage;
    RvDataSetConnection1: TRvDataSetConnection;
    RvDataSetConnection2: TRvDataSetConnection;
    RvProject1: TRvProject;
    RvProject2: TRvProject;
    RvProject3: TRvProject;
    RvDataSetConnection4: TRvDataSetConnection;
    Label1: TLabel;
    Label2: TLabel;
    Timer1: TTimer;
    Label4: TLabel;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Timer2: TTimer;
    PROFILKU1: TMenuItem;
    AboutMe1: TMenuItem;
    Help1: TMenuItem;
    procedure Form1Click(Sender: TObject);
    procedure ransaksiPembelian1Click(Sender: TObject);
    procedure LaporanBuku1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure LaporanSupplier1Click(Sender: TObject);
    procedure LaporanPembelian1Click(Sender: TObject);
    procedure FormSupplier1Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure AboutMe1Click(Sender: TObject);
    procedure Help1Click(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

uses Unit1, Unit2, Unit3, Unit7, Unit6, Unit5;

{$R *.dfm}

procedure TForm4.Form1Click(Sender: TObject);
begin
  form4.Hide;
  form2.Show;
end;

procedure TForm4.ransaksiPembelian1Click(Sender: TObject);
begin
  form4.Hide;
  form3.Show;
end;

procedure TForm4.LaporanBuku1Click(Sender: TObject);
begin
  rvproject1.Execute;
  rvproject1.ExecuteReport('Report2.rav');
end;

procedure TForm4.LaporanSupplier1Click(Sender: TObject);
begin
  rvproject2.Execute;
  rvproject2.ExecuteReport('Report3.rav');
end;

procedure TForm4.Exit1Click(Sender: TObject);
begin
 IF application.MessageBox('Yakin akan keluar?','Informasi',mb_yesno+mb_iconwarning)=idyes
 then
 begin
  close;
  form6.Close;
  form5.Close;
 end
 else
  MessageDlg('ga jadi deh',mtInformation,[mbok],0 )
end;






procedure TForm4.LaporanPembelian1Click(Sender: TObject);
begin
  rvproject3.Execute;
  rvproject3.ExecuteReport('Report4.rav');
end;

procedure TForm4.FormSupplier1Click(Sender: TObject);
begin
  form4.Hide;
  form7.Show;
end;

procedure TForm4.Image1Click(Sender: TObject);
begin
  form7.Show;
end;





procedure TForm4.Timer1Timer(Sender: TObject);
var
ADate:TDateTime;
hari:array[1..7] of string;

begin
hari[1]:='Minggu';
hari[2]:='Senin';
hari[3]:='Selasa';
hari[4]:='Rabu';
hari[5]:='Kamis';
hari[6]:='Jumat';
hari[7]:='Sabtu';

ADate:=date;
label1.caption:=hari[DayofWeek(ADate)];
label2.caption:=DateToStr(Now);
label3.caption:=TimeToStr(Now);


end;

procedure TForm4.Timer2Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
caption:='Program Pembelian PT TIGA AKSARA :D !!    ';
end;

procedure TForm4.AboutMe1Click(Sender: TObject);
begin
form4.Hide;
profil.Show;
end;

procedure TForm4.Help1Click(Sender: TObject);
begin

application.MessageBox('Aplikasi Pembelian 2014'+#13+
'Tugas Delphi Politeknik Harapan Bersama Tegal'+#13+
'Lakukan Transaksi di Menu Transaksi'+#13+'Terima Kasih *_*','Application by Nur Inayah',64);
end;

end.

Form Supplier

 unit Unit7;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids, jpeg, ExtCtrls;

type
  TForm7 = class(TForm)
    Image1: TImage;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Image2: TImage;
    ekdsup: TEdit;
    enmsup: TEdit;
    etelp: TEdit;
    ealamat: TEdit;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label6: TLabel;
    datasup: TDataSource;
    adosup: TADOTable;
    adosupidsup: TWideStringField;
    adosupnmsup: TWideStringField;
    adosuptelp: TWideStringField;
    adosupalamat: TWideStringField;
    GroupBox1: TGroupBox;
    bitbtnexit: TBitBtn;
    Timer1: TTimer;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Timer2: TTimer;
    Timer3: TTimer;
    btNew: TBitBtn;
    btDelete: TBitBtn;
    btSave: TBitBtn;
    procedure bitbtnexitClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure btNewClick(Sender: TObject);
    procedure btDeleteClick(Sender: TObject);
    procedure btSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
  procedure aktif;
  procedure bersih;
  procedure pasif ;
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation

uses Unit4;

{$R *.dfm}
procedure tform7.aktif;
begin
  ekdsup.Enabled := true;
  enmsup.Enabled :=true;
  etelp.Enabled := true;
  ealamat.Enabled :=true;
end;

procedure tform7.bersih;
begin
  ekdsup.Text:='';
  enmsup.Text:='';
  etelp.Text:='';
  ealamat.Text:='';
end;

procedure tform7.pasif;
begin
  ekdsup.Enabled := false;
  enmsup.Enabled :=false;
  etelp.Enabled := false;
  ealamat.Enabled :=false;
end;



procedure TForm7.bitbtnexitClick(Sender: TObject);
begin
  IF application.MessageBox('Yakin akan keluar?','Informasi',mb_okcancel)=idok
  then
  begin
  showmessage ('Form akan ditutup');
  close;
  end
  else
  begin
  showmessage('Form tidak ditutup');
  exit;
  end;
  form4.Show;
end;

procedure TForm7.FormActivate(Sender: TObject);
begin
bersih;
pasif;

end;

procedure TForm7.FormCreate(Sender: TObject);
begin
adosup.Active := true;
caption:='From Supplier            PT TIGA AKSARA :D !!                ';
end;

procedure TForm7.Timer1Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;
end;

procedure TForm7.Timer2Timer(Sender: TObject);
var
ADate:TDateTime;
hari:array[1..7] of string;

begin
hari[1]:='Minggu';
hari[2]:='Senin';
hari[3]:='Selasa';
hari[4]:='Rabu';
hari[5]:='Kamis';
hari[6]:='Jumat';
hari[7]:='Sabtu';

ADate:=date;
label8.caption:=hari[DayofWeek(ADate)];
label9.caption:=DateToStr(Now);
label10.caption:=TimeToStr(Now);

end;

procedure TForm7.Timer3Timer(Sender: TObject);
    var a,b,c: string;

    begin

    a:= Label1.Caption;

    b:= copy(a,1,1);

    c:= copy(a,2,length(a)); // kode agar teks berjalan

    Label1.Caption:= c + b;

    if Label1.Font.Color= clYellow then

    Label1.Font.Color:= clBlack

    else

    if Label1.Font.Color= clBlack then

    Label1.Font.Color :=clGreen

    else

    if Label1.font.Color=clyellow then

    Label1.Font.Color:=clred

    else

    if Label1.font.Color=clred then

    Label1.Font.Color:=clblue

    else

    Label1.Font.Color:=clYellow;

    end;

procedure TForm7.btNewClick(Sender: TObject);
var
nomor:integer;

begin
  showmessage('Silahkan Input data baru Supplier');
  bersih;
  aktif;
  ekdsup.SetFocus;
  begin
    adosup.Refresh;
    If adosup.RecordCount = 0 Then
  begin
    ekdsup.Text := 'SUP' + '01' ;
  end
    else
  begin
    adosup.Last;
    nomor := strtoint(copy(adosup['idsup'],5,2)); // mengambil 2 karakter angka dibelakang
    inc(nomor);
    if nomor<10 then
    ekdsup.Text:='SUP'+'0'+ inttostr(nomor)
  else
    ekdsup.Text:='SUP'+inttostr(nomor);
    ekdsup.Enabled:=false;
  end;
end;


end;

procedure TForm7.btDeleteClick(Sender: TObject);
begin
  adosup.delete;
  begin
  showmessage('Data Dihapus!!');
  end;
end;

procedure TForm7.btSaveClick(Sender: TObject);
begin
   if adosup.Locate('idsup',ekdsup.Text,[])then
  begin
  showmessage('Data Suplier sudah ada!');
  exit;
  end
  else
  begin
  adosup.Append; //menambahkan Record baru
  adosup['idsup']:=ekdsup.Text; //menyimpan data perfield
  adosup['nmsup']:=enmsup.Text ;
  adosup['telp']:=etelp.Text;
  adosup['alamat']:=ealamat.Text ;
  adosup.Post; // untuk mengupdate data tabel
  adosup.Refresh;
  showmessage('Data Supplier yang baru telah tersimpan');
  pasif;
  bersih;
  end;
end;

end.

Form Buku

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, Buttons, jpeg, ExtCtrls,
  XPMan;

type
  TForm2 = class(TForm)
    Label1: TLabel;
    GroupBox2: TGroupBox;
    Label9: TLabel;
    ecari: TEdit;
    DBGrid1: TDBGrid;
    adobuku: TADOTable;
    adobukukodebuku: TWideStringField;
    adobukunmbuku: TWideStringField;
    adobukujenis_buku: TWideStringField;
    adobukupenerbit: TWideStringField;
    adobukupengarang: TWideStringField;
    adobukuharga: TIntegerField;
    adobukustok: TIntegerField;
    bitbtncancel: TBitBtn;
    DataSource1: TDataSource;
    GroupBox3: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Image8: TImage;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    ekdbuku: TEdit;
    enmbuku: TEdit;
    rdumum: TRadioButton;
    rdnonumum: TRadioButton;
    epenerbit: TEdit;
    epengarang: TEdit;
    eharga: TEdit;
    estok: TEdit;
    Timer1: TTimer;
    Label12: TLabel;
    Label13: TLabel;
    Timer2: TTimer;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    bitbtnexit: TBitBtn;
    Timer3: TTimer;
    Label10: TLabel;
    bitbtnsave: TBitBtn;
    bitbtndelete: TBitBtn;
    bitbtnadd: TBitBtn;
    btnfind: TBitBtn;
    Label11: TLabel;
    bitbtnedit: TBitBtn;
    procedure btnnextClick(Sender: TObject);
    procedure btnbottomClick(Sender: TObject);
    procedure bitbtncancelClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure bitbtnexitClick(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure bitbtnsaveClick(Sender: TObject);
    procedure bitbtndeleteClick(Sender: TObject);
    procedure bitbtnaddClick(Sender: TObject);
    procedure btnfindClick(Sender: TObject);
    procedure bitbtneditClick(Sender: TObject);
  private
    { Private declarations }
  public
  procedure aktif;
  procedure pasif;
  procedure bersih;
  procedure tampil;
  procedure no_otomatis;

    { Public declarations }
  end;

var
  Form2: TForm2;
  isi: boolean; // variabel penampung untuk penyimpanan

implementation

uses Unit4;

{$R *.dfm}

procedure tform2.aktif;
begin
  ekdbuku.enabled:= true;
  enmbuku.Enabled:=true;
  rdumum.Enabled:=true;
  rdnonumum.Enabled:=true;
  epenerbit.Enabled:=true;
  epengarang.Enabled:=true;
  eharga.Enabled:=true;
  estok.Enabled:=true;
end;

procedure tform2.pasif ;
begin
  ekdbuku.enabled:= false;
  enmbuku.Enabled:=false;
  rdumum.Enabled:=false;
  rdnonumum.Enabled:=false;
  epenerbit.Enabled:=false;
  epengarang.Enabled:=false;
  eharga.Enabled:=false;
  estok.Enabled:=false;
end;

procedure tform2.bersih;
begin
  ekdbuku.Text:='';
  enmbuku.Text:='';
  rdumum.Checked:=false;
  rdnonumum.Checked:=false;
  epenerbit.Text:='';
  epengarang.Text:='';
  eharga.Text:='0';
  estok.Text :='0';
end;

procedure tform2.no_otomatis;
var
nomor:integer;

begin
    adobuku.Refresh;
    If adobuku.RecordCount = 0 Then
  begin
    ekdbuku.Text := 'BOOK' + '01' ;
  end
    else
  begin
    adobuku.Last;
    nomor := strtoint(copy(adobuku['kodebuku'],5,2)); // mengambil 2 karakter angka dibelakang
    inc(nomor);
    if nomor<10 then
    ekdbuku.Text:='BOOK'+'0'+ inttostr(nomor)
  else
    ekdbuku.Text:='BOOK'+inttostr(nomor);
    ekdbuku.Enabled:=false;
  end;
end;

procedure tform2.tampil ;
begin
    if adobuku.RecordCount <>0 then
  begin
    ekdbuku.Text:=adobuku['kodebuku'];
    enmbuku.Text:=adobuku['nmbuku'];
    if adobuku['jenis_buku']='Umum' then
    rdumum.Checked:=true
  else
    rdnonumum.Checked:=true;
    epenerbit.Text:=adobuku['penerbit'];
    epengarang.Text:=adobuku['pengarang'];
    eharga.Text:=inttostr(adobuku['harga']);
    estok.Text:=inttostr(adobuku['stok']);
  end;
end;

procedure TForm2.btnnextClick(Sender: TObject);
begin
    adobuku.Next;
    if adobuku.Eof = true then
  begin
    showmessage('Sudah Diakhir data ') ;
    adobuku.Last;
  end;
    tampil;

end;

procedure TForm2.btnbottomClick(Sender: TObject);
begin
  adobuku.Last;
  tampil;

end;

procedure TForm2.bitbtncancelClick(Sender: TObject);
begin
  bersih;
  pasif ;
  bitbtnadd.Enabled:= true;
  bitbtncancel.Enabled:=false;
  bitbtnsave.Enabled:=false;
  bitbtndelete.Enabled:=false;
  bitbtnedit.Enabled:=false;
  bitbtnexit.Enabled :=true;
  btnfind.Enabled:= true;
end;

procedure TForm2.FormActivate(Sender: TObject);
begin
bersih;
pasif ;
bitbtnadd.Enabled:= true;
bitbtncancel.Enabled:=false;
bitbtnsave.Enabled:=false;
bitbtndelete.Enabled:=false;
bitbtnedit.Enabled:=false;
bitbtnexit.Enabled :=true;
btnfind.Enabled:= true;

end;

procedure TForm2.FormCreate(Sender: TObject);
begin
adobuku.Active := true;
caption:='Form Buku                          PT TIGA AKSARA    ';

end;

procedure TForm2.Timer1Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;
end;



procedure TForm2.BitBtn1Click(Sender: TObject);
begin
    adobuku.Next;
    if adobuku.Eof = true then
  begin
    showmessage('Sudah Diakhir data ') ;
    adobuku.Last;
  end;
    tampil;
end;

procedure TForm2.BitBtn2Click(Sender: TObject);
begin
  adobuku.Last;
  tampil;
end;

procedure TForm2.BitBtn3Click(Sender: TObject);
begin
    adobuku.Prior;
    if adobuku.Bof=true then
  begin
    showmessage('sudah diawal record');
    adobuku.First;
  end;
    tampil;
end;

procedure TForm2.BitBtn4Click(Sender: TObject);
begin
  adobuku.First;
  tampil;
end;

procedure TForm2.Timer2Timer(Sender: TObject);
var
ADate:TDateTime;
hari:array[1..7] of string;

begin
hari[1]:='Minggu';
hari[2]:='Senin';
hari[3]:='Selasa';
hari[4]:='Rabu';
hari[5]:='Kamis';
hari[6]:='Jumat';
hari[7]:='Sabtu';

ADate:=date;
label11.caption:=hari[DayofWeek(ADate)];
label12.caption:=DateToStr(Now);
label13.caption:=TimeToStr(Now);


end;

procedure TForm2.bitbtnexitClick(Sender: TObject);
begin
  close;
  form4.Show;
end;

procedure TForm2.Timer3Timer(Sender: TObject);
begin
  if label1.Visible=false then
    begin
      label1.Visible:=true;
    end
  else if label10.Visible=false then
    begin
      label10.Visible:=true;
    end
  else if label1.Visible=false then
    begin
      label1.Visible:=true;
    end
  else if label10.Visible=true then
    begin
      label1.Visible:=false;
      label10.Visible:=false;
    end;
end;

procedure TForm2.bitbtnsaveClick(Sender: TObject);
begin
  if isi=true then
  begin
    showmessage('Data Akan disimpan');
    adobuku.Append;
    adobuku['kodebuku']:=ekdbuku.Text;
    adobuku['nmbuku']:=enmbuku.Text;
    if rdumum.Checked=true then
    adobuku['jenis_buku']:='Umum'
  else
    adobuku['jenis_buku']:='NonUmum';
    adobuku['penerbit']:=epenerbit.Text;
    adobuku['pengarang']:=epengarang.Text;
    adobuku['harga']:=strtoint(eharga.Text);
    adobuku['stok']:=strtoint(estok.Text);
    adobuku.Post
  end
    else
  begin
    isi:=false;
    showmessage('Data Akan diupdate');
    adobuku.Edit ;
    adobuku['nmbuku']:=enmbuku.Text;
    if rdumum.Checked = true then
    adobuku['jenis_buku']:='Umum'
  else
    adobuku['jenis_buku']:='NonUmum';
    adobuku['penerbit']:=epenerbit.Text;
    adobuku['pengarang']:=epengarang.Text;
    adobuku['harga']:=strtoint(eharga.Text);
    adobuku['stok']:=strtoint(estok.Text);
    adobuku.Post
  end ;
    bersih;
    pasif ;
    bitbtnadd.Enabled:= true;
    bitbtncancel.Enabled:=false;
    bitbtnsave.Enabled:=false;
    bitbtndelete.Enabled:=false;
    bitbtnedit.Enabled:=false;
    bitbtnexit.Enabled :=true;
    btnfind.Enabled:= true;

end;

procedure TForm2.bitbtndeleteClick(Sender: TObject);
begin
  IF application.MessageBox('Yakin akan dihapus?','Informasi',mb_okcancel)=idok then
  begin
  adobuku.Delete;
  adobuku.First;
  adobuku.Refresh;
  bersih;
  pasif ;
  bitbtnadd.Enabled:= true;
  bitbtncancel.Enabled:=false;
  bitbtnsave.Enabled:=false;
  bitbtndelete.Enabled:=false;
  bitbtnedit.Enabled:=false;
  bitbtnexit.Enabled :=true;
  btnfind.Enabled:= true;
  end;
end;

procedure TForm2.bitbtnaddClick(Sender: TObject);
begin
  isi:=true;
  bersih;
  aktif;
  no_otomatis;
  bitbtnadd.Enabled:= false;
  bitbtncancel.Enabled:=true;
  bitbtnsave.Enabled:=true;
  bitbtndelete.Enabled:=false;
  bitbtnedit.Enabled:=false;
  bitbtnexit.Enabled :=false;
  btnfind.Enabled:= false;
end;

procedure TForm2.btnfindClick(Sender: TObject);
begin
  if adobuku.Locate('nmbuku',ecari.Text,[])then
  begin
  showmessage('Data Buku ada!');
  ecari.Text:='';
  tampil;
  bitbtnadd.Enabled:= false;
  bitbtncancel.Enabled:=true;
  bitbtnsave.Enabled:=false;
  bitbtndelete.Enabled:=true;
  bitbtnedit.Enabled:=true;
  bitbtnexit.Enabled :=false;
  btnfind.Enabled:= false;
  end;
end;

procedure TForm2.bitbtneditClick(Sender: TObject);
begin
  isi:=false;
  aktif;
  ekdbuku.Enabled:=false;
  bitbtnadd.Enabled:= false;
  bitbtncancel.Enabled:=true;
  bitbtnsave.Enabled:=true;
  bitbtndelete.Enabled:=false;
  bitbtnedit.Enabled:=false;
  bitbtnexit.Enabled :=false;
  btnfind.Enabled:= false;
end;

end.

Form Transaksi Pembelian




unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, DBCtrls, RpCon, RpConDS,
  RpDefine, RpRave, jpeg, ExtCtrls, Mask, Buttons;

type
  TForm3 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    enotrans: TEdit;
    etgl: TEdit;
    eidsup: TEdit;
    enmsup: TEdit;
    etelp: TEdit;
    enmbuku: TEdit;
    eharga: TEdit;
    ejumbel: TEdit;
    esubtot: TEdit;
    etotal: TEdit;
    DBGrid1: TDBGrid;
    cbkdbuku: TComboBox;
    adopembelian: TADOTable;
    adodetail: TADOTable;
    adodetailnotrans: TWideStringField;
    adodetailqty: TIntegerField;
    adodetailsubtot: TIntegerField;
    adodetailkodebuku: TWideStringField;
    adouser: TADOTable;
    DataSource1: TDataSource;
    adosem: TADOTable;
    adosemkodebuku: TWideStringField;
    adosemnmbuku: TWideStringField;
    adosemharga: TIntegerField;
    adosemqty: TIntegerField;
    adosemsubtotal: TIntegerField;
    GroupBox1: TGroupBox;
    Label12: TLabel;
    adopembeliannotrans: TWideStringField;
    adopembeliantgltrans: TDateTimeField;
    adopembeliantotal: TIntegerField;
    adopembelianidsup: TWideStringField;
    adopembelianiduser: TWideStringField;
    adouseriduser: TWideStringField;
    adousernmsup: TWideStringField;
    adouserpassword: TWideStringField;
    adouserhak_akses: TWideStringField;
    GroupBox2: TGroupBox;
    Timer1: TTimer;
    eiduser: TDBEdit;
    Timer2: TTimer;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    Image3: TImage;
    Image2: TImage;
    Timer3: TTimer;
    Label14: TLabel;
    Label18: TLabel;
    bitbtnadd: TBitBtn;
    bitbtnsave: TBitBtn;
    bitbtndelete: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure cbkdbukuClick(Sender: TObject);
    procedure ejumbelKeyPress(Sender: TObject; var Key: Char);
    procedure eidsupKeyPress(Sender: TObject; var Key: Char);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure bitbtnaddClick(Sender: TObject);
    procedure bitbtnsaveClick(Sender: TObject);
    procedure bitbtndeleteClick(Sender: TObject);

  private
    { Private declarations }
  public
  procedure bersih;
  procedure aktif;
  procedure pasif;
  procedure no_otomatis;
  procedure hitung;
  procedure gridbersih;

    { Public declarations }
  end;

var
  Form3: TForm3;
  mtotal:real;
implementation
uses Unit2, Unit7, Unit4;

{$R *.dfm}

procedure tform3.gridbersih ; //untuk menghapus data pada keranjang Belanja
begin
    if adosem.RecordCount<>0 then
  begin
    adosem.First ;
    while not adosem.eof do
  begin
    adosem.Delete ;
    adosem.Next;
    adosem.Refresh
  end;
  end;
end;

procedure tform3.hitung; // Untuk menghitung total dari subtotal pada tabel Sementara
begin
mtotal:=0;
if adosem.RecordCount<>0 then
begin
adosem.First;
while not adosem.eof do
begin
mtotal:=mtotal+adosem['subtotal'];
adosem.Next;
end;
end
else
begin
mtotal:=0;
end;
etotal.Text:=floattostr(mtotal);

end;

procedure tform3.bersih;
begin
  enotrans.Text:='';
  etgl.Text:='';
  eidsup.Text:='';
  enmsup.Text:='';
  cbkdbuku.Text:='';
  enmbuku.Text:='';
  eharga.Text:='0';
  ejumbel.Text:='0';
  esubtot.Text:='0';
  etotal.Text:='0';
end;

procedure tform3.aktif;
begin
  enotrans.Enabled:=True ;
  etgl.Enabled:=True ;
  eidsup.Enabled:=True ;
  enmsup.Enabled:=True ;
  cbkdbuku.Enabled:=True ;
  enmbuku.Enabled:=True ;
  eharga.Enabled:=True ;
  ejumbel.Enabled:=True ;
  esubtot.Enabled:=True ;
  etotal.Enabled:=True ;
end;

procedure tform3.pasif;
begin
  enotrans.Enabled:=false ;
  etgl.Enabled:=false ;
  eidsup.Enabled:=false ;
  enmsup.Enabled:=false ;
  cbkdbuku.Enabled:=false ;
  enmbuku.Enabled:=false ;
  eharga.Enabled:=false ;
  ejumbel.Enabled:=false ;
  esubtot.Enabled:=false ;
  etotal.Enabled:=false;
end;


procedure tform3.no_otomatis;
var
nomor:integer;
tgl,bln :string;
begin
  tgl:=copy(etgl.Text,1,2);
  bln:=copy(etgl.Text,4,2);
  adopembelian.Refresh;
  If adopembelian.RecordCount = 0 Then
begin
  enotrans.Text := 'TR' +tgl+bln+'-'+'001' ;
end
  else
begin
  form2.adobuku.Last;
  nomor := strtoint(copy(form2.adobuku['kodebuku'],5,2));
  inc(nomor);
  if nomor<100 then
  enotrans.Text:='TR' + tgl + bln +'-'+ '00' + inttostr(nomor)
  else if nomor<10 then
  enotrans.Text:='TR' + tgl + bln +'-'+ '0' + inttostr(nomor)
  else
  enotrans.Text:='TR' + tgl + bln +'-' + inttostr(nomor);
  enotrans.Enabled:=false;
end;
end;


procedure TForm3.FormCreate(Sender: TObject);
begin
adopembelian.Active := true;
adosem.Active := true;
adodetail.Active := true;
adouser.Active := true ;
form2.adobuku.First;
while not form2.adobuku.eof do
begin
cbkdbuku.Items.add(form2.adobuku['kodebuku']);
form2.adobuku.Next;
begin
caption:='Form Transaksi Pembelian    ';
end;
end;

end;
procedure TForm3.FormActivate(Sender: TObject);
begin
gridbersih;
pasif;
bersih;
etgl.Text:=datetostr(date());

end;

procedure TForm3.cbkdbukuClick(Sender: TObject);
begin
if form2.adobuku.locate('kodebuku',cbkdbuku.Text,[]) then
begin
enmbuku.Text:=form2.adobuku['nmbuku'];
eharga.Text:=form2.adobuku['harga'];
ejumbel.SetFocus;
end;

end;









procedure TForm3.ejumbelKeyPress(Sender: TObject; var Key: Char);
begin
if key =#13 then
esubtot.Text:=inttostr(strtoint(ejumbel.Text)*strtoint(eharga.Text));
end;

procedure TForm3.eidsupKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if form7.adosup.Locate('idsup',eidsup.Text,[]) then
begin
showmessage('Data Customer ada!');
enmsup.Text:=form7.adosup['nmsup'];
etelp.Text:=form7.adosup['telp'];
end
else
begin
showmessage('Data Customer Tidak ada!');
exit;
end;
end;



procedure TForm3.Timer1Timer(Sender: TObject);
var judul:string;
begin
judul:=caption;
judul:=Judul+Judul[1];
Judul:=copy(judul,2,length(judul)-1);
caption:=Judul;
end;

procedure TForm3.Timer2Timer(Sender: TObject);
var
ADate:TDateTime;
hari:array[1..7] of string;

begin
hari[1]:='Minggu';
hari[2]:='Senin';
hari[3]:='Selasa';
hari[4]:='Rabu';
hari[5]:='Kamis';
hari[6]:='Jumat';
hari[7]:='Sabtu';

ADate:=date;
label15.caption:=hari[DayofWeek(ADate)];
label16.caption:=DateToStr(Now);
label17.caption:=TimeToStr(Now);


end;

procedure TForm3.BitBtn4Click(Sender: TObject);
begin
  close;
  form4.Show;
end;

procedure TForm3.BitBtn5Click(Sender: TObject);
begin
if adosem.locate('kodebuku',cbkdbuku.Text ,[]) then
begin
adosem.Edit;
adosem['qty'] :=adosem['qty']+strtoint(ejumbel.Text);
adosem['subtotal']:=adosem['subtotal']+strtoint(esubtot.Text);
adosem.Post;
end
else
begin
adosem.Append;
adosem['kodebuku']:=cbkdbuku.Text;
adosem['nmbuku']:=enmbuku.Text;
adosem['harga']:=strtoint(eharga.Text);
adosem['qty']:=strtoint(ejumbel.Text);
adosem['subtotal']:=strtoint(esubtot.Text);
adosem.Post;
end;
hitung;
cbkdbuku.Text:='';
enmbuku.Text:='';
eharga.Text:='';
ejumbel.Text:='0' ;
esubtot.Text:='0'
end;

procedure TForm3.Timer3Timer(Sender: TObject);
begin
  if label1.Visible=false then
    begin
      label1.Visible:=true;
    end
  else if label14.Visible=false then
    begin
      label14.Visible:=true;
    end
  else if label18.Visible=false then
    begin
      label18.Visible:=true;
    end
  else if label1.Visible=false then
    begin
      label1.Visible:=true;
    end
  else if label14.Visible=true then
    begin
      label1.Visible:=false;
      label14.Visible:=false;
      label18.Visible:=false;
    end;
    end;

procedure TForm3.bitbtnaddClick(Sender: TObject);
begin
    if bitbtnadd.Caption='ADD' then
  begin
    bitbtnadd.Caption:='CANCEL';
    aktif ;
    bersih ;
    etgl.Text:=datetostr(date());
    no_otomatis;
  end
    else
  begin
    bitbtnadd.caption:='ADD';
    pasif ;
    bersih;
    gridbersih;
  end;
end;

procedure TForm3.bitbtnsaveClick(Sender: TObject);
begin
    adosem.First;
    while not adosem.eof do
  begin
    adodetail.Append;
    adodetail['notrans']:=enotrans.Text;
    adodetail['kodebuku']:=adosem['kodebuku'];
    adodetail['qty']:=adosem['qty'];
    if form2.adobuku.locate('kodebuku',adodetail['kodebuku'] ,[]) then
  begin
   form2.adobuku.Edit;
   form2.adobuku['stok'] :=form2.adobuku['stok']+adodetail['qty'];// menambahkan stok di tabel buku
  end;
    adodetail['subtot']:=adosem['subtotal'];
    adodetail.Post;
    adosem.Next;
  end;
    adopembelian.append ;
    adopembelian['notrans']:=enotrans.Text;
    adopembelian['tgltrans']:=etgl.Text;
    adopembelian['idsup']:=eidsup.Text;
    adopembelian['total']:=strtofloat(etotal.Text);
    adopembelian['iduser']:=eiduser.Text;
    adopembelian.Post;
    showmessage('Data Telah Tersimpan');
    bersih;
    pasif;
    gridbersih;

end;

procedure TForm3.bitbtndeleteClick(Sender: TObject);
begin
  adosem.Delete;
end;

end.

0 komentar:

Posting Komentar

 
Thank you ....... | already - Visit My Blog |