Delphi for delphier

DateTime – Lama Komputer Online

Tingkatan Menengah
   
Kategori DateTime
   
Sub Kategori Umum
   
Judul Mengetahui Lama Komputer Online
   
Oleh
eko-indriyawan-png.png   Nama Eko Indriyawan
Domisili Surabaya – Darmo Satelit
Delphi Delphi 2007 for Win32
YM eko_elits
Email eko_elits@yahoo.com
Telp 031 – 605 384 36
   
Referensi http://delphi.about.com/od/delphitips2007/qt/windows_uptime.htm
   
Tujuan
Mengajarkan kepada Delphier tentang cara mendapatkan lama waktu komputer itu digunakan.
  spasi
Overview
Pembahasan pada artikel kali ini akan mempelajari DateTime dalam hal bagaimana mendapatkan lama waktu dari komputer itu diaktifkan ( Online ).
Diharapkan artikel ini bisa dijadikan salah satu media untuk efisiensi terhadap penggunaan komputer. Sebab dengan demikian semua komputer bisa dikontrol lama penggunaannya.
Artikel ini sangatlah kompleks, sebab didalamnya terdapat beberapa materi seperti menghilangkan efek kedipan dan materi tentang thread.
  spasi
  Struktur fungsi WindowsUpTime :
  spasi
 
function WindowsUpTime : string ;
function MSecToTime(mSec: Integer): string;
const
secondTicks = 1000;
minuteTicks = 1000 * 60;
hourTicks = 1000 * 60 * 60;
dayTicks = 1000 * 60 * 60 * 24;
var
D, H, M, S: string;
ZD, ZH, ZM, ZS: Integer;
begin
ZD := mSec div dayTicks;
Dec(mSec, ZD * dayTicks) ;
ZH := mSec div hourTicks;
Dec(mSec, ZH * hourTicks) ;
ZM := mSec div minuteTicks;
Dec(mSec, ZM * minuteTicks) ;
ZS := mSec div secondTicks;
D := IntToStr(ZD) ;
H := IntToStr(ZH) ;
M := IntToStr(ZM) ;
S := IntToStr(ZS) ;
Result := D + ‘.’ + H + ‘:’ + M + ‘:’ + S;
end;
begin
result := MSecToTime(GetTickCount) ;
end;
   
Petunjuk :
Silahkan anda ikuti langkah – langkah berikut ini dengan pelan – pelan agar bisa berjalan dengan lancar sesuai dengan petunjuk yang sudah diberikan.
  spasi
Langkah 1
   
Langkah 2
Tambahkan beberapa object kedalam Form
   
  Button1: TButton;
Bevel1: TBevel;
Panel1: TPanel;
Label1: TLabel;
  spasi
Langkah 3
Atur desainnya seperti berikut ditampilkan pada gambar form dibawah ini
   
 
datetimeumum0003.jpg
   
Langkah 4
Buat fungsi WindowsUpTime. Untuk lebih detailnya, silahkan lihat potongan kode program berikut.
   
 
function WindowsUpTime : string ;
function MSecToTime(mSec: Integer): string;
// deklarasi konstanta waktu
const
secondTicks = 1000;
minuteTicks = 1000 * 60;
hourTicks = 1000 * 60 * 60;
dayTicks = 1000 * 60 * 60 * 24;
var
D, H, M, S: string;
ZD, ZH, ZM, ZS: Integer;
begin
// Mendapatkan lama hari
ZD := mSec div dayTicks;
Dec(mSec, ZD * dayTicks) ;
// Mendapatkan lama Jam
ZH := mSec div hourTicks;
Dec(mSec, ZH * hourTicks) ;
// Mendapatkan lama Menit
ZM := mSec div minuteTicks;
Dec(mSec, ZM * minuteTicks) ;
// Mendapatkan lama detik
ZS := mSec div secondTicks;
// Konversi data waktu ke string
D := IntToStr(ZD) ;M := IntToStr(ZM) ;
S := IntToStr(ZS) ;
// Menyatukan data waktu ke format lama aktif
Result := D + ‘.’ + H + ‘:’ + M + ‘:’ + S;
end;
begin
// Mengembalikan nilai fungsi
result := MSecToTime(GetTickCount) ;
end;

   
Langkah 5
Silahkan anda deklarasikan Thread. Untuk lebih jelasnya silahkan lihat potongan kode program dibawah ini.
   
 
// mendeklarasikan thread
TCekWaktu = class(TThread)
private
protected
procedure Execute; override;
public
constructor CekWaktu;
end;
var
   
