Senin, 22 April 2013

Menambahkan Komponen Combobox didalam DBGrid Delphi

1. Pastikan Tidak ada Masalah Dengan Koneksi Database, Maupun Proses Input atau Delete Pada Program Anda. Jika Masih ada Masalah silahkan baca postingan sebelumnya tentang Koneksi Database MySQL dan Input, Update dan Delete.

2. Pada Contoh Ini admin menggunakan Konektor ZEOS. Sebenarnya sama saja dengan ODBC

3. Buat dua Buah Tabel Pada Database Anda
   - Tabel User (Datanya akan ditampilkan Pada DBGRID) -> 3 Field (Nomor, Username, Keterangan)
   - Tabel Keterangan (Datanya akan ditampilkan Pada Combobox) -> 2 Field (Nomor dan Keterangan)

4. Untuk Desain Formnya Seperti dibawah ini :
   - 1 Buah DBGRID
   - 1 Buah Connector ZEOS
   - 2 Buah ZQUERY (Zquery1 Untuk Tabel User dan ZQuery2 Untuk tabel Keterangan)
   - 1 Buah Datasource
   - 1 Buah Combobox

Combobox dalam DBGrid

5. Set Property Combobox -> Visible = False
6. Tambahkan Code ini dalam Event Form Show :
var
i : integer;
begin
for i := 1 to ZQuery2.RecordCount do
begin
ComboBox1.Items.Add(ZQuery2['Keterangan']);
ZQuery2.Next;
end;
end;

7. Tambahkan Code ini didalam Event DBGRID onDrawColoumcell
DBGrid1.Columns[2].PickList:=ComboBox1.Items;

8. Hasil Akhirnya Seperti ini :

Combobox dalam DBGrid

Mewarnai DBGrid

Topik Kali ini kita akan bermain-main dengan DBGRID. Admin sendiri bosan dengan Warnanya yang monoton dan Itu Itu saja. untuk itu mari kita coba melakukan sedikit modifikasi pada DBGrid. Caranya cukup simpel. Hanya dengan menambahkan code ini didalam event onDrawColoumCell milik DBGRID :

Untuk Alternatif Jika anda tidak mau menggunakan komponen DBGRID bawaan Delphi, Ada Komponen Pengganti DBGrid yang dapat Sobat Coba. Namanya Komponen DBGRIDEH. Silahkan baca pada postingan saya disini. Untuk cara menggunakannaya silahkan baca disini.

1. Tambahkan dua Variabel :
   gridwarna : TDBGrid;
warnarow : integer;

2. Tambahkan Code ini Setelah Begin
//Memberi Warna yang berbeda pada DBGrid
gridwarna := sender as TDBGrid;
warnarow := gridwarna.DataSource.DataSet.RecNo;
if Odd(warnarow) then
gridwarna.Canvas.Brush.Color := clyellow // Ganti Warnanya Sesuai Kebutuhan
else
gridwarna.Canvas.Brush.Color := clgreen; // Ganti Warnanya Sesuai Kebutuhan
gridwarna.DefaultDrawColumnCell(Rect, DataCol, Column, State) ;

Dan Hasilnya :

Mewarnai DBGrid

Komponen Pembaca File SHP Delphi

Untuk Membuat Aplikasi GIS (Geographic Information System atau Sistem Informasi Geografis) kita membutuhkan komponen Tambahan untuk membaca file *.shp Karena secara default Delphi tidak menyediakan komponen untuk membaca file shp.

Nama Komponen ini adalah SVO, Berjalan dengan Cukup Stabil di Delphi 7 karena saya sudah pernah mencobanya untuk membuat untuk belajar membuat aplikasi sederhana System Informasi Geografis meskipun akhirnya saya memutuskan untuk menggunakan PMAPPER Framework (Framework GIS Web Based).

Sebenarnya komponen ini dapat juga digunakan untuk melakukan editing file shp. untuk lebih jelasnya silahkan dicoba sendiri. Download Komponennya disini

Sekedar Informasi, Hasil Install akan berada disini : C:\Program Files\Borland\Delphi X\SVO

Berikut Gambar Demonya :

Komponen Pembaca File SHP delphi

Selamat Berkreasi Sobat Delphi :)

Modul Delphi Untuk Pemula

Postingan ini berisi modul Delphi Untuk Pemula yang selama ini Admin gunakan untuk belajar Delphi. Perlahan Tapi Pasti dengan Mencoba Hal-Hal Kecil Akhirnya admin jadi banyak tahu tentang Delphi. Ebook ini atau mungkin lebih tepat jika disebut Modul. sangat Admin Rekomendasikan untuk seorang yang baru mulai belajar Delphi (Pemula).

Modul Ebook ini bukan hasil tulisan saya. Ini adalah modul pemrograman Visual yang digunakan di kampus saya. Sengaja Saya Sharing Buat Sobat Delphi yang ingin Belajar dan memperdalam Ilmu delphi. Bukankah Ilmu Untuk disebarkan ? Saya Sendiri Suka dengan Orang yang semangat belajarnya tinggi. Apalagi Belajarnya menggunakan Metode Otodidak. Tidak Manja dan banyak tanya. Tapi kalau kesulitan ya harus bertanya agar tidak tersesat. :)

