Translate

Jumat, 23 Agustus 2013

Program delphi 7

Program delphi 7 sistem informasi arsip kantor ( surat masuk & keluar )
Selamat pagi blogger mania, salam sejahtera untuk kita semua
kali ini saya akan coba sedikit share hasil kerja saya, kali ini saya akan share tentang program delphi 7 dengan database mysql. Tanpa basa-basi lagi, silakan di simak :)

pertama kita buat tabel yang di perlukan, buat tabel seperti gambar berikut ini.





setelah di buat tabel silahkan direlasikan, seperti gambar berikut ini.


Penjelasan :

kd_surat pada tb_srtkeluar sebagai index di relasikan ke kd_surat pada tb_srtmasuk yang bertindak sebagai primary key.
no_surat pada tb_srtkeluar yang bertindak sebagai primary key.

setelah  selesai dengan tabel, kita langsung mendesain form di delphi 7, 
pertama kita buat form Log In, seperti gambar berikut ini


Form di atas berfungsi sebagai form login, jika salah satu username atau password tidak di isi maka admin tidak bisa masuk ke form menu utama dan akan muncul pesan peringatan “username atau password salah silakan ulangi” / “username atau password tidak ada silakan ulangi”, jika admin sudah memasukkan username dan pass dengan benar makan akan muncul pesan “login berhasil” dan form menu utama akan otomatis muncul.

bbEntry berfungsi sebagai tombol untuk masuk

bbclose berfungsi sebagai tombol untuk menutup aplikasi, jika tombol close di tekan makan akan muncul pesan peringatan “apakah yakin akan mengakhiri form ini?”, jika pilih ya maka aplikasi akan tertutup otomatis, jikan pilih tidak maka aplikasi akan tetap stanbay.

Checkbox tampilkan password berfungsi sebagai tombol untuk menampilkan atau menyembunyikan password (*).

Selanjutnya kita mendesain form utama, seperti gambar berikut ini.


Form di atas  berfungsi sebagai menu utama, di dalam menu utama saya memakai groupbox untuk menyimpan bitbutton : bbhome, bbsurat masuk, bbsurat keluar, bbcari surat, bbuser, bblogout.
bbhome berfungsi untuk memanggil pagecontrol, tabsheet, home
bbsurat masuk berfungsi untuk memanggil pagecontrol, tabsheet, surat masuk. Jika bbsurat masuk di pilih maka bitbutton yang lain tidak bisa di tekan (tidak aktif – enabled-false)
bbsurat keluar berfungsi untuk memangil pagecontrol, tabsheet, surat keluar, jika bbsurat keluar di pilih maka bitbutton yang lain tidak bisa di tekan (tidak aktif – enabled-false)
bbcari surat berfungsi untuk memanggil pagecontrol, tabsheet, cari surat, jika bbcari surat di pilih maka bibutton yang lain tidak bisa di tekan (tidak aktif – enabled-false)

bbuser berfungsi untuk memanggil pagecontrol, tabsheet, user, jika bbuser di pilih maka bitbutton yang lain tidak bisa di tekan (tidak aktif – enabled-false)
bblogout berfungsi untuk keluar dari form menu utama, jika di tekan maka akan muncul pesan”terima kasih atas kunjunganya” dan form LogIn akan muncul.

  
selanjutnya kita mendesain form home, seperti gambar berikut ini.




Form di atas berfungsi untuk menampilkan data anggota

selajutnya kita mendesain form surat masuk, seperti gambar berikut ini.



Form di atas berfungsi untuk menginfut / menambah, mengedit, menghapus, menampilkan lap surat yang masuk. Tombol tambah untuk menampilkan panel yang telah saya desain untuk menambah surat. Tombol baru untuk menambah kode baru. Tombol masukkan tgl-jam untuk memasukkan tgl-jam secara otomatis. Tombol simpan untuk minyimpan data yang telah di infut. Tombol edit untuk mengedit data, jika tombol edit di tekan maka akan muncul pesan “apakah Anda yakin akan mengubah data ini?”, tetapi jika admin langsung menekan tombol edit tanpa memilih data maka akan muncul pesan ”untuk proses pengubahan pastikan Anda memilih data terlebih dahulu”. Tombol batal untuk membatalkan mengimputan data baru dan panel akan secara otomatis hilang (visible). Tombol hapus untuk menghapus data, jika tombol hapus di tekan maka akan muncul pesan “yakin Anda akan menghapusnya”. Tombol laporan untuk menampilkan form laporan surat masuk, seperti gambar di bawah ini 


