APLIKASI STOPWATCH DENGAN DELPHI
Sekarang kita akan coba membuat aplikasi Stopwatch menggunakan Pemrograman Delphi. Komponen – komponen yang diperlukannya antara lain :
· LCDNumber yaitu sebuah control untuk menampilkan informasi dalam bentuk digit.
· Timer menyatakan fungsi – fungsi timer system. Eksekusi timer terjadi pada event OnTimer. Komponen Timer mempunyai property interval untuk menyatakan interval dalam satuan mili detik akan terjadinya event OnTimer.
Cobalah kawan ikuti langkah – langkah dibawah ini :
1. Buat Aplikasi CLX dengan memilih menu File-new-CLX Aplication.
2. Tambahkan Komponen LCDNumber dari Page Additional.
3. Ubah Property Value=00:00.000. Ubah property SegmentStyle=ssFilled. Property SegmentStyle untuk menyatakan cara control menampilkan segmentnya.
4. Ubah property Digit dari komponen LCDNumber menjadi 9 untuk menyatakan banyaknya digit yang ditampilkan.
5. Tambahkan komponen Timer dari page Additional.
6. Ubah property Interval =1 ,artinya 1 mili detik.
7. Tambahkan tiga buah Button, masing – masing dengan Caption Mulai, Berhenti dan Reset.
Kemudian kita akan melakukan coding pada tiap – tiap Buttonnya :
1. Untuk menyatakan keadaan dari stopwatch ( berhenti atau berjalan ) kita memerlukan sebuah variable. Deklarasikan variable Running sebagai variable private di bagian interface.
2. Deklarasikan juga variable Awal dan Lama untuk menyatakan awal stopwatch dijalankan dan lamanya.
3. Event handler OnTimer dari komponen Timer dipakai untuk mengubah tampilan LCDNumber. Sebelumnya akan dihitung lamanya Stopwatch berjalan.
4. Ketiga button dipakai untuk mengubah status Running dan tombol Reset juga akan mengubah Value dari LCDNumber.
5. Event OnMouseUp akan terjadi pada saat user melepaskan tombol mouse yang ditekan. Kita akan memakai event ini pada komponen LCDNumber. Jika tombol kiri ditekan, akan mengubah BorderStyle ke tipe berikutnya. Jika sudah mencapai nilai tertinggi, akan diulang lagi dari tipe terendah. Tombol kanan diapakai untuk mengubah Segmentstyle.
Berikut Listing Lengkapnya kawan :
unit UaplikasiStopwatch;
interface
uses
SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
QDialogs, QStdCtrls, QExtCtrls;
type
TFaplikasiStopwatch = class(TForm)
LCDNumber1: TLCDNumber;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure LCDNumber1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
Running :boolean;
awal,lama:extended;
{ Private declarations }
public
{ Public declarations }
end;
var
FaplikasiStopwatch: TFaplikasiStopwatch;
implementation
{$R *.xfm}
procedure TFaplikasiStopwatch.Timer1Timer(Sender: TObject);
begin
lama :=now-awal;
if running then LCDNumber1.Value:=
FormatDateTime('nn:ss:zzz',lama);
end;
procedure TFaplikasiStopwatch.Button1Click(Sender: TObject);
begin
Running :=true;
end;
procedure TFaplikasiStopwatch.Button2Click(Sender: TObject);
begin
Running :=false;
end;
procedure TFaplikasiStopwatch.Button3Click(Sender: TObject);
begin
Running :=false;
Awal :=Now; LCDNumber1.Value:='00:00.000';
end;
procedure TFaplikasiStopwatch.LCDNumber1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var BordereStyle, SegmentStyle :integer;
begin
case button of
mbLeft:begin
BordereStyle:=ord(LCDNumber1.BorderStyle)+1;
if BordereStyle > ord(high(TBorderStyle)) then BordereStyle:=0;
LCDNumber1.BorderStyle:=TBorderStyle(BordereStyle);
end;
mbRight:begin
SegmentStyle:=ord(LCDNumber1.SegmentStyle)+1;
if SegmentStyle > ord(high(TLCDSegmentStyle)) then
SegmentStyle:=0;
LCDNumber1.SegmentStyle:=TLCDSegmentstyle(SegmentStyle);
end;
end;
end;
end.
Jalankan Aplikasinya, coba juga setiap tombolnya…..dan perhatikan perubahan yang akan terjadi jika anda mengklik tombol kanan atau kiri mouse pada komponen LCDNumber.
Label: About Delphi
1 Komentar:
Saya mau tanya dong,, running disitu sebagai apa ?
kalau semisal Timer1 disimpan di bagian form DataModule1 (Terpisah Form) Agar bisa berfungsi bagaimana?
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda