Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan

UTAK ATIK DBGRID / CRDBGRID DENGAN MENAMBAH WARNA HOVER / WARNA SAAT MOUSE DI ATAS BARIS DAN MEMILIHNYA PADA DELPHI

hai sobat hibhib yang budiman, dbgrid bawaan standar delphi sering menyuguhkan warna secara default yang tidak bisa di ubah pada menu properties, warna tersebut biasanya adalah putih pada fontnya dan hitam pada backgroundnya saaat diselec record. hal ini sudah lumrah, tapi akan menjadi malasalah mana kala warna bacgroud dasarnya di ganti dan di utak atik, atau pingin lebih dengan warna sesuai custom atau yang kita inginkan,milsal Highlighting Mouse Pointer. berikut adalah cara hack atau mengubah tampilan dasar dari dbgrid atatu crdbgrid pada komponen mydac untuk delphi.
kami anggap anda sudah menguasai struktur dari unit.pas delphi
pada bagian code dibawah type tambahkan baris perintah berikut
THackingGrid = class(TDBGrid);
Arahkan kursor pada bagian deklarasi private dan public.
Tepat dibawah deklarasi private, sebelum public tambahkan deklarasi variabel, procedure dan property baru seperti ini:
Private
fMouseOver: Integer;
procedure SetMouseOver(const Value: Integer);
property MouseOver: integer read fMouseOver write SetMouseOver;
Arahkan kursor ke bagian implementation (dibawah kata kunci implementation), buat procedure SetMouseOver yang sudah dideklarasikan sebelumnya, menjadi seperti ini:
procedure TForm1.SetMouseOver(const Value: Integer);
begin
if fMouseOver <> Value then
begin
fMouseOver:= Value;
DBGrid1.Repaint;
end;
end;
Klik ganda menu OnMouseMove sehingga code editor akan mengantar kita bada kerangka kode event tersebut. Tepat diatas kata kunci begin, deklarasikan variabel baru:
var
point: TGridCoord;
begin
point:= DbGrid1.MouseCoord(x, y);
MouseOver:= point.Y;
end;
yang terakhir harus dilakukan adalah membuat koding yang terkait pada event untuk membuat highlighting baris data pada saat mouse melewati baris data DBGrid1. Untuk menyelesaikan tujuan itu, kembali ke Object Inspector, arahkan pada events OnDrawColumnCell lalu klik ganda hingga kerangka events terbuka pada code editor. Ketikkan kode seperti ini, tepat dibawah kata kunci begin:
procedure TForm1.DBGrid1DrawColumnCell
(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState);
begin
if (THackDBGrid(DBGrid1).DataLink.ActiveRecord + 1 =
THackDBGrid(DBGrid1).Row)
or (gdFocused in State) or (gdSelected in State) then
begin
DBGrid1.Canvas.Brush.Color := clSkyBlue;
DBGrid1.Canvas.Font.Style := DBGrid1.Canvas.Font.Style + [fsBold];
DBGrid1.Canvas.Font.Color := clRed;
end;
end;
sumber
hibhib.com

CARA MEMBUKA CASH DRAWER RJ 11 TERHUBUNG KE MINI PRINTER DOT MATRIX USB DENGAN POS COMMAND DELPHI