Tombol keluar untuk keluar dari aplikasi surat masuk, dan tombol yang lain pada form menu utama kembali aktif (enabled-true). 
  

selanjutnya kita mendesain form surat keluar, seperti gambar di bawah ini



 Form di atas berfungsi untuk menginfut / menambah, mengedit, menghapus, menampilkan lap surat yang keluar. Tombol tambah untuk menampilkan panel yang telah saya desain untuk menambah surat. Tombol baru untuk menambah kode baru. Tombol masukkan tgl-jam untuk memasukkan tgl-jam secara otomatis. Tombol simpan untuk minyimpan data yang telah di infut. Tombol edit untuk mengedit data, jika tombol edit di tekan maka akan muncul pesan “apakah Anda yakin akan mengubah data ini?”, tetapi jika admin langsung menekan tombol edit tanpa memilih data maka akan muncul pesan ”untuk proses pengubahan pastikan Anda memilih data terlebih dahulu”. Tombol batal untuk membatalkan mengimputan data baru dan panel akan secara otomatis hilang (visible). Tombol hapus untuk menghapus data, jika tombol hapus di tekan maka akan muncul pesan “yakin Anda akan menghapusnya”. Tombol laporan untuk menampilkan form laporan surat masuk, seperti gambar di bawah ini :


       Tombol keluar untuk keluar dari aplikasi surat masuk, dan tombol yang lain pada form menu utama kembali aktif (enabled-true).

 Selanjutnya kita mendesain form cari surat, seperti gambar berikut ini.


         Form di atas berfungsi untuk mencari surat masuk dan keluar. Tombol cari berfungsi untuk mencari surat yang datanya telah di masukkan terlebih dulu di edit.text, begitu di tekan otomatis dbgrid akan memunculkan hanya data yang di masukkan tadi. Tombol segarkan untuk memgembalikan data yang sebelumnya disembunyikan pada saat menekan tombol cari. Tombol batal untuk membatalkan pencarian. Tombol keluar untuk keluar dari aplikasi cari surat dan tombol yang lain pada menu utama kembali aktif (enabled-true).

            Selanjutnya kita mendesain form user, seperti gambar berikut ini.


        Form di atas berfungsi untuk menambah, mengedit, menghapus data admin. Tombol tambah untuk menambah data. Tombol simpan untuk menyimpan data yang telah di infut. Tombol edit1 untuk menampilkan panel (visible-true) yang telah saya desain. Tombol edit2 untuk mengedit data yang telah simpan, jika tombol tersebut di tekan maka akan muncul pesan “apakah Anda yakin ingin mengubah data ini”, tetapi jika admin tidak memilih data dan langsung ingin mengedit maka akan muncul pesan “untuk proses pengubahan pastikan Anda telah memilih data terlebih dahulu”. Tombol selesai untuk menutup panel (visible-false). Tombol hapus untuk menghapus data yang ada, jika tombol di tekan maka akan muncul pesan “Anda yakin akan menghapusnya?”.Tombol untuk memunculkan data yang tersimpan pada dbgrid, tetapi dbgrid akan muncul apabila kolom manager dan password telah di isi dengan benar, jika memasukkan nama atau password salah maka akan muncul pesan “pastikan username atau password yang Anda masukkan sudah benar”, untuk masuk ke dbgrid saya memakai password yang khusus saya desain untuk di gunakan hanya satu orang, yaitu manager. Tombol untuk keluar dari panel (visible-false). Tombol keluar untuk keluar dari aplikasi user dan tombol yang lain pada menu utama kembali aktif (enabled-true).


Agar form-form yang kita buat lebih baik (Rapi) ZConecction, ZQuery,DataSource, dll kita simpan di DataModule


Gimana guys sudah pada mendesain belum form-form di atas, klo untuk masalah desain form terserah agan-agan dee mau kayak gimana, klo saya see desainnya kyk di atas. 
untuk source kodenya silahkan di simak...

Source code