Dalam Modul ini dibahas tentang Delphi Secara Detail. Mulai dari Pengenalan Delphi Hingga Praktek Membuat Prosedur dan Fungsi Sendiri. bagi Sobat yang penasaran dengan modul ini silahkan Download disini. Akhir kata Admin ucapkan. Selamat belajar dan Jayalah Indonesiaku.

eBook Membuat Komponen Sendiri di Delphi

Object Oriented Programming adalah sebuah metode Pemrograman berbasis Objek. Bukan Menggunakan Sintax atau Tools yang berbeda karena yang berbeda hanya Konsep Programmingnya (Penulisan Code). Jika Sebelumnya anda Akrab dengan Metode Prosedural atau bahasa kerennya Coding Spageti, Maka Konsep OOP akan sedikit lebih membingungkan (Pengalaman Pribadi). hehe

Berikut saya sharing Sebuah ebook panduan Menguasai Konsep OOP di Delphi Beserta bagaimana membuat komponen sendiri. Ebook ini admin dapatkan dari Srcribd. Tentu saja Penulisnya Bukan Admin. ketimbang numpuk di harddisk lebih baik kan di share ke sobat Delphier. Dalam ebook ini dibahas tentang pengenalan OOP pada Delphi serta praktek Penerapan Konsep OOP alias Objek Oriented Programming pada Delphi. Selanjutnya dibahas Bagaimana Membuat Komponen Sendiri. Ebooknya dapat sobat Download disini.

Kepada Penulis eBook. Admin Mohon Maaf yang sedalam-dalamnya karena telah lancang mempublish tanpa ijin Penulis. Kita Doa'akan Semoga Penulis Masuk Surga. Amin. Akhir Kata Admin Ucapkan selamat Belajar dan Berkreasi Kepada Sobat Delphi.

Kamis, 18 April 2013

Delphi di Linux

Karena Memang Delphi di khususkan untuk windows, Jadi Bagi Para Pengguna Sistem Operasi Linux, Lazarus dapat menjadi Alternatif Untuk mengganti Delphi. Seperti apa kelebihan dan kekurangannya ? Silahkan dicoba sendiri ya. karena disini admin hanya ingin sharing tentang bagaimana mendapatkan lazarus dan menginstalnya di linux anda. Lazarus merupakan Tools untuk mengcompile Code Pascal. Silahkan Download Dulu Disini

Berikut Daftar yang harus anda Download :
1. fpc_2.6.0-120824_i386.deb
2. fpc-src_2.6.0-120824_i386.deb
3. lazarus_1.0.4-0_i386.deb

Silahkan Copy Semua File Lazarus yang anda download ke Folder Home. Selanjutnya Buka Terminal Anda. Disini Admin akan mencontohkan pada Linux Mint.

1. Pada Terminal, Ketikan : Sudo Bash -> enter -> Masukan Password -> enter
2. selanjutnya ketikan (Lakukan Bertahap One by One):

dpkg -i fpc_2.6.0-120824_i386.deb -> enter
dpkg -i fpc-src_2.6.0-120824_i386.deb -> enter
dpkg -i lazarus_1.0.4-0_i386.deb -> enter

Berikut Screenshoot Hasilnya :

Delphi di Linux

Delphi di Linux

Aplikasi CRUD Data dan Cetak Laporan dengan Delphi

Mungkin Sudah banyak beredar didunia maya tentang aplikasi CRUD Data. Saya yakin juga sudah banyak yang sharing Aplikasi CRUD data dengan Delphi baik di forum-forum pemrograman atau di blog-blog pribadi. Namun Admin Ingin Memberikan Sedikit sentuhan yang berbeda pada Contoh aplikasi sederhana ini.

Contoh Source Code yang akan saya sharing ini sebenarnya merupakan inti dari dibangunnya sebuah aplikasi (Input, Update & Delete), Cetak Laporan serta Backup dan Restore. Sedangkan Mengenai Desain Tampilan saya kira hanya Varisasi Saja.

Ada Beberapa Hal yang akan sobat dapatkan :

- Input Data Kedalam Database MySQL
- Update Data (Database MySQL)
- Delete data (Database MySQL)
- Menyimpan Gambar kedalam Database MySQL
- Backup dan Restore Data (Database MySQL)
- Mencetak Laporan (Pertanggal) dengan QuickReport dan Database MySQL

Screenshoot :

CRUD 3

CRUD 2

CRUD

Download :
Source Code, Datasource dan Database

Membuat Mp3 Player dengan Delphi

Mp3 Player alias Pemutar musik. atau apa sajalah. yang jelas buat menjalankan File Mp3. Aplikasi semacam ini sudah banyak bergentayangan di dunia maya mulai dari yang free hingga Pro. tapi Sepertinya kebanyakan Free dengan Fasilitas Terbatas, Jika ingin Fasilitas tambahan ya harus bayar. Howalah, begitu ya cara mengakali pengguna Aplikasi ? hehe

For Example : Winamp, Spider Player dan Lain Sebagainya. sudah banyak yang share dan Dapat dengan mudah kita dapatkan. Namun Bagaimana Jika Kita Ingin Membuat Sebuah Pemutar Musik Sendiri ? Bisakah dengan Delphi? Jawabannya Tentu saja Bisa. Disini Admin Ingin Sharing Sebuah Aplikasi Pemutar Musik Sederhana dengan Delphi.

