Category: Sample Apps

Execute DOS Command & Capture The Output

Print Friendly

Sangat banyak result dari Google search untuk judul di atas. Namun bila Anda menggunakan Windows 7 (mungkin juga versi sebelumnya) dengan kombinasi Delphi 2009 (default: Unicode/WideString), mungkin Anda akan mengalami masalah. Dari Torry.Net sampai About Delphi, sampai blog-blog tentang Delphi, semuanya membawa masalah dengan Unicode string di Delphi 2009. Incoming search terms: cara execute dos… »

PostgreSQL [Auto]Backup Tool

image_thumb
Print Friendly

Dari sinilah muncul ide membuat [Auto]Backup Tool, yang membackup database secara otomatis pada waktu tertentu dan dapat merestorenya kembali. Hasil backup telah saya tes untuk direstore dengan pgAdmin dan sangat kompatibel tanpa masalah. »

Sex Toy: Membuat Vibrator Dengan Pascal ( wkwkwkwkw….)

Print Friendly

Jangan naif, bro… Saya cuma menulis tentang Midlet Pascal, sebuah IDE untuk menulis aplikasi mobile yang memiliki Java Virtual Machine (JVM). Midlet Pascal menggunakan antarmuka bahasa pemrograman Pascal, namun saat kompilasi, kode-kode akan dikompilasi ke bytecode java, dan otomatis file-file executable java (jad & jar) akan dibuatkan untuk kita. Midlet Pascal awalnya adalah software komersil… »

Setelah sekian banyak pertanyaan “Bagai…

sadfsdfsdfsdf_FC_breaker879gfg
Print Friendly

Setelah sekian banyak pertanyaan “Bagaimana folder yang terproteksi dengan password menggunakan FolderCustomizer”, saya memutuskan untuk memposting tool untuk membongkar proteksi password pada folder. Untuk diperhatikan, saya buat tool ini hanya untuk Anda yang kehilangan password, bukan untuk Anda yang ingin membongkar privasi orang lain. Jadi, RESIKO PENGGUNAAN ADALAH TANGGUNG JAWAB ANDA SENDIRI. Saya tidak bertanggung… »

Mengganti Ikon File Exe

Print Friendly

Ini sebenarnya sudah diposting beberapa bulan yang lalu. Tapi deh! Ga ada yang baca, jadi saya posting lagi deh linknya di sini. »

Contoh Aplikasi Serial Number

Print Friendly

Sorry ga’ sempat tulis-tulis. Silahkan langsung saja download – 684KB. Setelah download, jangan lupa ganti ekstensi file dari ppt ke zip sebelum dibuka. Aplikasi ini menggunakan ID hardware sebagai parameter serial number. Incoming search terms: membuat serial number dengan delphi membuat serial number pada delphi membuat serial number menggunakan delphi 7 contoh aplikasi yang menggunakan… »

FileDisk Virtual Driver GUI – Updated

8ydfkhn0i7a9s790dfd_updated
Print Friendly

Ini updatenya FileDisk Virtual Driver GUI. Change History: Proteksi password untuk mencegah user selain Anda mengakses drive privat Anda. Menu untuk membersihkan catatan file-file yang pernah dimount sebagai drive, untuk menjaga privasi. Autorun tidak langsung memount drive yang belum diunmount saat komputer dimatikan. Lagi, untuk privasi Anda. Core, kemarin dikompile dengan Visual C++ 2005 (MS.… »

Icon Extractor

gfitgduigfuigisdyf8ua686qw87_extract_icon_01
Print Friendly

Contoh aplikasi untuk mengekstrak ikon dari file executable (EXE, CPL, DLL, OCX). Download source + exe [ ubah ekstensi dari *.ppt ke *.zip ]Download source + exe ] »

FileDisk Virtual Disk Drive GUI

dgdhfo8sf90uf-0d89-0s8df8-0d_fdisk-01
Print Friendly

Kali ini saya membuat sebuah contoh aplikasi antarmuka dengan command line application dan juga contoh menginstall dan menjalankan Device Driver Service secara on-the-fly. Sekaligus juga contoh penggunaan TTrayIcon pada Delphi (BDS) 2006 for Win32. Aplikasi ini berguna untuk mounting file ISO (CD Image). Juga berguna untuk membuat dan mounting file-based virtual drive, read-write maupun write… »