Nama Project  : projectSKSM
Nama Unit       : ulogin
Nama Form     : formlogin


procedure TFormLogIn.BitBtn1Click(Sender: TObject);
begin  // BB MASUK
           with dm.ZQuerylogin do
  begin
          Close;
          SQL.Clear;
          SQL.Text:='select * from tb_admin where nama='+quotedstr(Edit1.Text);
          Open;
  end;
if dm.ZQuerylogin.RecordCount = 0 then
  begin
          Application.MessageBox('Username atau Pass tidak ada!'+#13+
          'Silakan ulangi.', 'Peringatan', MB_OK);
          Edit1.Text:='';
          Edit2.Text:='';
          Edit1.SetFocus;
  end
else
if dm.ZQuerylogin.FieldByName('password').AsString <> Edit2.Text then
  begin
          Application.MessageBox('UserName atau Password salah!'+#13+
           'Silakan Ulangi.','Peringatan', MB_OK);
           Edit1.Text:='';
           Edit2.Text:='';
           Edit1.SetFocus;
  end
else
  begin
          Application.MessageBox('Login berhasil!'+#13,
          'Pesan', MB_OK);
          FormHome.Show;

          FormLogIn.Hide;
        Edit1.Clear;
          Edit2.Clear;
end;
end;

procedure TFormLogIn.FormClose(Sender: TObject; var Action: TCloseAction);
var x : Integer;
begin    // PESAN KELUAR
x := MessageDlg('Apakah yakin akan mengakhiri form ini?',mtConfirmation,
          [mbYes] + [mbNo],0);
          if x = 6 then
  begin
            Action := caFree;
  end
          else
  begin
          Action := caNone;
    end;
  end;

procedure TFormLogIn.BitBtn2Click(Sender: TObject);
begin   // BB KELUAR
          close;
end;

procedure TFormLogIn.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit2.SetFocus;
end;

procedure TFormLogIn.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
           if Key=#13 then
           BitBtn1.Click;
end;

procedure TFormLogIn.CheckBox1Click(Sender: TObject);
begin
           if CheckBox1.Checked then
          Edit2.PasswordChar := #0 else
          Edit2.PasswordChar := '*';
end;
end.



Nama Project  :  projectSKSM
Nama Unit      :   uhome
Nama Form    :  formhome

procedure TFormHome.BitBtn1Click(Sender: TObject);
begin
          PageControl1.ActivePage := TabSheet1;
end;

procedure TFormHome.BitBtn2Click(Sender: TObject);
begin // BB SURAT MASUK
          PageControl1.ActivePage := TabSheet2; //menampilkan tabsheet2
          BitBtn1.Enabled := False;
          BitBtn3.Enabled := False;
          BitBtn4.Enabled := False;
          BitBtn5.Enabled := False;
          BitBtn15.Enabled := False;
   begin
          TabSheet2.Visible := True;
   end;
end;

procedure TFormHome.BitBtn3Click(Sender: TObject);
begin // BB SURAT KELUAR
          PageControl1.ActivePage := TabSheet3;  //menampilkan tabsheet3
          BitBtn1.Enabled := False;
          BitBtn2.Enabled := False;
          BitBtn4.Enabled := False;
          BitBtn5.Enabled := False;
          BitBtn15.Enabled := False;
   begin
           TabSheet3.Visible := True;
   end;
end;

procedure TFormHome.BitBtn4Click(Sender: TObject);
begin  // BB CARI SURAT
          PageControl1.ActivePage := TabSheet4;  //menampilkan tabsheet3
          BitBtn1.Enabled := False;
          BitBtn2.Enabled := False;
          BitBtn3.Enabled := False;
          BitBtn5.Enabled := False;
          BitBtn15.Enabled := False;
   begin
          TabSheet4.Visible := True;
   end;
end;

procedure TFormHome.BitBtn5Click(Sender: TObject);
begin  // BB USER
          PageControl1.ActivePage := TabSheet5; //menampilkan tabsheet5
          BitBtn1.Enabled := False;
          BitBtn2.Enabled := False;
          BitBtn3.Enabled := False;
          BitBtn4.Enabled := False;
          BitBtn15.Enabled := False;
   begin
          TabSheet5.Visible := True;
   end;
end;

