Kamis, 11 April 2013

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);