Membuat Tool Kompresi File Pake Delphi + ZLIB

hkhosfoiyfydf01
Print Friendly

Dari laporan WordPress, beberapa pengunjung blog saya melakukan pencarian ‘source code kompresi file dengan Delphi’. Kelanjutannya, kini saya menulis sebuah tutorial tentang kompresi file dengan Delphi. Tutorial ini menggunakan Delphi 6 dan sebuah library open source ZLIB untuk implementasi kompresi menggunakan metode ZLIB. Instalasi ZLIB Compression Library Langkah pertama, silahkan Anda download ZLIB Compression Library… »

Dear All, saya telah membuat lagi sebuah…

hjhdf8sudfjpdf098df01
Print Friendly

Dear All, saya telah membuat lagi sebuah contoh puzzle sederhana yang dibuat menggunakan Delphi. Delphi 6, Delphi 7 dan BDS 2006 bisa mengkompile demo ini. Cuma koneksi internet agak mandek jadi saya ga’ tulis langkah-langkahnya. Silahkan didownload. Komentar, kritik, pertanyaan Anda sangat ditunggu. Terimakasih. Edit: Delphi 2009 juga bisa mengompile. Posting ini sudah tidak dilanjutkan.… »

AnyToExe – Mengganti Ikon File EXE!

78is88s98d88d88d04
Print Friendly

Ini adalah tool yang bisa mengubah icon sebuah file exe. Namun untuk kompiler selain Delphi/BCB, kadang ikonnya tidak sesuai, terutama yang menggunakan banyak icon dalam resourcenya. Yang saya suda tes, bisa Anda lihat di samping ini: Tool ini mengkopi dirinya ke sebuah folder dengan nama file gambar, mengubah ikonnya sesuai ikon gambar (JPG), dan menambahkan… »

Dasar DLL Injection

8idfkdh98cy8vcvcv_dll_injection_01
Print Friendly

Tingkat kemahiran: pemula/menengah Software :Window 2000/XP – Vista belum dicoba Overview DLL Injection adalah hal yang sudah sering kita dengar. Namun sebagian besar adalah klise. Dan memang benar, DLL Injection sering digunakan untuk menumpangkan suatu proses (Kode dalam DLL) ke proses lainnya, yang biasanya sudah berada di memori. Jadi apakah sebenarnya DLL Injection itu? DLL… »

Koneksi Database dengan Delphi & MySQL

Print Friendly

Tingkat Kemahiran : Pemula Software : Delphi 7, MySQL 4 INSTALASI MYSQL MySQL Server dapat didownload di http://dev.mysql.com/. Petunjuk instalasi dapat Anda lihat pada dokumentasi yang disertakan dengan file arsip (*.zip) MySQL yang Anda download. Namun jika Anda tidak mau repot, berikut saya coba menunjukkan langkah-langkah instalasi MySQL Server sebagai service di Windows XP (SP2),… »

· Untuk menginstall MySQl Server, ekstraklah file zip hasil download ke drive C: sehingga folder utama menjadi C:MySQL-x.xx.

· Kemudian masuklah ke C:MySQL-x.xx, cari file-file dengan ekstensi *.cnf dan hapus. Hapus juga file My.cnf di drive C: jika ada. Hapus juga file my.ini di folder C:Windows jika ada. Langkah ini untuk membuang kemungkinan konflik nantinya.

· Sekarang jalankan command prompt dari menu Start>Run, ketik CMD dan enter.
Ketik C: dan enter.
Ketik cd C:MySQL-x.xxBin dan enter.
Ketik mysqld-nt –install dan enter, untuk menginstall MySQL sebagai service.
Ketik SC start mysql untuk menjalankan MySQL Service.

· Jika semuanya berjalan lancar, kini MySQL Server telah terinstall di komputer Anda.

Untuk menguji MySQL Server, kita akan mencoba membuat sebuah database dan sebuah tabel.

· Masih di command prompt,
ketik mysql -u root dan enter untuk menjalankan MySQL Client. Secara default user pada MySQL Server adalah root dan passwordnya kosong.