procedure TFormHome.FormShow(Sender: TObject);
begin      // MENYEMBUNYIKAN TABSHEET
          TabSheet1.TabVisible := False;
          TabSheet2.TabVisible := False;
          TabSheet3.TabVisible := False;
          TabSheet4.TabVisible := False;
          TabSheet5.TabVisible := False;
end;

procedure TFormHome.BitBtn12Click(Sender: TObject);
begin  // BB SIMPAN PADA USER
          dm.ZQueryadmin.Append;
          dm.ZQueryadmin.FieldByName('Id_Kode').AsString:=Edit1.Text;
          dm.ZQueryadmin.FieldByName('Nama').AsString:=Edit2.Text;
          dm.ZQueryadmin.FieldByName('Password').AsString:=Edit3.Text;
          dm.ZQueryadmin.Post;
          Edit1.Clear;
          Edit2.Clear;
          Edit3.Clear;
end;

procedure TFormHome.BitBtn11Click(Sender: TObject);
begin  // BB TAMBAH PADA USER
          Edit1.SetFocus;
end;

procedure TFormHome.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit2.SetFocus;
end;

procedure TFormHome.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit3.SetFocus;
end;

procedure TFormHome.BitBtn16Click(Sender: TObject);
begin  // BB MASUK PADA USER
          if (Edit4.Text='asdar') and (Edit5.Text='11630590') then
  else
ShowMessage('Pastikan User Name atau Password yang Anda Masukkan Sudah Benar');
          if (Edit4.Text='asdar') and (Edit5.Text='11630590') then
  begin
          DBGrid3.Visible := True;
          DBGrid3.Show;
          BitBtn13.Visible := True;
          BitBtn13.Show;
          BitBtn22.Visible := True;
          BitBtn22.Show;
          BitBtn23.Visible := True;
          BitBtn23.Show;
          Edit4.Clear;
          Edit5.Clear;
  end
end;

procedure TFormHome.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit5.SetFocus;
end;

procedure TFormHome.BitBtn13Click(Sender: TObject);
begin   // BB EDIT PADA USER
           if ( (Edit1.Text='')and(Edit2.Text='')and(Edit3.Text='')) then
    begin
{if} (Application.MessageBox('Untuk proses pengubahan pastikan Anda telah memilih data terlebih dahulu','Peringatan',
            MB_OK ));
          DBGrid3.SetFocus;
    end else
         begin
           if (Application.MessageBox('Apakah anda yakin ingin mengubah data   ini?','Peringatan',
           MB_YESNO or MB_ICONWARNING)=idyes) then
              begin
                dm.ZQueryadmin.Edit;
                dm.ZQueryadmin.FieldByName('Id_Kode').AsString:=Edit1.Text;
                dm.ZQueryadmin.FieldByName('Nama').AsString:=Edit2.Text;
                dm.ZQueryadmin.FieldByName('Password').AsString:=Edit3.Text;
                dm.ZQueryadmin.Post;
                end else Exit;
               Edit1.Clear;
               Edit2.Clear;
               Edit3.Clear;
          end;
               Edit1.SetFocus;
end;

procedure TFormHome.BitBtn6Click(Sender: TObject);
begin // BB TAMBAH PADA SRT MASUK
          Panel4.Visible := True; //menampilkan panel4
          Panel4.Show;
          BitBtn34.Click;
          Edit6.SetFocus ;
end;

procedure TFormHome.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit7.SetFocus;
end;

procedure TFormHome.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit8.SetFocus;
end;

procedure TFormHome.BitBtn17Click(Sender: TObject);
begin    // BB SIMPAN PADA SRT MASUK
          dm.ZQuerysrtmasuk.Append;
          dm.ZQuerysrtmasuk.FieldByName('Kd_Surat').AsString:=Edit19.Text;
          dm.ZQuerysrtmasuk.FieldByName('No_Surat').AsString:=Edit6.Text;
          dm.ZQuerysrtmasuk.FieldByName('Pengirim').AsString:=Edit7.Text;
          dm.ZQuerysrtmasuk.FieldByName('Perihal').AsString:=Edit8.Text;
          dm.ZQuerysrtmasuk.FieldByName('Tanggal').AsString:=Edit9.Text;
          dm.ZQuerysrtmasuk.FieldByName('Jam').AsString:=Edit18.Text;
          dm.ZQuerysrtmasuk.Post;
          Edit19.Clear;
          Edit6.Clear;
          Edit7.Clear;
          Edit8.Clear;
          Edit9.Clear;
          Edit18.Clear;
          Panel4.Hide;