kawan hibhib yang budiman. berawal dari permintaan user untuk membuat program Point Of Sale (POS) atau program toko minimarket yang harus suport sengan printer dot matrix usb 58mm dan cash drawer yang terhubung ke printer dengan konektor RJ11, dan alhamdulillah dapat berhasil dengan baik. walaupun harus melewati perjalanan yang tidak mudah, berkali kali brosing dan uji coba, gagal. sebagian besar saat brosing yang saya temukan adalah peinter yang menggunakan COM sebagai koneksinya. sementara kebutuhanya adalah menggunakwn USB.
bahasa yang saya gunakan adalah menggunakan bahasa delphi. pada mulanya membaca sebuah aricle yang bahasa juga sulit dimengerti karena bahasa inggris, heee. ini hasil brosing yang saya dapatkan
var
f:textfile;
Begin
assignfile(f);
try
rewete(f,’nama comport’);
//membuka laci uang dengan pos escape
writeln(f,chr(27),chr(220),…)
closefile(f);
except
showmessage(‘gagal membuka laci uang’);
end;
end;
saya coba berulang kali ternyata tetap gagal, sampai mengganti nama port dengan ‘USB002′ Sesuai dengan yang saya baca.
namun tetap gagal.
setelah melirik pada sebuah web, saya menemukan ada yang menggunakan uses printers pada delphi. itulah pertama kali titik terang yang saya dapatkan. kemudian saya coba sedikit ubah coding yang tadi menjadi..
var
f:textfile;
Begin
assignprn(f);
try
rewete(f,’nama comport’);
//membuka laci uang dengan pos escape
writeln(f,’tek yang akan di cetak’);
closefile(f);
except
showmessage(‘gagal membuka laci uang’);
end;
dan alhamdulillah coding ini word 100%.
struk pada mini printer keluar dan mencetak sesuai dengan yang saya tulis pada writeln.dan yang paling saya suka adalah, laci uang juga terbuka….
taraaa..
baik listing code selengkapnya sebagai berikut…
naik agan sekalian, sekian dulu. semoga bermanfaat.
happy berselancar di dunia maya…
bagi yang menemukwn artikel ini, silahkan komentar…
heee

// Sumber

program menonaktifkan Fungsi USB pada Komputer

Program ini saya beri nama "Nz USB Save1.0" karena masih dalam tahap pengembangan.

halo kawan sekalian, kalau dilihat dari judulnya memang aneh ya? hee
biasanya orang kan mencari komputer ya harus ada USBnya kok malah dimatikan.. 
cuma ini kasusnya beda gays.. 

kebetulan saya mengelola Laboratorium Sekolah.

untuk antisipasi penyalah gunaan ketika ujian berbasis komputer. maka USB untuk Flasdisk perlu dilok. 
setelah brosing sana sini didapatkan kesimpulah bahwa fungsi USB bisa dinonaktifkan lewa Registry. caranya sebagai berikut :

1. Klik Start -->RUN --> ketik regedit --> klik OK
2. Di jendela Registry Editor masuk ke :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
3. Dobel klik dword Start(di sebelah kanan) ganti Value Data yang semula 3 menjadi 4 --> klik OK. --> tutup jendela registry editor
Sekarang fungsi USB disk sudah disable (untuk beberapa kasus, komputer harus restart ).

Untuk mengembalikan fungsi USB disk menjadi normal kembali ulangi langkah seperti di atas, pada langkah ketiga kembalikan ValueData dari 4 menjadi 3.


nah bagi sebagian orang, masuk registri merupakan hal yang membingungkan. nah DARI SITU AHIRNYA SAYA ISENG BUAT PROGRAM DENGAN DELPHI

1. pertama buat sebuah form baru
2. isi form tersebut dengan 2 button dan ganti captionya sesuai pada gambar
3. Pada uses di form utama silahkan tuliskan registry

4.pada chekbok (Aktifkan USB flashdis ) silahkan tuliskan sintax berikut

if CheckBox4.Checked=true then
    begin
    regbuat(HKEY_LOCAL_MACHINE,'\SYSTEM\CurrentControlSet\services\USBSTOR','int','Start','3');
    BitBtn3.Enabled:=false;
    //CheckBox4.Checked:=true;
    //CheckBox4Click(Sender);
    BitBtn2.Enabled:=true;
    Label14.Caption:='USB Aktif';
    end
    else
    begin
    regbuat(HKEY_LOCAL_MACHINE,'\SYSTEM\CurrentControlSet\services\USBSTOR','int','Start','4');
    BitBtn3.Enabled:=true;
    //CheckBox4.Checked:=false;
    //CheckBox4Click(Sender);
    BitBtn2.Enabled:=false;
    Label14.Caption:='USB Tidak Aktif';
    end;

ket :
regbuat adalah sebuah fungsi yang telah saya buat terlebih dahulu sebelunya