Langkah 6
Deklarasikan variabel Status untuk menghandle Thread sebelum destroy atau direlease.
   
 
var
Form1: TForm1;
// mendeklarasikan status
status : Boolean;
   
Langkah 7
Lanjutkan dengan menuliskan kode program pada procedure execute dari thread yang telah anda Deklarasikan. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.
   
 
procedure TCekWaktu.Execute;
begin
while status = False do
begin
// memberikan informasi ke panel
Form1.Panel1.Caption := WindowsUpTime;
// tahan sebentar untuk menghindari looping yang berlebihan
Sleep(100);
end;
end;
   
Langkah 8
Silahkan anda lanjutkan dengan menuliskan kode program didalam constructor. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.
   
 
constructor TCekWaktu.CekWaktu;
begin
// membuat thread
Inherited create(False);
end;
   
Langkah 9
Selanjutnya, silahkan anda isikan kode program didalam event OnCloseQuery pada object Form1. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.
   
 
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
// menutup aplikasi sekaligus memberikan indikasi untuk menghapus thread
CanClose := true;
status := CanClose;
end;
   
Langkah 10
Silahkan anda klik 2x pada Form1. Setelah itu anda lanjutkan dengan menuliskan kode program didalam event OnCreateseperti terlihat pada potongan kode program dibawah ini.
   
 
procedure TForm1.FormCreate(Sender: TObject);
begin
// menghilangkan efek kedipan
Form1 .DoubleBuffered := True;
Panel1 .DoubleBuffered := True;
// inisialisasi status looping untuk thread
status := False;
// Membuat object thread
TCekWaktu.CekWaktu;
end;
   
Langkah 11
Silahkan anda compile. Tekan tombol Ctrl + F9. Tunggu beberapa saat… ( Sedang di cek kode programnya ).
   
Langkah 12
Apabila tidak muncul pesan error, berarti program yang anda buat telah berhasil dan silahkan anda tekan tombol F9 untuk menjalankan program aplikasinya.
  spasi
 
datetimeumum0004.jpg
   
Langkah 13
Program sudah selesai anda buat. Sekarang silahkan anda tekan tombol Keluar.
  spasi
  spasi
Download
Silahkan anda download link diatas untuk mendapatkan contoh program aplikasi secara lengkap.
Ada beberapa masukan dan keluhan dari teman – teman, bahwa ada beberapa program contoh tidak bisa dijalankan dari delphi 7. Hal ini dikarenakan program contoh dibuat dengan menggunakan Delphi 2007 for win32.
Apabila anda menggunakan D7, sebaiknya anda mengikuti pandauan dari langkah – langkah yang sudah diberikan.
Atas perhatiannya, saya mengucapkan banyak terimakasih.
  spasi
Link terkait  
   
Buku panduan
Dasar First Step To Be A Programmer
Menengah Pemrograman Database dengan Delphi dan MS SQL Server
Menengah Membangun database MLM

2 Komentar

  1. Sipppp!!! =D>

    Komentar oleh Fahmi — Februari 1, 2008 @ 9:25 am

  2. @fahmi

    silahkan dicoba mas… semoga berhasil

    Komentar oleh ekoindri — Maret 1, 2008 @ 8:55 am


RSS feed for comments on this post.

Blog di WordPress.com.

%d blogger menyukai ini: