Wednesday, January 7, 2015

Menghitung Selisih Waktu di Delphi

Dalam membangun aplikasi, tidak jarang kita akan dihadapkan pada operasi matematis. Bahkan bisa dikatakan hal itu adalah sebuah hal yang wajib ada. Saya kira tidak perlu untuk menyebutkan contohnya karena saya yakin sobat delphi sudah mengalaminya. Entah itu berkaitan dengan tugas atau dalam mengembangkan aplikasi untuk dipasarkan.

Terlepas dari hal tersebut diatas, dalam membuat aplikasi, tidak jarang pula kita dihadapkan pada persoalan perhitungan waktu atau tanggal. seperti menghitung selisih waktu, membuat sebuah proses yang akan dijalankan setiap waktu yang telah ditentukan dan berbagai macam persoalan lainnya. Pada postingan ini saya ingin berbagi sedikit trik tentang cara menghitung selisih waktu di delphi seperti contoh gambar berikut.

Menghitung Selisih Waktu di Delphi

Pada contoh diatas saya menggunakan dua buah jam yang akan diproses yaitu jam pertama dan jam kedua dimana masing-masing jam diambil dari inputan edit dan hasilnya akan ditampilkan pada komponen label. Untuk melakukan pemrosesan pada contoh diatas kita memerlukan library uses DateUtils. Adapun contoh source codenya dapat anda lihat dibawah ini. 
// Pendefinisian Variabel
var
  Form1: TForm1;
  StartTime, EndTime, TimeDiff : TDateTime;
  sec, jam, menit, detik : word;
  h, m, s : word;
  inc : word;
  Selisih : String;
  Itime : TTime;

// Kode Untuk Button
procedure TForm1.Button4Click(Sender: TObject);
begin
StartTime := StrToTime(Edit1.Text);
EndTime := StrToTime(Edit2.Text);
Selisih := TimeToStr(EndTime-StartTime);
StartTime := StrToTime(Selisih);
  //
h := HourOf(StartTime);
m := MinuteOf(StartTime);
s := SecondOf(StartTime);
inc := (h*sqr(60)+(m*60)+s);
//
Itime := Now();
Itime := IncSecond(Itime,inc);
//
sec := SecondsBetween(Now(),Itime);
jam := sec div 3600;
menit := (sec mod 3600) div 60;
detik := (sec mod 3600) mod 60;
//
Label3.Caption:='Selisih Waktu = '+IntToStr(jam)+' Jam '+IntToStr(menit)+' Menit '+IntToStr(detik)+' Detik';

end;

Script Generate Tanggal di Delphi

Postingan kali ini adalah tentang Generate tanggal. mungkin sobat delphi masih bertanya-tanya tentang apa itu generate tanggal. sebenarnya nama generate tanggal ini saya beri nama sendiri karena saya kira nama itulah yang cocok. hehe. lalu apa itu generate tanggal? jadi gambarannya begini, suatu misal kita punya tanggal awal 01-01-2015 dan tanggal akhir yaitu 08-09-2015. pertanyaannya, bagaimana cara membuat tanggal dari tanggal awal sampai tanggal akhir secara otomatis? itulah yang saya maksud dengan generate tanggal. singkat kata, sebuah operasi yang akan membuat tanggal secara otomatis dari tanggal awal sampai tanggal akhir.

Generate Tanggal di Delphi

pada contoh disini saya memanfaatkan dua buah komponen date time picker. dimana tanggal awal dan tanggal akhir saya ambil dari date time picker tersebut. 1 Buah button untuk melakukan pemrosesan dan 1 buah memo untuk menampilkan hasil akhir atau outputnya. adapun listing code untuk melakukan generate tanggal ini sebagai berikut. jangan lupa menambahkan DateUtils di Uses anda.
procedure TForm1.Button1Click(Sender: TObject);
var
diff : Double;
i,j : integer;
begin
Memo1.Lines.Clear;
diff := DateTimePicker2.Date - DateTimePicker1.Date;
if diff < 0 then
   abort else
   begin
   if diff = 0 then
   Memo1.Lines.Add(DateToStr(DateTimePicker1.Date))
      else
          begin
          j := 1;
          Memo1.Lines.Add(DateToStr(DateTimePicker1.Date));
          for i := 1 to StrToInt(FloatToStr(Int(diff))) do
          begin
          Memo1.Lines.Add(DateToStr(IncDay(DateTimePicker1.Date, j)));
          j:=j+1;
          end;
   end;   end;
end;


Cara Membuat Passwordchar Bulet di Delphi

