Kamis, 01 Mei 2014

DELPHI - Mewarnai Hasil Pencarian pada DBGrid / Colouring Result Searching in DBGrid

Malam Pemirsa hehe lama nih gak posting lagi..
oke kali ini sy akan berbagi tentang mewarnai hasil pencarian pada DBGrid.. langsung aja yah...

Jadi asumsikan saya punya 2 tabel dan 1 buah DBGrid.
Pencarian berikut dapat berfungsi untuk di seluruh kolom yang tersedia.

procedure TfrmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
case DataCol of
0..2 : Begin
        if pos(txtCari.Text,Column.Field.AsString)=1 then

          TDBGrid(Sender).Canvas.Brush.Color:=clYellow;
        TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
        End;
end;
end;

procedure TfrmMain.txtCariChange(Sender: TObject);
begin
case Table of
1 : Begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM '+
                   'MASTER_PEGAWAI '+
                   'WHERE '+
                   'KODE LIKE "%'+txtCari.Text+'%" OR '+
                   'NAMAPEGAWAI LIKE "%'+txtCari.Text+'%" OR '+
                   'TANGGALMASUK LIKE "%'+txtCari.Text+'%" OR '+
                   'STATUSPEGAWAI LIKE "%'+txtCari.Text+'%" OR '+
                   'INFORMASIPEKERJAAN LIKE "%'+txtCari.Text+'%" '+
                   'ORDER BY NAMAPEGAWAI ' +
                   'LIMIT '+Limit
                   );
    ADOQuery1.Open;
    End;
2 : Begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM '+
                   'MASTER_PELANGGAN '+
                   'WHERE '+
                   'KODE LIKE "%'+txtCari.Text+'%" OR '+
                   'NAMAPERUSAHAAN LIKE "%'+txtCari.Text+'%" OR '+
                   'FAX LIKE "%'+txtCari.Text+'%" OR '+
                   'KONTAK LIKE "%'+txtCari.Text+'%" OR '+
                   'JABATAN LIKE "%'+txtCari.Text+'%" '+
                   'ORDER BY NAMAPERUSAHAAN ' +
                   'LIMIT '+Limit
                   );
   ADOQuery1.Open;
    End;
End;

Bagian yang di warna HIJAU, itu tidak wajib dipakai. agan bisa hapus.
jauh lebih baik kalo agan mengerti LIMIT di MySQL hehe

Oke sekian dlu yah gan, ane lanjut lagi...
Terimakasih udah berkunjung di giavano.blogspot.com

Senin, 17 Maret 2014

DELPHI - Memberikan halaman dan total halaman pada quickrep / Get Page Number and Page Count in Delphi easily

Selamat Malam Pemirsa ... ! :D
Buat para pengguna QuickReport, pasti pada kesulitan nih mendapatkan PageCount atau Total Halaman dari Laporan yang dicetak..
Buat yang udah tau, mohon berbagi cara yang lebih simplenya yah :D

oke langsung aja yah... Hasilnya nanti akan seperti ini :

  Halaman 1/16 -> artinya kita sedang berada di halaman pertama dari total 16 halaman seluruhnya