end;

procedure TFormHome.BitBtn7Click(Sender: TObject);
begin   // BB BATAL PADA SRT MASUK
          Panel4.Visible := False;
          Edit19.Clear;
          Edit6.Clear;
          Edit7.Clear;
          Edit8.Clear;
          Edit9.Clear;
          Edit18.Clear;
end;

procedure TFormHome.BitBtn22Click(Sender: TObject);
begin  // BB SELESAI PADA USER
          DBGrid3.Hide;
          BitBtn13.Visible := False;
          BitBtn22.Visible := False;
          BitBtn23.Visible := False;
          Panel6.Visible := False;
          Edit4.Clear;
          Edit5.Clear;
end;

procedure TFormHome.BitBtn23Click(Sender: TObject);
begin // BB HAPUS PADA USER
          If(application.messagebox('Anda Yakin Akan Menghapusnya?','Peringatan',
          mb_yesno or mb_iconwarning)=idyes) then
          dm.ZQueryadmin.Delete;
          Edit1.Clear;
          Edit2.Clear;
          Edit3.Clear;
end;

procedure TFormHome.BitBtn24Click(Sender: TObject);
begin  // BB EDIT - MENAMPILKAN PANEL6 PADA USER
          Panel6.Visible := True;
          Edit4.SetFocus;
end;

procedure TFormHome.BitBtn15Click(Sender: TObject);
begin  //bb logout
          showmessage('Terima Kasih Atas Kunjungannya'); //menampilkan pesan
          FormHome.Close;
          FormLogIn.Show; //menampilkan formlogin
end;

procedure TFormHome.BitBtnTambahClick(Sender: TObject);
begin // BB TAMBAH PADA SRT KELUAR
          Panel5.Visible := True; //menampilkan panel5
          Panel5.Show;
          BitBtn35.Click;
          Edit10.SetFocus;
end;

procedure TFormHome.BitBtn20Click(Sender: TObject);
begin  // BB BATAL PADA SRT KELUAR
          Panel5.Visible := False;
          Edit20.Clear;
          Edit10.Clear;
          Edit11.Clear;
          Edit12.Clear;
          Edit17.Clear;
          Edit14.Clear;
          Edit13.Clear;
end;

procedure TFormHome.BitBtn10Click(Sender: TObject);
begin  // BB KELUAR PADA SRT MASUK
          BitBtn1.Enabled := True;
          BitBtn3.Enabled := True;
          BitBtn4.Enabled := True; 
          BitBtn5.Enabled := True;
          BitBtn15.Enabled := True;
          Panel4.Visible := False;
          TabSheet2.Visible := False;
end;

procedure TFormHome.BitBtnKeluarClick(Sender: TObject);
begin  // BB KELUAR PADA SRT KELUAR
          BitBtn1.Enabled := True;
          BitBtn2.Enabled := True;
          BitBtn4.Enabled := True;
          BitBtn5.Enabled := True;
          BitBtn15.Enabled := True;
          Panel5.Visible := False;
          TabSheet3.Visible := False;
end;

procedure TFormHome.BitBtn14Click(Sender: TObject);
begin // BB KELUAR PADA USER
          BitBtn1.Enabled := True;
          BitBtn2.Enabled := True;
          BitBtn3.Enabled := True;
          BitBtn4.Enabled := True;
          BitBtn15.Enabled := True;
          TabSheet5.Visible := False;
          Panel6.Visible := False;
          Edit1.Clear;
          Edit2.Clear;
          Edit3.Clear;
end;