function regbuat(key:HKEY;rot,status,nama,nilai:string):string;
begin
reg:=TRegistry.Create;
reg.RootKey:=key;
reg.OpenKey(rot,true);

if status='str' then
    begin
    reg.WriteString(nama,nilai);
    end
    else
if status='bol' then
    begin
    reg.WriteBool(nama,strtobool(nilai));
    end
    else
if status='int' then
    begin
    reg.WriteInteger(nama,StrToInt(nilai));
    end
    else
if status='date' then
    begin
    reg.WriteDate(nama,StrToDate(nilai));
    end;
if status='cur' then
    begin
    reg.WriteCurrency(nama,StrToCurr(nilai));
    end;
if status='float' then
    begin
    reg.WriteFloat(nama,StrToFloat(nilai));
    end;

reg.CloseKey;
reg.Free;

end;

5. pada button "matikan USB" tuliskan perintah berikut ini

BitBtn3.Enabled:=true;

CheckBox4.Checked:=false;
CheckBox4Click(Sender);
BitBtn2.Enabled:=false;
Label14.Caption:='USB Tidak Aktif';

dan pada button "hidupkan USB"  sebaliknya 


BitBtn3.Enabled:=false;

CheckBox4.Checked:=true;
CheckBox4Click(Sender);
BitBtn2.Enabled:=true;
Label14.Caption:='USB Aktif';

6. terhir tinggal compile dah , heee

ok kawan dari pada pusing, ini langsung saya bagikan aplikasinya
silahkan klik link download dibawah ini


Download Nz USB save V1.0

untuk sorce codenya bisa klik link dibawah ini

Download Nz USB Save V1.0 + Source Code

Mencari Selisih Tanggal pada Komponen Datetime Picker

dalam beberapa kasus contohnya dalam proses pembutan program penyewaan, tentunya akan menjumpai selisih antar tanggal.
contoh kasus adalah ketika seseorang meminjam barang, baik itu rental mobil, atau buku, pada saat mengembalikan di tanggal itu, maka program harus bisa mendeteksi apakan waktu pengembaliana telat, atau tidak,. kemudian berapa dendanya begitu kan gan? hehee

oke gan untuk mencari selisih waktu pada delphi kita bisa menggunakan fungsi yang telah disediakan yaitu
DaysBetween

bentuk umumnya adalah
DaysBetween(Waktu1,Waktu2)

fungsi tersebut akan menghasilkan nilai balik berupa integer

contoh penerapanya adalah sebagai berikut

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=DaysBetween(DateTimePicker1.Date,DateTimePicker2.Date);
Edit1.Text:=FloatToStr(a);
end;
contoh rancangan interfavenya sebagai berikut
contoh program selengkapnya bisa di download dengan klik link dibawah ini

https://drive.google.com/open?id=0B0T9jFZChgVIQ2NLcWJ3ZzZvUTg

salam berkarya gan

Cara Mengatasi Masalah Register Licence Delphi 7





Apakah Anda pernah mengalami kegagalan pada saat membuka aplikasi Borland Delphi  dengan pesan " Borland license information was found, but it is not valid for Delphi " ?

Berikut cara mengatasi " Borland license information was found, but it is not valid for Delphi " pada Borland Delphi :

Cara Pertama :
 1. Masuk pada direktory C:/ProgramFiles/Borland/Delphi7/bin
2. Bersihkan registrasi dengan menjalankan file D7RegClean.exe
3.  Kemudian regristasi ulang dengan cara menjalankan D7Reg.exe 
4. Jika muncul registrasi sukses berati delphi siap untuk di jalankan kembali