· Dari konsole MySQL Client, ketik perintah-perintah berikut ini:
mysql> Create database mydata; <enter>
Query OK, 1 row affected (0.00 sec)
mysql> use mydata; <enter>
Database changed
mysql> create table teman(
-> nama varchar(30) not null,
-> alamat varchar(100),
-> telepon varchar(15)
-> ); <enter>
Query OK, 0 rows affected (0.05 sec)
Sampai di sini, Anda telah membuat sebuah database “mydata” dan sebuah tabel “teman” di dalamnya.

· OK, sekarang Anda bisa keluar dari konsole ini dengan mengetik
mysql> exit <enter>
Bye

KONEKSI DELPHI & MYSQL

Di Delphi, telah disediakan berbagai cara untuk berkomunikasi dengan MySQL Server, ada ADO/dbGo – dengan perantaraan MyODBC driver, ada juga BDE dengan memanfaatkan ODBC, ada pula dbExpress yang melakukan koneksi langsung ke Server dengan perantaraan library MySQL. Sampai nanti, yang akan kita bahas adalah dbExpress ini, sebab dbExpress adalah teknologi koneksi database asli dari Borland, dan sudah mendukung MySQL sejak Delphi 6. Meskipun demikian tidak tertutup kemungkinan bagi Anda untuk menggunakan komponen koneksi pihak ketiga dalam aplikasi Delphi Anda, seperti MyDac dan sebagainya. Jika Anda nantinya tertarik, www.torry.net menyediakan beragam library antarmuka Delphi – MySQL untuk Anda download.

OK, kini kita buat sebuah aplikasi baru di Delphi. Harap diingat, meski Delphi 6 sudah mendukung MySQL, namun yang saya gunakan dalam menulis posting ini adalah Delphi 2006. Kita lanjutkan dengan langkah-langkah berikut:

· Tambahkan sebuah TSQLConnection dari palette dbExpress ke form
­
jokorb_wordpress_post_mysql_delphi_1.gif
Atur property LoginPrompt menjadi False, lewat Object Inspector

· Klik kanan pada SQLConnection1 pada form dan pilih Edit Connection Properties
Sebuah dialog Connection Editor akan ditampilkan
jokorb_wordpress_post_mysql_delphi_2.gif

· Kita buat koneksi dengan mengklik tombol Add Conection
jokorb_wordpress_post_mysql_delphi_3.gif
Koneksi ini bertipe MySQL dan kita beri nama DBMyData
jokorb_wordpress_post_mysql_delphi_4.gif
Klik OK.
Kini kita atur property koneksi DBMyData ini seperti terlihat pada gambar berikut
jokorb_wordpress_post_mysql_delphi_5.gif

· Anda bias mencoba koneksi ini dengan mengklik tanda centang di bagian atas dialog. Jika pesan yang muncul menunjukkan koneksi sukses, selamat, Anda siap berksperimen dengan Delphi & MySQL!

· Klik OK untuk menutup dialog Connection Editor

· Kembali ke form, ubah properti SQLConnection1 menjadi True, sehingga koneksi ke MySQL menjadi aktif.

· Tambahkan sebuah TSQLTable dari palette dbExpress, sebuah TDataSource, TDataSetProvider dan TClientDataSet dari palette Data Access ke form
Atur properti SQLConnection milik SQLTable1 menjadi SQLConnection1 dan properti TableName menjadi “teman”, seperti yang telah kita buat pada langkah di atas.
jokorb_wordpress_post_mysql_delphi_6.gif

· Sekarang ubah properti Dataset dari DataSetProvider1 menjadi SQLTable1.
Ubah juga properti ProviderName dari ClientDataSet1 menjadi DataSetProvider1.
Terakhir, ubah properti DataSet dari DataSource1 menjadi ClientDataset1.

Dari langkah-langkah ini, kita bias melihat alur data dari server MySQL hingga ke GUI aplikasi kita dan juga sebaliknya, pada diagram berikut:
jokorb_wordpress_post_mysql_delphi_ilustrationdiagram.gif