Di tombol Preview, ketikkan coding :

  QuickRep1.Prepare;
  QRExpr1.Expression:= 'PAGENUMBER + '' / ' + INTTOSTR(QuickRep1.QRPrinter.PageCount) + '''';

  QuickRep1.Preview;

Syaratnya :

  Letakkan komponen QRExpr di dalam Quick Report.. Terserah agan mau taronya dimana :D

oke semoga bermanfaat yah..

Salam Coding dan Terimakasih telah berkunjung di giavano.blogspot.com ^_^

Kamis, 13 Maret 2014

DELPHI - Memformat Tanggal TDateTimePicker ke dalam berbagai model

Selamat malam pemirsa setia...!!! :D

Kali ini saya akan membagikan cara untuk memformat Datetimepicker-nya delphi kedalam format yang diinginkan

oke langsung aja...

1. Letakkan TDatetimepicker ke dalam form1
2. Tambahkan Combobox ke dalam form1
3. Tambahkan Label ke dalam form1

4. //Isi Comboboxnya (pilihan)
Dobel Click di form1 (boleh isi lewat properties Items milik combobox)

procedure TForm1.FormCreate(Sender: TObject);
begin
Combobox1.Items.Add('format dd/MM/yyyy   Contoh : 31/07/1992');
Combobox1.Items.Add('format dd MMMM yyyy Contoh : 31 July 1992');
Combobox1.Items.Add('format dd MM yy     Contoh : 31 07 92');
end;

5. Dobel click Comboboxnya

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case Combobox1.ItemIndex of
0 : Label1.Caption:=FormatDateTime('dd/MM/yy',DateTimePicker1.Date);
1 : Label1.Caption:=FormatDateTime('dd MMMM yyyy',DateTimePicker1.Date);
2 : Label1.Caption:=FormatDateTime('dd MM yy',DateTimePicker1.Date);
end;
end;

6. Prakteknya : Jalankan program, dan pilih comboboxnya.. nanti tanggalnya akan tampil di Label1
Untuk format lainnya silahkan agan ganti sendiri dibagian yang warna kuning

Oke sekian dan terimakasih telah berkunjung di giavano.blogspot.com

Selasa, 11 Maret 2014

DELPHI - Autonumber sederhana dengan ADOTable Delphi tanpa Stored Function

Selamat sore pemirsa... :D

kali ini saya akan bagikan coding untuk autonumbering tanpa stored function (murni pakai tabel). :p

kalo bisa sih pake stored function gan, ada di postingan sebelumnya.

contoh penomoran otomatis dengan ketentuan :

char [5],

format R0001..R9999,

nama tabel : supplier,
id supplier baru akan ditampilkan dalam komponen dbEdit1.text

procedure TfrmSupplier.btnNewClick(Sender: TObject);
var IdBaru, IdTerakhir: integer;
katakunci : string;
begin
IF tblSupplier.RecordCount=0 then
begin
tblSupplier.Insert;
dbEdit1.Text:='R0001';
end
else
begin
tblSupplier.Last;
IdTerakhir :=STRTOINT(copy((tblSupplier.FieldByName('IdSupplier').AsString),2,4));
katakunci :=copy((tblSupplier.FieldByName('IdSupplier').AsString),1,1);
IdBaru :=IdTerakhir+1;
tblSupplier.Insert;
if IdBaru<=9 then dbEdit1.Text:=CONCAT(katakunci,'000',INTTOSTR(IdBaru))
else if IdBaru<=99 then dbEdit1.Text:=CONCAT(katakunci,'00',INTTOSTR(IdBaru))
else if Idbaru<=999 then dbEdit1.Text:=CONCAT(katakunci,'0',INTTOSTR(IdBaru))
else dbEdit1.Text:=CONCAT(katakunci,INTTOSTR(IdBaru));
end

end;



Oke terimakasih telah berkunjung di blog ane :D

DELPHI - Set Main Form : buka form 2 dan tutup form 1

Malem pemirsa !!! :D
kali ini saya akan bagikan cara untuk membuka form lain dan menutup form yang aktif sekarang...

intinya adalah : kita setting mainform pada saat aplikasi berjalan..

oke langsung aja yah.. ini cendolnya.. eh codingnya :D

1. Buat project baru

2. Buat 2 buah form (form1 dan form2)

3. buat procedure ini dibawah {$R *.dfm} di form1

procedure SetAsMainForm(aForm:TForm);
var
  P:Pointer;
begin
  P := @Application.Mainform;
  Pointer(P^) := aForm;
end;

2. Alt + F11 (use unit) ke form 2

3. Tambahkan button di form1

4. dobel click, tambahkan coding ini :

form2.Show;
SetAsMainForm(Form2);
form1.Close;

oke beres kan pemirsa? hehe
mudah kan?

terimakasih telah berkunjung di giavano.blogspot.com ya :)