Cara yang kedua
  1.  (Masuk ke dalam folder .borland yang terletak pada direktori user's pada Documents And Settings)
  2.  (Jalankan D7Reg.exe yang terletak pada direktori C:/ProgramFiles/Borland/Delphi7/bin)
  3.  (Ikuti step demi step dalam proses registrasi)
  4.   (Selesai, sekarang delphi Anda sudah dapat dijalankan dengan normal)  
  5.  

Mengakses Database SQL Menggunakan Komponent MyDAC Pada Pemmrogramman Delphi 07



A. Pendahuluan
Bahasa pemrograman Delphi dapat digunakan untuk berbagai keperluan baik untuk perhitungan matematis, aplikasi perkantoran, aplikasi multimedia, pembuatan aplikasi pengolah data, aplikasi kontrol industri, dan aplikasi untuk akademik yang hampir kesemuanya menggunakan  Database. Pada materi ini akan dijelaskan bagaimana cara mengakses database MySQL Menggunakan bahasa pemrgramman Delphi 07 dengan koneksi mengunaikan komponen  tambahan  eksternal yaiutu MyDAC for Delphi.
Data Access Components for MySQL (MyDAC) adalah  Komponen library yang menyediakan  akses langsung ke database server MySQL dari Delphi, Delphi for .NET, C++Builder, Free Pascal, danm Kylix. mydac dapat berhubungan  secara langsung ke mysql server atau library mysql. library mydac  didisain untuk  membantu pembuat program dan mengembangkan program aplikasi database lebih cepat dan  efisien. mydac menyelesaikan penggantian untuk standar mysql connectivity  seperti ADO dan mempersembahkan alternatif efisien kepada borland sebagai mesin pencetak program basis data untuk akses ke mysql.
mydac mengizinkan pegguna berhubungan ke mysql melalui dua cara :


1.      Client mode

2.      Direct mode



B.  Mengenal Component Pallete yang berhubungan dengan pengelolaan  database pada Delphi 7
Delphi telah menyediakan komponen database yang akan memudahkan dalam merancang dan membangun aplikasi database. Komponen-komponen database dikelompokkan dalam beberapa Component Pallete yaitu Component Pallete Data Acces, Component Pallete Data Control dan Component Pallete  ADO.
Penggunaan komponen  tambahan seperti MyDAC pada Delphi akan membentuk sebuah Component Pallete baru dengan nama MySQLAccess
Data Control                          lebih menekankan pada pengaturan data yang terpasang pada aplikasi sepeti DBLabel, DBNavigator, DBGrid, DBImage, DBMemo, DBEdit, DBCombobox dan lain sebagainya.
C. Teori Dasar Pengelolaan Database Mysql Menggunakan MyDAC pada Delphi
Database ==>MyConnection==>MyQuery==> MyData Source ==> DBGRid

Ket       :
1.      Database                      : Data atau informasi yang akan digunakan oleh aplikasi
2.      MyConnection              : Komponen pada delphi yang digunakan untuk berkomunikaasi dengan database MyQuery                      : komponen untuk memanipulasi data yang bersumber dari komponen   MyConnection menggunakan bahasa DML
4.      MyData Source             : Kompoen yang mengambil data dari hasil olahan MyQuery  untuk ditampilkan
      DBGrid.                        : komponen untuk menampilkan data yang bersumber dari MyDatasource dalam bentuk grid atau tabel

D.  Membuat Program database  Pendaftaran Siswa Baru Dengan Delphi
1.      Membuat Database
Ketentuanya adalah :
Engine DB                   : MySQL
Program Interface        : NaviCat 8.0
Nama database            : database-pendaftaran
Nama tabel                  :  tabelDaftar
Nama-nama fieldnya   :
Nama Field
Type data
Lenght/Panjang
No_daftar
Varchar
25
Nama
Varchar
155
Tgl_lhr
Date and Time
-
Alamat
Varchar
255
Sekolah_asl
Varchar
150
Nama_wali
Varchar
155
Jml_sdr
integer
-
2.      Jalankan Borland delphi 7
Caranya  dengan klick Start>All Programs>Borland Delphi 7 > Delphi 7
3.      Masukan beberapa komponen ke dalam Form sehingga terbentuk sebuah form seperti pada gambar dibaawah ini.
 
4.      Desain Form SBB :
Keterangan :
            No.1  : Komponen Label                                 Berada di Componen Palette > Tab Standar
            No.2  : Komponen Edit                                                Berada di Componen Palette > Tab Standar
            No.3  : Komponen DateTimePicker                 Berada di Componen Palette > Tab Win32
            No.4  : Komponen MyConnection                   Berada di Componen Palette > MySQLAccess
            No.5  : Komponen MyQuery                           Berada di Componen Palette > MySQLAccess
            No.6  : Komponen MyDataSource                   Berada di Componen Palette > MySQLAccess
            No.7  : Komponen DBGrid                              Berada di Componen Palette > Tab Data Control
            No.8  : Komponen Button                               Berada di Componen Palette > Tab Standar
            No.9 : Komponen MyCommand                                 Berada di Componen Palette > MySQLAccess
5.      Daftar Komponen yang digunakan dalam Form beserta pengaturan properties nya
No.
Nama Komponen
Properties
Nilai Properties
1
Label
Caption
Isi sesuai kebutuhan
Ex : No. Pendaftaran,nama,dll

·    Label1
Caption
Pendaftaran Siswa baru

·    Label2
Caption
No. Pendaftaran

·    Label3
Caption
Nama

·    Label4
Caption
Tanggal lahir

·    Label5
Caption
Alamat

·    Label6
Caption
Sekolah Asal

·    Label7
Caption
Nama Wali

·    Label8
Caption
Jumlah Soudara

·    Label9
Caption
No. Pendaftar

·    Label10
Caption
Nama Pendaftar
2
Edit
-
-

·    Edit1
Name
Edit1

·    Edit2
Name
Edit2

·    Edit3
Name
Edit3

·    Edit4
Name
Edit4

·    Edit5
Name
Edit5

·    Edit6
Name
Edit6

·    Edit7
Name
Edit7

·    Edit8
Name
Edit8
3
DateTimePicker1
Name
TanggalLahir
4
MyConnection1
Name
Koneksi


LoginPromp
False


Server
Localhost


Username
root


Database
Database-pendaftaran (nama database)


Connected
True
5
MyQuery1
Nama
datasetDaftar


Connection
Koneksi


SQL
Tulis Sintak SQL unt memilih Tabel
Ex : select * from tabeldaftar


Active
True
6
MyDataSource1
Name
DataSource


DataSet
datasetDaftar
7
DBGrid1
DataSource
DataSource
8
Button
Caption
Sesuaikan Kebutuhan
Ex : Simpan, hapus, Dll


Name
Sesuaikan Kebutuhan
Ex : BTSimpan,BT hapus, Dll

·    Button1
Caption
Simpan


Name
BtSimpan

·    Button2
Caption
Batal


Name
BtBatal

·    Button3
Caption
Hapus


Name
BtHapus

·    Button4
Caption
Cari


Name
BtCari

·    Button5
Caption
Edit


Name
Btedit

·    Button6
Caption
Update


Name
Btupdate
9
·    MyCommand1
Name
My MyCommand1

6.      Ketikan Code Program pada komponen terkait
6.a. Code Program pada button Simpan (BtSimpan)

procedure TForm1.BtSimpanClick(Sender: TObject);
begin
//cek apakah no.pendaftaran masih  kosong
  if Edit1.Text=' ' then
        begin
        ShowMessage('No. Pendaftaran masih kosong');
        exit;
        end;

// cek apakah no.pendaftaran sudah ada di  dalam database tabel Daftar
  if datasetDaftar.Locate('no_daftar',Edit1.Text,[loCaseInsensitive])=true then
        begin
        ShowMessage('No. pendaftaran ini sudah digunakan');
        exit;
        end;

//menyimpan ke database 
MyCommand1.SQL.Clear;
MyCommand1.SQL.Add
('insert into tabeldaftar(no_daftar, nama, tgl_lhr, alamat, sekolah_asl, nama_wali, jml_sdr) values('+
QuotedStr(Edit1.Text)+','+
QuotedStr(Edit2.Text)+','+
QuotedStr(FormatDateTime('yyyy/mm/dd',tanggalLahir.Date))+','+
QuotedStr(Edit3.Text)+','+
QuotedStr(Edit4.Text)+','+
QuotedStr(Edit5.Text)+','+
QuotedStr(Edit6.Text)+')');
MyCommand1.Execute;
ShowMessage('penyimpanan berhasil');

//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;

//memanggil fungsi pada btBatal
btBatal.Click;
end;

6.b.Code Program pada button Batal (BtBatal)

procedure TForm1.btBatalClick(Sender: TObject);
begin
//Mengosongkan Field atau Komponen edit
Edit1.Text:=' ';
Edit2.Text:=' ';
Edit3.Text:=' ';
Edit4.Text:=' ';
Edit5.Text:=' ';
Edit6.Text:=' ';

//mengfokuskan cursor ke edit1
Edit1.SetFocus;

//mengaktifkan button simpan
BtSimpan.Enabled:=true;
end;

6.c. Code Program pada button Hapus (BtHapus)

procedure TForm1.bthapusClick(Sender: TObject);
begin
if datasetDaftar.RecordCount > 0 then
    begin
        MyCommand1.SQL.Clear;
        MyCommand1.SQL.Add( 'delete from tabeldaftar where no_daftar='+
    QuotedStr(datasetDaftar['no_daftar']));
        MyCommand1.Execute;

    ShowMessage('berhasil hapus data' );
    end
    else
    begin
    ShowMessage( 'data kosong' );
    end;

//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;
end;


6.d.Code Program pada button Edit (BtEdit)

procedure TForm1.BtEditClick(Sender: TObject);
begin
Edit1.Text:=datasetDaftar['no_daftar'];
Edit2.Text:=datasetDaftar['nama'];
tanggalLahir.Date:=datasetDaftar['tgl_lhr'];
Edit3.Text:=datasetDaftar['alamat'];
Edit4.Text:=datasetDaftar['sekolah_asl'];
Edit5.Text:=datasetDaftar['nama_wali'];
Edit6.Text:=datasetDaftar['jml_sdr'];

//menonaktifkan button Simpan
BtSimpan.Enabled:=false;
BtUpdate.Enabled:=true;
end;

6.e. Code Program pada button Update (BtUpdate)

procedure TForm1.BtUpdateClick(Sender: TObject);
begin
//Update data pendaftaran
MyCommand1.SQL.Clear;
MyCommand1.SQL.Add('update tabeldaftar set  no_daftar='+
  QuotedStr(Edit1.Text)+
  ',nama='+QuotedStr(Edit1.Text)+
  ',tgl_lhr='+QuotedStr(FormatDateTime('yyyy/mm/dd',tanggalLahir.Date))+
  ',alamat='+QuotedStr(Edit3.Text)+
  ',sekolah_asl='+QuotedStr(Edit4.Text)+
  ',nama_wali='+QuotedStr(Edit5.Text)+
  ',jml_sdr='+QuotedStr(Edit6.Text) +
  ' where no_daftar='+QuotedStr(datasetDaftar['no_daftar']));
MyCommand1.Execute;


//tampilkan pesan jika berhasil
 ShowMessage('Update berhasil');

//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;

//memanggil fungsi pada btBatal
btBatal.Click;
end;


7.      Menyimpan Program
 Untuk menyimpan hasil rancangan program bisa menggunakan menu
File > Save All setelah itu akan muncul jendela dialog penyimpanan seperti gambar disamping.

Ada dua file utama yang akan disimpan yaitu :
file unit yang berekstensi *pas dan
file project yang berekstensi *dpr.
Pada file name beri nama sesuai kebutuhan dan
Pada save in tentukan lokasi penyimpananya.


8.      Mengkompile Program
Kompilasi adalah suatu  proses untuk mengubah kode program menjadi file executable yang mandiri (stand alone).
Proses kompilasi pada delphi 7 bisa dengan menekan tombol F9 pada keyboard , atau bisa dengan klik ikon Run  pada toolbar delphi 07




Download File PDF disini  
jika gagal, gunakan klik disini


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
update tanggal 9 Maret 2018

Pembaruan link Download Modul berformat PDF atau Doc. dikarekan link diatas sudah invalid.
Download Modul dalam bentuk PDF

untuk tutorial koneksi bisa lihat di video berikut ini






dan untuk download Source Code dalam bahas delphi untuk modul diatas. silahkan klik link dibawah ini

Download Source Code Program CRUD Delphi dengan MyDAC

Entri Populer