Sebenarnya, akses data dalam table MySQL dapat langsung dilakukan antara DataSource1 dan SQLTable1, tapi karena SQLTable adalah dataset unidirectional (satu arah), penggunaan data control yang multidirectional menjadi tidak berfungsi dengan baik. Contoh, DBGrid, DBNavigator.
Pergerakan kursor penunjuk record pun hanya dapat bergerak dengan arah Next() dan First. Last() dan Next() tidak didukung.
Dataset unidirectional sangat menguntungkan saat koneksi ke SQL Server (pada umunya) mengembalikan sejumlah besar data, karena menghemat memori dan trafik network.
Delphi menyediakan cara mengatasi hal ini dengan menambahkan DataSetProvider dan ClientDataset di antara kedua komponen database di atas. Dataset provider berfungsi mengontrol data dari SQLTable, dan menyimpannya sementara secara lokal, dan kemudian direpresentasikan kembali dalam bentuk dataset oleh ClientDataset.

· OK. Kini kita tambahkan sebuah DBGrid [palette Data Controls] dan beberapa buah Button hingga tampilan form menjadi seperti ini:
jokorb_wordpress_post_mysql_delphi_7.gif

· Sekarang kodenya. Klik ganda Button1, yang memiliki caption “Pertama”. Ketikkan kode untuk navigasi ke data pertama

procedure TForm1.Button1Click(Sender: TObject);
begin
&lt;span&gt;   &lt;/span&gt;ClientDataset1.First;
end;

Untuk Button Sebelumnya

procedure TForm1.Button2Click(Sender: TObject);
begin
if not ClientDataset1.Bof then
ClientDataset1.Prior
end;

Untuk Button Setelahnya

procedure TForm1.Button3Click(Sender: TObject);
begin
if not ClientDataset1.Eof do then
ClientDataset1.Next;
end;

Untuk Button Terakhir

procedure TForm1.Button4Click(Sender: TObject);
begin
ClientDataSet1.Last;
end;

Untuk Button Refresh

procedure TForm1.Button5Click(Sender: TObject);
begin
if ClientDataset1.ChangeCount&gt;0 then
ClientDataset1.ApplyUpdates(-1);
end;

Untuk Button-Button lainnya dapat Anda lihat kodenya langsung pada demo program yang tersedia untuk Anda download di akhir tulisan ini.

· OK. Sekarang menampilkan data dari ClientDataset ke DBGrid. Seperti biasa, Anda cukup mengatur properti DataSource dari DBGrid1 menjadi DataSource1. Kini atur properti Active pada ClientDataset1 dan SQLTable1 menjadi True. Ubah juga properti Connection dari SQLConnection1 menjadi True.

· Jalankan program Anda.
jokorb_wordpress_post_mysql_delphi_8.gif


KODE SELENGKAPNYA

Berikut kode lengkap aplikasi yang baru kita buat di atas.

unit umain;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBXpress, FMTBcd, StdCtrls, Grids, DBGrids, DB, Provider,
  DBClient, SqlExpr;
type
  TForm1 = class(TForm)
    SQLConnection1: TSQLConnection;
    SQLTable1: TSQLTable;
    ClientDataSet1: TClientDataSet;
    DataSetProvider1: TDataSetProvider;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientDataset1.First;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  if not ClientDataset1.Bof then
    ClientDataset1.Prior
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
  if not ClientDataset1.Eof then
    ClientDataset1.Next;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
  ClientDataSet1.Last;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
  if ClientDataset1.ChangeCount&gt;0 then
    ClientDataset1.ApplyUpdates(-1);
  ClientDataset1.Refresh;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
  ClientDataset1.Delete;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
  ClientDataset1.Append;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
  ClientDataset1.Edit;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
  ClientDataset1.Cancel;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
  if ClientDataset1.ChangeCount&gt;0 then
    ClientDataset1.ApplyUpdates(-1);
end;
end.

DOWNLOAD
Dan Berikut, Anda bias mendownload MySQL Server, library LIBMYSQL.DLL yang saya gunakan dalam tulisan ini, dan demo program yang kita buat di atas.

MySQL Server – 3.79MB – sudah dimodifikasi biar ramping
Library LibMySQL.dll letakkan ke directory System32
Contoh Aplikasi

Catatan, file-file download harus diubah ekstensinya ke .zip , sebaiknya scan dengan antivirus dulu sebelum diekstrak.

google keyword: mysql, delphi, koneksi, dbexpress, clientdataset

Incoming search terms: