Pengunaan Config Global pada Delphi
Sama dengan pemrograman lain, penggunaan config global untuk memudahkan coding dan syntax yang tidak perlu, karena berisi coding-coding generic untuk program tersebut,
Contoh penggunaan di database seperti ini :
Misalkan kita punya Server bernama Serverku, dengan database SQLServer2000 :
Kita buat database dbtest, dengan tabel matakuliah yang berisi kode_matakuliah dan nama_matakuliah bertipe string untuk memudahkan. Ok, sekarang kita buat Datamodule (File->New->Datamodule) — Bernama DM, kita simpan dengan nama file umodul.pas, berikut code unitnya :
Code: |
unit umodul; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, ADODB; type TDM = class(TDataModule) ADO: TADOConnection; //Properti Nama Adoquery Q: TADOQuery; //Properti Nama Datasource D: TDataSource; private { Private declarations } public { Public declarations } end; var DM: TDM; implementation {$R *.DFM} end. |
———-
Let’s go to global generic code :
Buat Unit baru, bukan form baru lho, tapi unit Baru(File ->New ->Unit) : Kita simpan dengan nama file uconfig.pas, berikut code-nya
Code: |
unit uconfig; interface procedure db; procedure seleksi(perintah:String); implementation uses umodul; procedure db; begin with DM.ADO do begin ConnectionString :=’Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=testdb;Data Source=Serverku’; LoginPrompt :=False; end; end; procedure seleksi; end. |
————————–
Dari configurasi global di atas, kita bisa panggil di form secara hemat :
Kita buat satu form, tambahkan object DBGrid ke dalam object form, arahkan Datasource ke DM.D , berikut coding unitnya :
Code: |
unit uutama; interface uses var implementation procedure TForm1.FormActivate(Sender: TObject); end. |
—————
Run program, akan tampil daftar matakuliah, dari sini kita bisa mengembangkan sendiri, selamat mencoba .
Cara Extends Kelas di Delphi
Saya contohkan kita punya kelas manusia, dan kelas mahasiswa yang merupakan keturunan manusia :
Cara membuat kelas manusia, klik file – > new -> Unit, simpan dengan nama umanusia.pas
Code: |
unit umanusia; interface type manusia = class private makan,minum,nama,alamat:String; public constructor manusia(x:String;y:String); procedure setnama(n:String); procedure setalamat(n:String); function getnama:String; function getalamat:String; function getnyam2:String; end; implementation constructor manusia.manusia(x:String;y:String); begin makan:=x; minum:=y; end; procedure manusia.setnama(n:String); begin nama:=n; end; procedure manusia.setalamat(n:String); begin alamat:=n; end; function manusia.getnama:String; begin result:=nama; end; function manusia.getalamat:String; begin result:=alamat; end; function manusia.getnyam2:String; begin result:=’makan ‘+makan+’ dan minum ‘+minum; end; end. |
———————–
Sekarang, kita buat kelas mahasiswa yang merupakan turunan dari manusia : –> umahasiswa
Code: |
unit umahasiswa; interface uses umanusia; type mahasiswa = class(manusia) public function belajar:String; end; implementation function mahasiswa.belajar:String; begin result:=’harus rajin banget lho ‘; end;end. |
————
Now, kita bisa panggil kelas turunan tersebut di form, misalkan form1, unit1.pas
Code: |
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,umahasiswa,StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Label1: TLabel; Edit2:TEdit; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; o:mahasiswa; implementation {$R *.DFM} procedure TForm1.FormActivate(Sender: TObject); procedure TForm1.Button1Click(Sender: TObject); end. |
Penggunaan class pada Delphi
Penggunaan class dalam delphi, hampir mirip dengan java, php, ataupun yang lainnya, hanya saja, constructor,procedure, maupun function semuanya dideklarasikan dulu, baru diisi, Kita coba ya … 🙂
Kita buka aplikasi borland delphinya :
Kita buat satu unit baru, sebagai kelas, klik file, new – > Unit -> simpan dengan nama umanusia.pas , sekarang, kita tuliskan kode programmnya :
Code: |
unit umanusia;interface type manusia = class private makan,minum,nama,alamat:String; public constructor manusia(ma:String;mi:String); procedure setnama(n:String); procedure setalamat(n:String); function getnama:String; function getalamat:String; function getnyam:String; end; implementation constructor manusia.manusia(ma:String;mi:String); begin makan:=ma; minum:=mi; end; procedure manusia.setnama(n:String); begin nama:=n; end; procedure manusia.setalamat(n:String); begin alamat:=n; end; function manusia.getnama:String; begin result:=nama; end; function manusia.getalamat:String; begin result:=alamat; end; function manusia.getnyam:String; begin result:=makan+’ dan minum ‘+minum; end; end. |
Kita sekarang bisa panggil di aplikasinya , misalkan ada form tampilkanmanusia, kita simpan dengan nama unit1, berikut kode programmnya
Code: |
unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,umanusia, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Label1: TLabel; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; o:manusia; implementation {$R *.DFM} procedure TForm1.FormActivate(Sender: TObject); procedure TForm1.Button1Click(Sender: TObject); end. |
——————–
Install FastReport 3
1. Pertama, kita siapkan dulu fastreportnya :
2. kita klik dulu Recompile.exe
3. select the compiler, pilih delphi 5 atau delphi 7, saya contohkan yang delphi 5
4. FR Version pilih yang professional
5. pilih radiobutton recompile All Packages
6. Terbentuk folder LIBD5 untuk Delphi 5, kalau delphi 7, LIBD7,
7. Buka Delphinya, pilih Tools, Environtment Options, Library, pada Library path tambahkan alamat folder LIBd5 atau LIbd7-nya, OK
8. Klik Component, Install Packages, pilih semua *.bpl yang ada di LibD5 atau LibD7,
/*
******************
***selamat mencoba
******************
*/
penggunaan “function” pada delphi
Atas permintaan dari pembaca yang budiman, berikut saya tampilkan sedikit ulasan tentang function di delphi, ambil contoh aplikasi mencari volume balok, berarti kita buat dulu function hitungvolumebalok-nya , berikut contoh syntax-sisnya…:
****************
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Label4: TLabel;
//deklarasi function
function hitungvolumebalok(panjang,lebar,tinggi:integer):integer;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//panggil function
function TForm1.hitungvolumebalok(panjang,lebar,tinggi:integer):integer;
var volume:integer;
begin
volume:=panjang*lebar*tinggi;
//panggil hasil, result adalah method default.
result:=volume;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//jalankan
if ((Edit1.Text=”) or (Edit2.Text=”) or (edit3.Text=”)) then
showmessage(‘masukkan dulu angkanya’)
else
label4.Caption:=inttostr(hitungvolumebalok(StrToInt(Edit1.Text),StrToInt(edit2.Text),StrToInt(edit3.Text)));
end;
{ error handlingnya }
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in[‘0’..’9′]) then
key:=#0;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in[‘0’..’9′]) then
key:=#0;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in[‘0’..’9′]) then
key:=#0;
end;
end.
//berikut tampilan programnya…
login dengan mencocokkan query(pada sql server)
pertama, kita buat database dulu, contoh database tutorial, dan kita buat table t_user berisi username dan password.
———
masuk ke program delphinya
buat form login, datamodule, dan form menu utama
untuk form login c0ba gunakan form1,tambahkan datamodule2 dan form3,untuk kemudian datamodule2 kita tambahkan adoconnection1, adoquery1. dan datasource1, setelah itu pada form login kita tambahkan edit1, edit2, dan button 1, edit1 untuk username, edit2 untuk password dan button1 untuk tombol login yang bila cocok akan mengarah ke form3, berikut tampilannya
=======================================================
untuk syntax pada button1(login) adalah sebagai berikut :
with datamodule2 do
begin
ADOConnection1.Close;
adoquery1.Close;
adoquery1.SQL.Clear;
//mencocokkan dengan data yang ada
adoquery1.SQL.Add(‘select * from t_user where username=”’+Edit1.Text+”’ and password=”’+Edit2.Text+””);
ADOConnection1.open;
adoquery1.Prepared;
adoquery1.Open;
adoquery1.Active:=true;
if ADOQuery1.IsEmpty then
{jika hasilnya tidak ada maka}
begin
showmessage(‘username atau password salah’);
edit1.Text:=”;
edit2.Text:=”;
edit1.SetFocus;
end
else{jika hasilnya ada}
begin
form3.showmodal;
edit1.Text:=”;
edit2.Text:=”;
end;
end;
************************************************************
Database tanpa nama / alias
untuk yang baru pemula, biasanya menggunakan delphi dengan database ke paradox(database yang sebenarnya bisa ke sql server, oracle, acces, mysql, dll-red), biasanya,kita diajari oleh dosen atau teman kita untuk menggunakan alias yang ‘seolah’ itu nama databasenya, walhasil, ketika kita copy program kita, dan paste ke komputer lain, kita akan mendapati bahwa alias tersebut belum ada, dan kita harus buat lagi alias dengan nama yang sama, nah, kalau tanpa alias caranya
Syntax Report dari tanggal sampai tanggal
form2.Query1.Close;
form2.Query1.sql.clear;
form2.Query1.SQL.add(‘select * from t_pinjam where (tgl>=:datetimepicker1) and (tgl<=:datetimepicker2)’);
form2.query1.params[0].asdate:=datetimepicker1.date;
form2.query1.params[1].asdate:=DateTimePicker2.Date;
form2.Query1.Prepare;
form2.Query1.Open;
form2.QuickRep1.Preview;
Install ZeosDb
ZeosDB berfungsi untuk menghubungkan Delphi dengan Mysql, software ini gratis, tidak trial, dan tinggal install aja.
Cara install ZeosDb adalah sebagai berikut :
1. Buka folder EOSDBO_6_5_0_ALPHA\packages\delphi5
2. Double klik Zeosdbo.bpg
3. Project–Compile All Project–Build All Project
4. Project–Add Existing Project
5. Copykan mysql.dll dan kawan-kawan yang *.dll ke Windows\system32
6. Copykan semua file di ZEOSDBO_6_5_0_ALPHA\packages\delphi5\build ke C:\Program Files\Borland\Delphi5\lib
7. Install dan Compile Project, close, buka kembali aplikasi, di sebelah paling kanan ada Component Pallet ada Zeos Access.
…….
selamat mencoba.
Error Handling Simpan data
procedure TFormInputDataBarang.BitBtnSimpanClick(Sender: TObject);
begin
if (not ((ADOQuery1.State=dsEdit) or
(ADOQuery1.State=dsInsert)))
then
begin
if (ADOQuery1.MaxRecords=0)
then
begin
showmessage(‘anda sedang tidak dalam mode edit/update data’);
ADOConnection1.Close;
DataSource1.DataSet.Close;
ADOQuery1.Close;
ADOConnection1.Open;
DataSource1.DataSet.Open;
ADOQuery1.Open;
end
else
begin
showmessage(‘anda sedang tidak dalam mode edit/update data’);
DataSource1.DataSet.Close;
ADOQuery1.Close;
ADOQuery1.Open;
DataSource1.DataSet.Open;
dbedit1.Text:=”;
dbedit2.Text:=”;
ComboBox1.Text:=”;
dbedit3.Text:=”;
dbgrid1.Refresh;
exit;
end;
end;
if ((ADOQuery1.State=dsEdit) or
(ADOQuery1.State=dsInsert))
then
begin
if ((dbedit1.Text=”) and (dbedit2.Text=”) or (dbedit2.Text=”)) then
begin
showmessage(‘isi dulu data’);
dbedit1.SetFocus;
end
else
begin
BitBtn1.Enabled:=true;
BitBtn2.Enabled:=true;
BitBtn3.Enabled:=true;
BitBtn4.Enabled:=true;
BitBtn5.Enabled:=true;
BitBtn6.Enabled:=true;
BitBtn7.Enabled:=true;
BitBtn8.Enabled:=true;
ADOQuery1.Post;
ADOQuery1.Close;
ADOQuery1.Prepared;
ADOQuery1.Open;
end;
end;
end;
Error Handling Cancel data (delphi-red)
procedure TFMintaBarang.BitBtnCancelClick(Sender: TObject);
begin
if (not ((ADOTable1.State=dsEdit) or (adotable1.State=dsInsert)))
then
begin
if (adotable1.MaxRecords=0)
then
begin
BitBtn10.Enabled:=true;
BitBtn11.Enabled:=true;
BitBtn12.Enabled:=true;
BitBtn13.Enabled:=true;
BitBtn14.Enabled:=true;
BitBtn15.Enabled:=true;
ADOConnection1.Close;
DataSource1.DataSet.Close;
ADOTable1.Close;
ADOConnection1.Open;
DataSource1.DataSet.Open;
ADOTable1.Open;
end
else
begin
BitBtn10.Enabled:=true;
BitBtn11.Enabled:=true;
BitBtn12.Enabled:=true;
BitBtn13.Enabled:=true;
BitBtn14.Enabled:=true;
BitBtn15.Enabled:=true;
ADOConnection1.Close;
DataSource1.DataSet.Close;
ADOTable1.Close;
ADOConnection1.Open;
DataSource1.DataSet.Open;
ADOTable1.Open;
exit;
end;
end;
if ((adotable1.State=dsEdit) or (ADOTable1.State=dsInsert))
then
begin
if (ADOTable1.MaxRecords=0)
then
begin
showmessage(‘Tidak jadi Update Data’);
BitBtn10.Enabled:=true;
BitBtn11.Enabled:=true;
BitBtn12.Enabled:=true;
BitBtn13.Enabled:=true;
BitBtn14.Enabled:=true;
BitBtn15.Enabled:=true;
ADOConnection1.Close;
DataSource1.DataSet.Close;
ADOTable1.Close;
ADOConnection1.Open;
DataSource1.DataSet.Open;
ADOTable1.Open;
end
else
begin
BitBtn10.Enabled:=true;
BitBtn11.Enabled:=true;
BitBtn12.Enabled:=true;
BitBtn13.Enabled:=true;
BitBtn14.Enabled:=true;
BitBtn15.Enabled:=true;
ADOConnection1.Close;
DataSource1.DataSet.Close;
ADOTable1.Close;
ADOConnection1.Open;
DataSource1.DataSet.Open;
adotable1.Open;
exit;
end ;
end;
end;
leave a comment