procedure TFormHome.BitBtn18Click(Sender: TObject);
begin  // BB SIMPAN PADA SRT KELUAR
          dm.ZQuerysrtkeluar.Append;
          dm.ZQuerysrtkeluar.FieldByName('Kd_Surat').AsString:=Edit20.Text;
          dm.ZQuerysrtkeluar.FieldByName('No_Surat').AsString:=Edit10.Text;
          dm.ZQuerysrtkeluar.FieldByName('Perihal').AsString:=Edit11.Text;
          dm.ZQuerysrtkeluar.FieldByName('Tujuan').AsString:=Edit12.Text;
             dm.ZQuerysrtkeluar.FieldByName('Tanggal').AsString:=Edit17.Text;
          dm.ZQuerysrtkeluar.FieldByName('Jam').AsString:=Edit14.Text;
          dm.ZQuerysrtkeluar.FieldByName('Arsip').AsString:=Edit13.Text;
          dm.ZQuerysrtkeluar.Post;
          Edit20.Clear;
          Edit10.Clear;
          Edit11.Clear;
          Edit12.Clear;
          Edit17.Clear;
          Edit14.Clear;
          Edit13.Clear;
          Panel5.Hide;
end;

procedure TFormHome.BitBtn31Click(Sender: TObject);
begin    // BB CLOSE PADA USER
          Panel6.Visible := False;
          Edit4.Clear;
          Edit5.Clear;
end;

procedure TFormHome.BitBtn8Click(Sender: TObject);
begin  // BB HAPUS PADA SRT MASUK
          if(application.messagebox('Anda Yakin Akan Menghapusnya?','Peringatan',
          mb_yesno or mb_iconwarning)=idyes) then
          dm.ZQuerysrtmasuk.Delete;
          Edit19.Clear;
          Edit6.Clear;
          Edit7.Clear;
          Edit8.Clear;
          Edit9.Clear;
          Edit18.Clear;
end;

procedure TFormHome.BitBtnHapusClick(Sender: TObject);
begin // BB HAPUS PADA SRT KELUAR
          if(application.messagebox('Anda Yakin Akan Menghapusnya?','Peringatan',
          mb_yesno or mb_iconwarning)=idyes) then
          dm.ZQuerysrtkeluar.Delete;
          Edit20.Clear;
          Edit10.Clear;
          Edit11.Clear;
          Edit12.Clear;
          Edit17.Clear;
          Edit14.Clear;
          Edit13.Clear;
end;

procedure TFormHome.Edit10KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit11.SetFocus;
end;


procedure TFormHome.Edit11KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit12.SetFocus;
end;

procedure TFormHome.Edit12KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
           BitBtn25.Click;
          if Key=#13 then
          Edit13.SetFocus;
end;

procedure TFormHome.Timer1Timer(Sender: TObject);
begin
          Label21.Caption:=TimeToStr(Now);
end;

procedure TFormHome.Timer2Timer(Sender: TObject);
begin
          Label27.Caption:=DateToStr(Now);
end;

procedure TFormHome.BitBtn25Click(Sender: TObject);
begin   // BB MASUKKAN TGL-JAM OTOMATIS PADA SRT KELUAR
          dateseparator:='-';
          shortdateformat:='dd/mm/yyyy';
          edit17.Text:=datetostr(date);
          Edit14.Text:=timetostr(time);
end;

procedure TFormHome.BitBtn26Click(Sender: TObject);
begin   // MASUKKAN TGL-JAM OTOMATIS PADA SRT MASUK
          dateseparator:='-';
          shortdateformat:='dd/mm/yyyy';
          Edit9.Text:=datetostr(date);
          Edit18.Text:=timetostr(time);
end;

procedure TFormHome.BitBtn21Click(Sender: TObject);
begin   // BB EDIT PADA SRT MASUK
if((Edit19.text='')and(Edit6.Text='')and(Edit7.Text='')and(Edit8.Text='')and(Edit9.Text='')and(Edit18.Text='')) then
    begin
{if} (Application.MessageBox('Untuk proses pengubahan pastikan Anda telah memilih data terlebih dahulu','Peringatan',
          MB_OK));
          DBGrid1.SetFocus;
    end else
         begin