Silahkan Modifikasi dan dikembangkan Sendiri. :)

Screenshoot :

Mp3 Player 1


Mp3 Player 2

Download :

Import Data Excel Ke Database MySQL dengan Delphi

Import Data dari File Excel kadang diperlukan oleh sebuah aplikasi karena biasanya, System Aplikasi Perkantoran Jaman dahulu mentok menggunakan Microsoft Excel. Dengan Menggunakan Fasilitas Import data ini, Bertujuan untuk tidak merepotkan End User agar data-data awal yang ada di excel tidak di inputkan lagi secara manual. coba deh sobat bayangin bagaimana capeknya kalau datanya ada 1000 atau mungkin 10000. Berapa lama waktu yang akan diperlukan ?

Solusi dari pertanyaan diatas adalah dengan menggunakan Fasilitas Import data pada aplikasi yang anda bangun. Postingan Sebelumnya kan udah membahas Bagaimana Melakukan Export Data Ke Format Microsoft Excel. Rasanya Kurang Komplit Kalo Gak ada Proses Import dari Hasil Exportnya. Biar tidak Panjang lebar, mari kita mulai.

Untuk Kasus dan Desain Form Sama Seperti Postingan Sebelumnya (Eksport data ke Microsoft Excel) Silahkan Baca disini jika anda belum membacanya agar prosesnya menjadi lebih mudah.

Import ke Excel

1. Tambahkan didalam Uses : Excel2000

2. Buat Prosedur dan Fungsi : Download disini

3. Tambahkan Setelah Code {$R *.dfm} : Download disini

4. Karena Ada Field di dalam database yang berhubungan dengan tanggal jadi jangan lupa Mengganti Format Tanggal di komputer anda menjadi (yyyy-mm-dd). Saya menyarankan agar anda menetapkan format tanggal komputer anda menjadi yyyy-mm-dd selama belajar Import dan Eksport data ke Excel (Jika ada Field di database anda berhubungan dengan tanggal)

Download Contoh Source Lengkap Disini

Import ke Excel 2

Export Database MySQL Ke Excel dengan Delphi

Seperti yang kita ketahui, Aplikasi yang cerdas adalah aplikasi yang bisa melakukan apa saja. Bisa kita katakan Bahwa dari kecerdasan Aplikasi itulah tempat nilai jualnya. Semakin Pintar Sebuah Aplikasi maka semakin Mahal Harganya. Coba Deh Bandingkan Harga Ponsel yang hanya bisa Mengirim dan Menerima SMS dengan Ponsel Smartphone Android. Jauh Banget Kan ? (Kok jadi ngomongin Handphone)

Utilitas Export data Dari Database adalah salah satu hal yang sangat penting dalam sebuah aplikasi. apalagi Eksport data ke Microsoft Excel karena kebanyakan Pegawai-Pegawai perusahaan lebih akrab dengan Microsoft Excel. Untuk itu pada postingan ini saya akan sharing tentang cara Export data dari MySQL ke Excel.

Untuk Melakukan Export data Ke Excel ada beberapa hal yang perlu sobat perhatikan sebelum melanjutkan ke tahap berikutnya pada postingan ini. Pertama, Pastikan sudah tidak ada masalah dengan koneksi database. jika sobat belum faham atau masih ada masalah silahkan baca postingan sebelumnya. Kedua, Pastikan proses CRUD data Sudah tidak ada masalah. jika sobat masih bingung silahkan baca postingan sebelumnya. Ketiga, Pastikan ada Data yang tersimpan didalam Tabel Database Sobat. kalo tidak ada apa yang mau diexport ?

Contoh Kasus Kita akan melakukan Export Data yang ada di Tabel User.

Desain Form Saya Seperti ini

Export Excel 1

Selanjutnya Masalah Coding. Karena Tanpa Coding tentu saja Prosesnya Tidak akan Jalan.

1. Tambahkan ini didalam Uses Anda : ComObj
2. Jangan Lupa Deklarasikan Fungsinya : function userKeExcel(ASheetName, AFileName: string): Boolean;
3. Tambahkan Code ini Tepat Setelah {$R *.dfm}

Download disini

4. Tambahkan Code ini didalam Button Export :

Download disini

5. Karena Ada Field yang berhubungan dengan Tanggal Jadi Jangan Lupa Mengganti Format Tanggal Komputer Anda Menjadi (yyyy-mm-dd).

Download Contoh Source Codenya disini

Export Excel 2

Jumat, 12 April 2013

Membuat Menu Seperti Office 2010 Pada Delphi

Tampilan Office 2007 Memang Memukau dan Sangat Menggoda. Dengan Menu Ribbonnya, Ia Mampu Menyedot Perhatian Saya Sehingga terbersit Niat di hati untuk membuat aplikasi dengan Menu Office 2007 Tersebut (Sok Puitis) hehe.

Ok. Kita Fokus ke Pembahasan. Kali ini admin mau sharing tentang cara membuat menu seperti tampilan Microsoft Office 2007. Namanya adalah menu Ribbon. Lohh Katanya Seperti Office 2010 bagaimana sih ? saya anggap sama karena bentuknya sama. :)

