Pages

Subscribe:

Ads 468x60px

Selasa, 16 Agustus 2011

APLIKASI STOPWATCH DENGAN DELPHI


Selamat pagi Kawan……
Saya punya contoh aplikasi dengan mengguanakan 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.

0 komentar:

Posting Komentar