Secara default, passwordchar pada komponen edit delphi adalah #0. Pada beberapa kasus seperti dalam form login dimana terdapat inputan username dan password, umumnya pada inputan password, karakter yang digunakan tidak terlihat. ambil saja contoh pada inputan password login facebook. di delphi Hal tersebut dapat kita lakukan dengan mengganti property passwordchar pada komponen edit. biasanya yang banyak digunakan adalah bintang. cara menggantinya cukup mudah, klik 1 kali pada komponen edit -> masuk ke objek inspector -> isi passwordchar dengan *. Hasilnya dapat dilihat seperti gambar di bawah ini.

Cara Membuat Passwordchar Bulet di Delphi

Lalu, bagaimana membuat agar passwordchar tersebut berbentuk bulet lingkaran dengan warna hitam seperti input password di form login facebook atau halaman website? caranya sangat mudah. anda hanya perlu mengganti passwordchar pada komponen edit dengan huruf l (huruf setelah k). langkah selanjutnya ganti font milik komponen edit tersebut dengan Wingdings. Hasil yang saya peroleh seperti gambar dibawah ini. 

Cara Membuat Passwordchar Bulet di Delphi

Tuesday, December 16, 2014

Menjalankan Source Code VB di Delphi

VB atau yang juga dikenal dengan nama visual basic memang sangat jauh berbeda dengan delphi. secara penulisan code, delphi mengadopsi penulisan code bahasa pemrograman pascal sehingga delphi juga kerap disebut objek pascal karena setiap komponennya merupakan sebuah objek,
adapun VB atau visual basic lebih mirip bahasa C. Visual Basic merupakan bahasa pemrograman yang dikembangkan oleh orang-orang Microsoft sedangkan delphi saat ini dikembangkan oleh Embarcadero.

Menguasai beberapa bahasa pemrograman sekaligus memang tidaklah mudah karena untuk benar-benar menguasai satu bahasa pemrograman saja susahnya minta ampun. Terkadang dalam membuat sebuah aplikasi dengan delphi saya sering memperoleh source code contoh yang menggunakan Visual Basic. Jujur saja saya sedikit kesulitan untuk menterjemahnya menjadi bahasa objek pascal.

Berawal dari hal itu saya tertarik untuk memposting artikel yang akan membahas bagaimana menjalankan source code visual basic melalui delphi. kita membutuhkan sebuah komponen tambahan untuk melakukannya. secara default delphi tidak menyediakannya oleh karena silahkan download disini.

Sampai disini saya anggap anda sudah menginstall komponen yang diperlukan. Jika anda sukses melakukan instalasi, akan ada komponen tambahan di pallete terakhir. Silahkan tambahkan komponen tersebut kedalam form anda. tambahkan juga beberapa komponen sebagai berikut

- Memo 1 Buah, digunakan untuk mengetikan Source code Visual Basic
- Button 1 Buah, digunakan untuk mengeksekusi coding VB yang diketik melalui memo.

Pada Contoh disini saya membuat sebuah procedure untuk menjalankan source code VB sebagai berikut. Anda dapat mendownload contoh source code projeknya disini.
procedure TForm1.vb_script(coding : string);
var
  CodeIsParsed : boolean;
  strProcName : string;
begin
    try
      SMScriptExecutor1.AddCode(coding);
      SMScriptExecutor1.Prepare;
      SMScriptExecutor1.ParseModules;
      CodeIsParsed := True;
      // Proses Script
      strProcName := 'main';
      SMScriptExecutor1.Run(strProcName,0);
  except
  end;
end;

Menampilkan Gambar di Laporan Delphi

Dalam Mengembangkan ataupun membangun sebuah aplikasi berbasis database, penggunaan laporan atau bahasa kerennya report tentu akan sangat diperlukan. biasanya fasilitas-fasilitas pencetakan laporan yang ada dalam sebuah aplikasi akan berkaitan dengan data-data yang telah tersimpan di database. sebut saja laporan transaksi penjualan dari aplikasi penjualan akan menampilkan data penjualan yang telah tersimpan di database.

Adakalanya dalam sebuah laporan kita menampilkan data-data dari database dalam bentuk gambar. misalkan data pegawai atau data-data lainnya. Berangkat dari permasalahan ini saya tertarik untuk membahas tentang bagaimana menampilkan gambar dari database pada laporan Quick Report. Jadi asumsinya, kita akan menyimpan data gambar pada database kemudian menampilkannya ke laporan di Quick Report.

Menampilkan Gambar di Laporan Delphi