Biar gak buang-buang waktu karena admin banyak kerjaan jadi langsung aja.

Step 1 : Download dulu software atau component yang yang dibutuhkan. dalam Hal ini adalah DevExpress. Download disini

Step 2 : Install component yang di download tadi. saya anggap sudah beres karena saya tidak meragukan kemampuan sobat dalam hal instal menginstal.

step 3 : Buka Delphi sobat ! Perhatikan Pallete-nya. Jika seperti dibawah ini, berarti instalasi sudah sukses.

Office 2010 1

step 5 : Pada Pallete ExpressBar, Tambahkan Komponen dxBarManager dulu, setelah itu dxRibbon.
step 6 : klik dua kali komponen dxBarManager lalu tambahkan Beberapa Toolbar

Office 2010 2

step 7 : Klik Kanan Pada komponen dxRibbonTab1 -> Add Tab. kemudian pada masing-masing Tab ganti Captionnya pada Object Inspector

Office 2010 3

Step 8 : Klik 1 Kali Tab Home. Lihat Pada Object TreeView Sobat -> dxRibbon -> dxRibbonTab1 -> Group -> Add Item

Office 2010

Step 9 : Klik 1 Kali Item yang tadi ditambahkan pada Group (tdxRibbonTabGroup). Perhatikan Object Inspector Sobat. ToolBar -> Pilih Salah Satu Toolbar yang tadi dibuat dengan dxBarManager (Pada Step 6)

Office 2010 4

Step 10 : Ulangi Langkah 8 dan 9 Agar Semua Toolbar ditambahkan pada tdxRibbonTabGroup. Hasil Sementara Seperti dibawah ini :

Office 2010 5

Step 11 : Klik Kanan Pada salah satu dari tiga Toolbar tersebut -> Add Large Button. Ubah Captionnya sesuai Kebutuhan. Jika Ingin Menambahkan gambar Pilih LargeGlyph

Office 2010 6

Step 12 : Saya Kira Tugas Saya Sudah Selesai. Selamat Berkreasi dan Silahkan Kembangkan Sendiri

Membuat Laporan Pertanggal Dengan QuickReport Delphi

Seringkali Dalam Membuat Aplikasi ada Permintaan Untuk Mencetak Laporan Berdasarkan Parameter Tertentu atau Berdasarkan Tanggal Tertentu. Dan Memang Itu sangat Penting. Untuk Itu, Disini, Admin Ingin Berbagi sedikit pengetahuan tentang bagaimana melakukan pencetakan Laporan Data Pertanggal.

Study Kasus Untuk Masalah ini kita akan mencetak Data dalam Tabel Nasabah Berdasarkan Parameter Tanggal yang dipilih dari dua buah DateTimePicker. Date Time Picker Pertama merupakan tanggal Awal Data yang akan dicetak sedangkan Date Time Picker Kedua Merupakan Tanggal Akhir Data yang akan dicetak. Intinya data yang akan di cetak antara tanggal di Date Time Picker 1 dan Date Time Picker 2.

Step 1 : Desain Form Sobat Seperti dibawah ini (lebih bagus lebih baik)

Office 2010 Laporan Pertanggal


Step 2 : Pastikan Sudah Tidak ada Masalah dengan koneksi ke database
Step 3 : Tambahkan Code ini pada Button Cetak
 // Bersihkan Query Lap Nasabah