if (Application.MessageBox('Apakah anda yakin ingin mengubah data ini?','Peringatan',
              MB_YESNO or MB_ICONWARNING)=idyes) then
              begin
                dm.ZQuerysrtmasuk.Edit;
                dm.ZQuerysrtmasuk.FieldByName('Ko_Surat').AsString:=Edit19.Text;
                dm.ZQuerysrtmasuk.FieldByName('No_Surat').AsString:=Edit6.Text;
                dm.ZQuerysrtmasuk.FieldByName('Pengirim').AsString:=Edit7.Text;
                dm.ZQuerysrtmasuk.FieldByName('Perihal').AsString:=Edit8.Text;
                dm.ZQuerysrtmasuk.FieldByName('Tanggal').AsString:=Edit9.Text;
                dm.ZQuerysrtmasuk.FieldByName('Jam').AsString:=Edit18.Text;
                dm.ZQuerysrtmasuk.Post;
                    end else Exit;
               Edit19.Clear;
               Edit6.Clear;
               Edit7.Clear;
               Edit8.Clear;
               Edit9.Clear;
               Edit18.Clear;
          end;
               Edit19.SetFocus;
end;

procedure TFormHome.BitBtn19Click(Sender: TObject);
begin   // BB EDIT PADA SRT KELUAR
if((Edit20.Text='')and(Edit10.Text='')and(Edit11.Text='')and(Edit12.Text='')and(Edit17.Text='')and(Edit14.Text='')and(Edit13.Text='')) then
    begin
{if} (Application.MessageBox('Untuk proses pengubahan pastikan Anda telah memilih data terlebih dahulu','Peringatan',
        MB_OK));
      DBGrid2.SetFocus;
    end else
         begin
           if (Application.MessageBox('Apakah anda yakin ingin mengubah data ini?','Peringatan',
              MB_YESNO or MB_ICONWARNING)=idyes) then
              begin
                dm.ZQuerysrtkeluar.Edit;
                dm.ZQuerysrtkeluar.FieldByName('Kd_Surat').AsString:=Edit20.Text;
                dm.ZQuerysrtkeluar.FieldByName('No_Surat').AsString:=Edit10.Text;
                dm.ZQuerysrtkeluar.FieldByName('Perihal').AsString:=Edit11.Text;
                dm.ZQuerysrtkeluar.FieldByName('Tujuan').AsString:=Edit12.Text;
                dm.ZQuerysrtkeluar.FieldByName('Tanggal').AsString:=Edit17.Text;
                dm.ZQuerysrtkeluar.FieldByName('Jam').AsString:=Edit14.Text;
                dm.ZQuerysrtkeluar.FieldByName('Arsip').AsString:=Edit13.Text;
                dm.ZQuerysrtkeluar.Post;
              end else Exit;
               Edit20.Clear;
               Edit10.Clear;
                              Edit11.Clear;
               Edit12.Clear;
               Edit17.Clear;
               Edit14.Clear;
               Edit13.Clear;
          end;
               Edit20.SetFocus;
end;

procedure TFormHome.Edit15KeyPress(Sender: TObject; var Key: Char);
begin
           if Key=#13 then
          Edit16.SetFocus;
end;

procedure TFormHome.BitBtn30Click(Sender: TObject);
begin    // BB KELUAR PADA CARI SRT
          BitBtn1.Enabled := True;
          BitBtn2.Enabled := True;
          BitBtn3.Enabled := True;
          BitBtn5.Enabled := True;
          BitBtn15.Enabled := True;
          TabSheet4.Visible := False;
end;

procedure TFormHome.Edit16KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit15.SetFocus;
end;

procedure TFormHome.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          BitBtn26.Click
end;

procedure TFormHome.Timer3Timer(Sender: TObject);
begin
          Memo1.Top := Memo1.Top - 1;
          if Memo1.Top <= Panel10.Height - Memo1.Height then
          Memo1.Top := 300;
end;

procedure TFormHome.Button1Click(Sender: TObject);
begin    // REFRESH SURAT MASUK
          dm.ZQuerysrtmasuk.SQL.Clear;
dm.ZQuerysrtmasuk.SQL.Text :='select * from tb_srtmasuk order by Kd_Surat asc';
          dm.ZQuerysrtmasuk.Open;
          Edit15.Clear;
end;

procedure TFormHome.BitBtn9Click(Sender: TObject);
begin  // CARI SURAT MASUK
          dm.ZQuerysrtmasuk.SQL.Clear;
dm.ZQuerysrtmasuk.SQL.Text :='select*from tb_srtmasuk where Kd_Surat='+quotedstr (Edit15.Text) ;
          dm.ZQuerysrtmasuk.Open;
end;