Sampai disini saya anggap anda sudah memahami bagaimana menyimpan gambar ke database serta membuat laporan dengan quick report. langkah selanjutnya sebenarnya sama saja dengan teknik menampilkan gambar dari database. perhatikan contoh berikut ini.

Menampilkan Gambar di Laporan Delphi

pada gambar diatas saya menggunakan komponen QRImage dari pallete Quick Report kemudian untuk memberikan value atau nilai pada gambar tersebut saya menggunakan coding. silahkan download source code programnya disini. Selamat mencoba silahkan kembangkan sendiri.

Monday, November 17, 2014

Komponen Delphi Untuk Berkomunikasi dengan Modem USB

Pusing juga buat postingan tentang tutorial. Oleh karenanya kali ini saya akan sharing komponen delphi yang dapat digunakan untuk berkomunikasi dengan modem USB. nama komponennya adalah ZylGSM. component ini bersifat free jadi kita dapat menggunakannya ataupun menyebarluarkannya secara bebas.

Sebagai gambaran, seperti yang telah saya katakan komponen ini dapat digunakan untuk berkomunikasi dengan modem USB, singkatnya anda dapat membuat aplikasi SMS Gateway dengan komponen ini. Jadi selain gammu anda dapat memanfaatkannya untuk kebutuhan membangun aplikasi SMS Gateway. komponen ini memiliki beberapa event seperti berikut

OnConnect = Event yang digunakan ketikan modem konek ke komputer. 
OnDetect = Event yang digunakan untuk mendeteksi perangkat modem.
OnDisconnect = Event ketika modem disconnect 
OnNewMessage = event ketika modem menerima SMS
OnReadMessage = event ketika SMS dibaca
OnSend = Event ketika SMS dikirim 

Komponen Delphi Untuk Berkomunikasi dengan Modem USB

Anda dapat meletakan coding anda pada event-event diata. Jika anda berminat untuk mencoba komponen ini silahkan Download disini. Mohon maaf karena saya belum sempat membuat projek untuk mencoba komponennya. anda dapat melihat contoh demo penggunaannya didalam folder master komponennya. selamat mencoba.

Contoh Penggunaan TWebBrowser Delphi

Kali ini saya ingin berbagi sedikit trik penggunaan komponen TWebBrowser di delphi. komponen ini dapat kita gunakan untuk keperluan menampilkan halaman website pada form delphi. intinya kita dapat membuat sebuah browser sederhana dengan komponen ini. Barangkali dari sobat delphi ada yang berminat membuat atau mengembangkan sebuah browser sendiri komponen web browser ini dapat dimanfaatkan.

disini saya membuat sebuah browser sederhana dengan memanfaatkan komponen web browser ini. sebuah aplikasi yang dapat menampilkan halaman website. membuka tab baru menampilkan status dan beberapa fitur yang masih belum lengkap. untuk tampilannya bisa dilihat seperti di bawah ini

Contoh Penggunaan TWebBrowser Delphi

Seperti yang saya katakan, saya memanfaatkan komponen page control untuk membuka tab baru pada jendela browser sederhana ini. tabsheet pada page control ini selanjutnya dibuat secara run time (saat aplikasi berjalan). berikut adalah tampilan new tab window aplikasi ini.

Contoh Penggunaan TWebBrowser Delphi

Jika anda berminat mengembangkan aplikasi ini atau untuk sekedar kebutuhan eksperimen uji coba anda dapat mendownload source code lengkapnya disini. selamat mencoba.

Friday, August 1, 2014

Bermain dengan Printer Menggunakan Delphi

Pada postingan terakhir ini saya ingin mengajak sobat untuk bermain-main dengan printer menggunakan delphi. ada beberapa trik yang akan saya sharing terkait dengan printer diataranya bagaimana menampilkan printer default yang digunakan oleh komputer kita, bagaimana menampilkan list printer apa saja yang ada dikomputer kita, menampilkan job printer serta bagaimana print gambar.

Baik Langsung saja, seperti yang telah saya jelaskan bahwa ini adalah postingan terkhir (mungkin) karena itu jika ada salah-salah kata pada postingan saya atau komentar yang tidak sempat saya balas tolong dimaafkan dan dimaklumi. oke kita kembali ke topik. jadi hasil akhir yang akan kita peroleh nantinya seperti gambar berikut

Bermain dengan Printer Menggunakan Delphi

Karena ada sesuatu dan lain hal jadi saya tidak akan membahas step-stepnya tapi akan langsung saya berikan source codenya. silahkan sobat download disini. selamat mencoba dan happy coding :)