QLapNasabah.SQL.Clear;
// Ambil Data di Tabel Nasabah Berdasarkan TanggalRegister Antara DatetimePicker1 dan DatetimePicker2
QLapNasabah.SQL.Add('SELECT * from nasabah WHERE(((TanggalRegister) BETWEEN '''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)+''' AND '''+FormatDateTime('yyyy-mm-dd',DateTimePicker2.DATE)+'''))ORDER BY Nomor asc');
// Aktifkan Query Lap Nasabah
QLapNasabah.Active:=True;
// Tampilkan Laporan
NasabahReport.Preview;

// Bersihkan Query Lap Nasabah
QLapNasabah.SQL.Clear;
// Ambil Semua Data yang ada di Tabel nasabah
QLapNasabah.SQL.Add('select * from nasabah');
// Aktifkan Query Lap Nasabah
QLapNasabah.Active:=True;

Cara Menentukan Tanggal yang akan datang Pada Delphi

Aplikasi yang bagus adalah aplikasi yang cerdas. Bisa melakukan hal-hal dengan cepat untuk meringankan beban kerja manusia. Begitulah tujuan dibuatnya sebuah aplikasi. Berikut Admin Ingin Sharing tentang cara Menentukan Tanggal yang akan datang.

Suatu misal Tanggal Hari ini adalah tanggal 20/01/2013. nah, kira-kira 1 minggu berikutnya tanggal berapa ? jika jarak hari berikutnya dengan tanggal hari ini masih dekat tentu kita masih bisa menghitunggnya. namun bagaiamana menentukan 2 bulan atau 6 bulan berikutnya tanggal berapa ? tentu kita akan sulit menghitungnya.

Tahap Pertama : Tambahkan DateUtils didalam Uses Sobat.
Uses
DateUtils;

Tahap Kedua : Desain Form Sobat Seperti ini (lebih bagus lebih baik)

Menghitung Tanggal yang akan datang

Tahap Ketiga : Tambahkan Code ini didalam Button 3 Hari yang akan datang
var
myDate : TDateTime;
begin
myDate:=DateTimePicker1.Date;
myDate := IncDay(myDate, 3);
edit1.text:=DateToStr(myDate);
End;

Tahap Empat : Tambahkan Code ini didalam Button Seminggu yang akan datang (7 Hari)
var
myDate : TDateTime;
begin
myDate:=DateTimePicker1.Date;
myDate := IncDay(myDate, 7);
edit2.text:=DateToStr(myDate);
End;

Tahap Lima : Tambahkan Code ini didalam Button Satu Bulan yang akan datang (30 Hari)
var
myDate : TDateTime;
begin
myDate:=DateTimePicker1.Date;
myDate := IncDay(myDate, 30);
edit3.text:=DateToStr(myDate);
End;

Hasilnya Seperti Gambar Berikut :

Hasil Menghitung Tanggal yang akan datang

Shutdown dan Restart Komputer Dengan Delphi

Ada Banyak hal yang dapat kita lakukan pada komputer jika kita bisa Bahasa Pemrograman. Aksi Hacking dan Cracking dilakukan karena Mereka Mahir dalam Bahasa Pemrograman untuk memanipulasi Script-script yang dibuat oleh Developer. Dalam Hal ini Admin Tidak Termasuk ya. hehe

Postingan ini tidak akan membahas tentang Hacking dan Cracking namun Admin ingin berbagi tips dan mengajak anda untuk lebih kreatif bagaimana Meremote Windows dengan Delphi. Kita akan Belajar Bagaimana Merestart dan Menshutdown Komputer (Windows).

Pertama : Desain Form Sobat Seperti dibawah ini (lebih bagus lebih baik)

Shutdown dan Restart Komputer pake Delphi

Kedua 1 : Klik dua kali Button Shutdown dan Tambahkan Code ini :
winexec('shutdown -s -t 0 -f',sw_normal);

Kedua 2 : Klik dua kali Button Restart dan Tambahkan Code ini :
winexec('Shutdown -r -t 0 -f',sw_normal);

Selesai. Silahkan dijalankan dan coba tekan salah satu Tombol Button. 

Pencarian Data Pada Database dengan InputBox Delphi

Pencarian Dengan InputBox digunakan untuk menghemat komponen yang digunakan dalam membuat aplikasi. semakin sedikit komponen yang digunakan maka size Aplikasi akan semakin kecil. semakin kecil size aplikasi  maka proses loading-nya pun akan semakin cepat. Maka Admin Akan Kembali Berbagi Tips Tentang cara Menggunakan InputBox dalam Delphi yang akan dimanfaatkan untuk melakukan pencarian data dalam Tabel.

Pencarian Data Inputbox

Pertama : Pastikan Sudah Tidak ada Masalah dengan koneksi Database
Kedua   : Bebas Menggunakan Database Apa Saja yang penting memiliki minimal 1 Tabel.
Ketiga  : Tambahkan Code dibawah ini didalam button Cari. Kode dibawah ini akan melakukan pencarian data dalam Tabel Berdasarkan Field Nama dari Tabel
var
cari:string;
begin
cari:=InputBox('Nama Yang Dicari ??','Nama : ','');
// Prose Pencarian Data
if not ADOTable1.Locate('Nama',cari,[]) then
ShowMessage('Tidak Ada Data !!') else
abort;
end;

Kamis, 11 April 2013

Menggambar Titik Dan Garis Dengan Delphi

Untuk Menggambar titik dan garis dengan Delphi sebenarnya tidak susah. Apalagi jika anda sudah memahami konsep pemrograman Delphi. Step 1 yang harus kita pahami dari delphi adalah penggunaan Event Handling. Jadi dalam delphi Perintah-Perintah akan diletakkan didalam Event itu Sendiri (Coba Perhatikan Objek Inspektor yang ada di Sobat). Step 2 adalah Coding; Tanpa Coding Aplikasi yang anda buat tidak akan bisa apa-apa. karena semua perintah adalah coding dan Coding isinya adalah perintah.

Pada Postingan ini, Sebenarnya hanya iseng-iseng doang. tujuannya bukan bisa menggambar garis saja tapi lebih ke memahami konsep pemrograman delphi yang sudah saya jelaskan di awal paragraf.

Tahap Pertama. Tambahkan sebuah komponen Image dan Button dalam form anda
Tahap Kedua. Didalam Button (Klik Dua kali) Tambahkan Code ini :

Kesimpulannya adalah; sebuah titik dan garis tidak akan dibuat langsung oleh program anda. tapi melalui perantara Button yang di klik karena Perintah untuk menggambar garis pada komponen image di letakkan pada Event OnClick milik Button.
var
i : integer;
begin
// code dibawah ini akan menggambar titik
for i := 100 to 100 do
Image1.Canvas.Pixels[i,i]:=clred;

// code dibawah ini akan menggambar titik sebanyak lima puluh sehingga terlihat seperti garis merah (perulangan for do)
for i := 1 to 50 do
Image1.Canvas.Pixels[i,100]:=clred;

Hasilnya Seperti Ini

Menggambar titik dan garis

Menghitung Selisih Dua Tanggal Pada Delphi

Operasi Tanggal Seringkali Membingungkan kita dalam Implementasinya yang sebenarnya sangatlah mudah. kita terjebak oleh mindset kita sendiri karena terlalu banyak berfikir tanpa mencoba. padahal apa yang kita pikirkan belum tentu seperti apa yang akan terjadi. Seperti kata andrea hirata dalam buku maryamah karpovnya "Kesulitan akan mudah dipecahkan dengan merubah cara pandang" (Looh Kok Malah Bahas Novel). hehe

Okelah Kawan, Kita Fokus. Operasi Tanggal Kadang diperlukan dalam aplikasi yang kita buat. suatu misal dalam membuat aplikasi perpustakaan, aplikasi kredit dan lain sebagainya (Untuk menentukan lamanya Pinjaman). Nah, Karena hal tersebut (Operasi Tanggal) sangat diperlukan, admin ingin berbagi pengetahuan tentang cara menghitung selisih dua tanggal pada Delphi.

Lets Do It !

Pertama-tama Tambahkan Dua Buah Komponen DateTimePicker, Satu Buah Button dan 1 Buah Komponen Edit didalam Form Anda

Kedua, Klik Dua Kali Form Anda Lalu Masukan Code Ini :
Edit1.Text:=FloattoStr(StrtoDate(DateToStr(DateTimePicker2.Date))-StrtoDate(DateToStr(DateTimePicker1.Date)));

Berikut Hasilnya

Menghitung selisih dua tanggal

Cara Merestore Database MySQL Pada Delphi

Selain Proses Backup Database, Proses Restore adalah Salah Satu Hal yang berguna dalam sebuah aplikasi yang terkadang dilupakan oleh orang. Bisa dikatakan Backup dan Restore adalah satu kesatuan yang tidak dapat dipisahkan. Jika ada Backup maka Restore harus ada. sebaliknya jika ada Restore maka Backup Pasti ada. Saya ingin anda tidak menyepelekannya karena dalam hidup ini segala hal bisa saja terjadi seperti hilangnya data, data yang tidak sengaja terhapus dan semacamnya.

Postingan sebelumnya kan sudah membahas bagaimana melakukan backup data, rasanya kurang pas jika admin tidak sharing tentang bagaimana merestore data yang telah dibackup. Silahkan Lihat disini Jika anda belum membaca bagaimana melakukan proses Backup data dari Database MySQL.

Step 1 : Seperti biasa, Pastikan Sudah tidak ada masalah dengan koneksi Database Anda
Step 2 : Jangan Lupa Mendefinisikan ShellApi didalam Uses Anda
Step 3 : Buat Variabel, Handle: THandle;
Step 4 : Disini ni Bedanya, Jika dalam proses backup kita memanggil file mysqldump, tapi dalam merestore kita menggunakan file mysql Sobat Bisa mengcopy code dibawah ini pada event yang sobat kehendaki untuk melakukan restore
ShellExecute(self.Handle,pchar('open'),
PCHAR('C:\xampp\mysql\bin\mysql'),
PCHAR('-uroot -ppassword-mysql-anda -h localhost -e "drop database if exists nama-database; '+
'create database nama-database;use nama-database;\. '+opendialog.FileName+'"'),nil,SW_HIDE);
MessageDlg('Data Berhasil di Restore !!', mtInformation, [mbOK], 0);

Oya, Saya Memanfaatkan Komponen OpenDialog Untuk Membuka File yang akan direstore.

Cara Backup Database MySQL Pada Delphi

Backup dalah Proses Menyalin, Memindahkan atau mengamankan data. Dengan melakukan backup secara rutin kita tidak perlu lagi takut kehilangan data inti karena salinan data sudah kita miliki. Itulah Sebabnya mengapa Perlu ada Plan B dalam sebuah misi agar jika Plan A gagal maka Plan B yang berjalan.

Terlepas dari basa-basi diatas, Backup Data Tentu Merupakan Urusan yang bisa dibilang sangat penting. tujuannya tentu saja untuk mengamankan data tersebut sehingga jika suatu ketika data tersebut hilang, rusak atau corrupt, seorang admin dapat melakukan restore dengan data yang telah dibackup.untuk itu mari kita belajar bagaimana membackup database MySQL dengan Delphi.

Tahap pertama adalah memastikan sudah tidak ada masalah dengan koneksi database.
Tahap kedua adalah dengan mendefinisikan "ShellApi" tanpa tanda kutip didalam uses.
unit Unit1;
interface
uses
... , ShellApi;

Tahap Ketiga adalah memanggil file mysqldump.exe didalam direktory mysql.
berarti kalo sobat pake xampp, file mysqldump.exe ada di : C:\xampp\mysql\bin\mysqldump.exe
caranya bagaimana ? paste aja code dibawah ini didalam event yang sobat kehendaki untuk melakukan backup data.
ShellExecute(self.Handle, PCHAR('open'),
PCHAR('C:\xampp\mysql\bin\mysqldump.exe'),
PCHAR('-uroot -ppassword-mysql-anda -h localhost -R -r "'+SaveDialog1.FileName+'.sql" bmt'),,
PCHAR('C:\xampp\mysql\bin'),
SW_HIDE);
MessageDlg('Data Berhasil di Backup !!', mtInformation, [mbOK], 0);

Oya, Saya Memanfaatkan Komponen SaveDialog Untuk Proses Simpannya.
Jangan Lupa membuat variabel handle :
Handle: THandle;

Untuk Merestore Data, Silahkan Baca Disini

Selasa, 09 April 2013

Membuat Fungsi Terbilang Rupiah Pada Delphi

Fungsi Terbilang Juga merupakan hal yang terkadang diperlukan dalam sebuah aplikasi lebih-lebih jika aplikasi yang anda bangun adalah aplikasi penjualan (Jual Beli). Hal ini (Fungsi Terbilang) sangat membantu seorang kasir karena terkadang kita sulit dengan cepat untuk mengetahui jumlah uang yang tertulis dengan angka. lebih mudah jika tertulis dengan huruf (tinggal baca saja). hehe

Berangkat dari hal tersebut diatas, Jika Pada Postingan Sebelumnya Kita Membahas Tentang Bagaimana Merubah Format Integer Menjadi Format Mata uang Rupiah, Pada Postingan Kali Ini Kita akan Membahas bagaimana Membuat sebuah Fungsi Terbilang Rupiah Dengan Delphi.

Pertama, Tambahkan 1 Buah Komponen Edit, 1 Buah Button dan 1 Buah Label Pada Form Anda. Oya, Jangan Lupa Tambahkan StrUtils Pada Uses Anda.

Kedua, Tambahkan Code ini tepat dibawah code {$R *.dfm}
// Fungsi Terbilang
function terbilang(sValue: string):string;
const
Angka : array [1..20] of string =
('', 'Satu', 'Dua', 'Tiga', 'Empat',
'Lima', 'Enam', 'Tujuh', 'Delapan',
'Sembilan', 'Sepuluh', 'Sebelas',
'Duabelas', 'Tigabelas', 'Empatbelas',
'Limabelas', 'Enambelas', 'Tujuhbelas',
'Delapanbelas', 'Sembilanbelas');
sPattern: string = '000000000000000';

var
S,Rupiah : string;
Satu, Dua, Tiga, Belas, Gabung: string;
Sen, Sen1, Sen2: string;
Hitung : integer;
one, two, three: integer;

begin
One := 4;
Two := 5;
Three := 6;
Hitung := 1;
Rupiah := '';
S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;
Sen1 := Copy(S, 14, 1);
Sen2 := Copy(S, 15, 1);
Sen := Sen1 + Sen2;
while Hitung < 5 do
begin
Satu := Copy(S, One, 1);
Dua := Copy(S, Two, 1);
Tiga := Copy(S, Three, 1);
Gabung := Satu + Dua + Tiga;

if StrToInt(Satu) = 1 then
Rupiah := Rupiah + 'Seratus '
else
if StrToInt(Satu) > 1 Then
Rupiah := Rupiah + Angka[StrToInt(satu)+1] + ' Ratus ';

if StrToInt(Dua) = 1 then
begin
Belas := Dua + Tiga;
Rupiah := Rupiah + Angka[StrToInt(Belas)+1];
end
else
if StrToInt(Dua) > 1 Then
Rupiah := Rupiah + Angka[StrToInt(Dua)+1] + ' Puluh ' +
Angka[StrToInt(Tiga)+1]
else
if (StrToInt(Dua) = 0) and (StrToInt(Tiga) > 0) Then
begin
if ((Hitung = 3) and (Gabung = '001')) or
((Hitung = 3) and (Gabung = ' 1')) then
Rupiah := Rupiah + 'Seribu '
else
Rupiah := Rupiah + Angka[StrToInt(Tiga)+1];
end;

if (hitung = 1) and (StrToInt(Gabung) > 0) then
Rupiah := Rupiah + ' Milyar '
else
if (Hitung = 2) and (StrToInt(Gabung) > 0) then
Rupiah := Rupiah + ' Juta '
else
if (Hitung = 3) and (StrToInt(Gabung) > 0) then
begin
if (Gabung = '001') or (Gabung = ' 1') then
Rupiah := Rupiah + ''
else
Rupiah := Rupiah + ' Ribu ';
end;
Hitung := Hitung + 1;
One := One + 3;
Two := Two + 3;
Three := Three + 3;
end;
if length(Rupiah) > 1 then Rupiah := Rupiah + ' Rupiah ';
Result := Rupiah;
end;
// End Terbilang

Ketiga, Klik dua kali Komponen Button dan Tambahkan Code dibawah ini :
Label1.Caption:=terbilang(Edit1.Text);

Berikut Hasil Print Screen Saya :

Fungsi Terbilang Rupiah

Convert Integer To Rupiah Pada Delphi

Dalam Membuat Aplikasi Yang Sifatnya Penjualan atau Berhubungan Dengan Mata Uang, Kita Perlu Merubah Format Angka Menjadi Rupiah agar aplikasi Menjadi Lebih User Friendly. Nah, Pada Postingan Ini admin Ingin Berbagi Resep Tentang Cara Merubah Format Integer Menjadi Format Mata Uang Rupiah.

Sedikit saya jelaskan disini bahwa convert integer ke format rupiah disini akan dilakukan ketika anda merubah angka yang ada dikomponen edit karena Perintah Convertnya diletakkan pada Event On Change Milik Komponen Edit. Jika anda ingin prosesnya ada di Button anda dapat mengkreasikannya sendiri. hehe

Saya Asumsikan Sobat Sudah Membuka Tools Delphi

Step 1 : Tambahkan Sebuah Komponen Edit

Step 2 : Tambahkan Code dibawah ini pada Event OnChange Milik Komponen Edit
var
Rp : string;
Rph : Currency;
begin
Rp := Edit1.Text;
Rp := StringReplace(Rp,',','',[rfReplaceAll,rfIgnoreCase]);
Rp := StringReplace(Rp,'.','',[rfReplaceAll,rfIgnoreCase]);
Rph := StrToCurrDef(Rp,0);
edit1.Text := FormatCurr('#,###',Rph);
edit1.SelStart := length(edit1.text);
end;

Selesai. Berikut Hasil ScreenShoot Milik saya :

Integer to Rupiah

Event Penekanan Enter Pada Delphi

Seperti yang sudah saya jelaskan pada postingan postingan yang lain. Konsep Pemrograman Delphi terletak pada Penggunaan Event dan Coding. Suatu Misal Jika anda ingin Prosesnya dijalankan ketika sebuah Tombol di klik maka anda harus meletakkan baris perintah (Coding) anda didalam Event On Click. Begitu juga jika anda ingin prosesnya terjadi pada saat Form dijalankan maka anda harus mengetikan coding anda di Event On Show. Lalu bagaimana dengan Event Penekanan Pada Keyboard semisal Penekanan Enter ?

Mudah saja sebenarnya. Step 1 Kita membutukan Code Assci dari keyboard tersebut. Step 2 Kita Perlu Tahu dimana Codingnya diletakkan (Event OnKeyPress). Step 3 Gunakan Statemen Kondisi dan Aksi (If Then Else)

Pada Postingan Ini admin ingin membagi sedikit pengetahuan tentang Cara Menangkap Aksi Penekanan Tombol Enter Keyboard Pada Delphi. Okelah, Anggap Saja Kita ingin melakukan Pencarian Pada sebuah Database dengan Parameter sebuah Inputan Edit. Nah, Setelah Tombol Edit diisi dan Tombol Enter Keyboard ditekan Maka Proses Pencarian Pada Database akan dilakukan.

Caranya Cukup Mudah. Letakkan Code dibawah ini pada Event OnKeyPress Milik Komponen Edit :
If key=#13 then // Code Asscii Enter adalah 13
begin
// Disini Aksi yang akan dilakukan Setelah Tombol Enter ditekan
end;

Membuat Place Holder Pada Delphi

Tema Kita Kali ini adalah Place Holder. Tahu Kan Place Holder itu apa ? Field pencarian yang Seperti di website-website. Jika kursor tidak diarahkan ke Field itu kan biasanya ada semacam teks yang muncul. tapi setelah kursor diarahkan kesana teksnya hilang. Contohnya Seperti gambar dibawah ini

Place Holder di Delphi

Jika Kita Membuat ini menggunakan Code HTML saya kira tidak ada masalah karena kita hanya perlu menambahkan attribut PlaceHolder pada Form Input kita tapi jujur saya awalnya sempat bingung bagaimana membuat place holder di Delphi. Pernah Juga saya tanyakan di Group KPPDI di facebook tapi tidak juga mendapat pencerahan. Akhirnya saya baru mendapat pencerahan dari sebuah aplikasi yang di sharing di Internet. terima kasih banget buat yang sudah share Source Codenya. :)

Trus Bagaimana Membuatnya ?

Pertama, Buka Delphi Anda dan Tambahkan Sebuah Form Pada Projek Anda Berikut Sebuah TextField atau Komponen Edit.

Kedua, Pada Object Inspector Milik Edit Isikan Value Textnya Dengan "Pencarian" (Tanpa Kutip)

Ketiga, Tambahkan Code ini Pada Event On Enter Milik Edit
edit1.Text:='';

Keempat, Tambahkan Code ini pada event On Exit Milik Edit
edit1.Text:='Pencarian';

Selamat Mencoba.

Membuat Form Always On Top Pada Delphi

Form Always On Top Tentu Sering kita temukan pada aplikasi-aplikasi keren yang pernah kita gunakan. Hal ini (Form Always On Top) Juga Perlu kita buat pada aplikasi yang kita bangun untuk mencegah banyak form yang dibuka secara bersamaan. Biasanya banyak programmer pemula yang melupakan ini (Contohnya saya sendiri). hehe

Form Always On Top ini akan mengunci perintah yang kita lakukan pada Desktop komputer kita selama Form tersebut masih aktif. artinya kita tidak bisa membuka form lain atau bisa jadi tidak bisa melakukan perintah lain ke komputer selama form tersebut masih aktif. Saya yakin sobat pernah menemukan aplikasi yang seperti itu.

Seperti yang telah saya jelaskan diatas, Dalam Membuat Aplikasi Kita Perlu Membuat Form yang Selalu berada diatas alias Always On Top. Nah Pada kesempatan postingan kali ini admin ingin berbagi tips tentang cara membuat Form Always On Top.

Caranya Cukup Mudah, Letakkan Code ini didalam Event Form On Show :
SetWindowPos(Self.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);