procedure Delay(t:LongInt);
var mulai,selesai,k:LongInt;
begin   // MENGATUR TEXT ANIMASI
          mulai:=GetTickCount;
          repeat
          Application.ProcessMessages;
          selesai:=GetTickCount;
          until (selesai-mulai)>=t;
end;

procedure TFormHome.Timer4Timer(Sender: TObject);
begin  // TEXT ANIMASI
          n:=n+1;
          if n>length (tulisan) then n:=1;
          label31.Caption:=copy (tulisan,1,n)
end;

procedure TFormHome.Edit20KeyPress(Sender: TObject; var Key: Char);
begin
          if Key=#13 then
          Edit10.SetFocus;
end;

procedure TFormHome.BitBtn33Click(Sender: TObject);
begin    // BB LAPORAN SRT MASUK
          FormLapSrtMasuk.QuickRep1.Preview;
end;

procedure TFormHome.BitBtn32Click(Sender: TObject);
begin    // BB LAPORAN SRT KELUAR
          FormLapSrtKeluar.QuickRep1.Preview;
end;

procedure TFormHome.BitBtn34Click(Sender: TObject);
var A, hasil, panjang, coba : string;
    I : Integer;
begin   // TAMBAH KODE BARU PADA SRT MASUK
          if dm.ZQuerysrtmasuk.IsEmpty then
          Edit19.Text := 'A01' else
     begin
          A := Copy(dm.ZQuerysrtmasuk.fieldbyname('Kd_surat').AsString,3,1);
          I := StrToInt(A);
          I := I+1;
          panjang := IntToStr(I);
          { if Length (IntToStr(I))= 1 then coba := '00' + IntToStr(i) else }
          hasil := 'A0'+ panjang;
          Edit19.Text := hasil ;
          Edit6.Clear;
          Edit7.Clear;
          Edit8.Clear;
          Edit9.Clear;
          Edit18.Clear;
     end;
end;

procedure TFormHome.BitBtn35Click(Sender: TObject);
var A, hasil, panjang, coba : string;
  I : Integer;
begin   // TAMBAH KODE BARU
          if dm.ZQuerysrtkeluar.IsEmpty then
          Edit20.Text := 'A01' else
     begin
          A := Copy(dm.ZQuerysrtkeluar.fieldbyname('Kd_surat').AsString,3,1);
          I := StrToInt(A);
          I := I+1;
          panjang := IntToStr(I);
          { if Length (IntToStr(I))= 1 then coba := '00' + IntToStr(i) else }
          hasil := 'A0'+ panjang;
          Edit20.Text := hasil ;
          Edit10.Clear;
          Edit11.Clear;
          Edit12.Clear;
          Edit17.Clear;
          Edit14.Clear;
          Edit13.Clear;
     end;
end;

procedure TFormHome.BitBtn27Click(Sender: TObject);
begin    // BATAL
          Edit15.Clear;
end;

procedure TFormHome.BitBtn28Click(Sender: TObject);
begin   // CARI SURAT KELUAR
          dm.ZQuerysrtkeluar.SQL.Clear;
dm.ZQuerysrtkeluar.SQL.Text :='select*from tb_srtkeluar where Kd_Surat='+quotedstr (Edit16.Text) ;
          dm.ZQuerysrtkeluar.Open;
end;

procedure TFormHome.BitBtn36Click(Sender: TObject);
begin   // REFRESH SURAT KELUAR
          dm.ZQuerysrtkeluar.SQL.Clear;
dm.ZQuerysrtkeluar.SQL.Text :='select * from tb_srtkeluar order by Kd_Surat asc';
          dm.ZQuerysrtkeluar.Open;
          Edit16.Clear;
end;

procedure TFormHome.BitBtn29Click(Sender: TObject);
begin
          Edit16.Clear;
end;

procedure TFormHome.CheckBox1Click(Sender: TObject);
begin
          if CheckBox1.Checked then
          Edit3.PasswordChar := #0 else
          Edit3.PasswordChar := '*';
end;

end.


Yupppppp, untuk program delphi 7 kali ini cukup ya....
klo ada masukan silahkan dikomentari,,, saya juga masih dalam proses pembelajaran, heheehee.....
semoga artikel kali ini dapat bermamfaat untuk kita semua..
:)