Posted by : rynsuji.blogspot.com
Minggu, 23 November 2014
PROGRAM HITUNG MUNDUR
Program ini di buat menggunakan Delphi 7. Program ini
adalah tentang menghitung waktu mundur, bisa di bilang program ini seperti stopwatch, disini
saya akan menerapkannya pada pemrograman delphi. Sebenarnya program ini sangat
sederhana karena cara kerja dari program ini adalah kita hanya diminta untuk
memasukan inputan berapa waktu yang di inginkan untuk menghitung mundur. Ketika
kita klik button mulai maka akan waktu yang kita inputkan akan berjalan mundur
sampai waktu tersebut habis, ketika kita klik button stop maka waktu tersebut
akan berhenti dan ketika kita klik button keluar maka program akan keluar. Program
ini menggunakan label, button, date
timepicker, timer dan progressbar. Berikut source codenya :
unit uUtama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, ComCtrls, ExtCtrls, StdCtrls, ShellApi;
type
TForm1 = class(TForm)
DTWaktu: TDateTimePicker;
Label1: TLabel;
Button1: TButton;
ProgressBar1: TProgressBar;
Label2: TLabel;
Button2: TButton;
Label3: TLabel;
Timer1: TTimer;
Button3: TButton;
Timer2: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
INFO = WM_USER + 1;
var
Form1: TForm1;
a:string;
ITime : TTime;// Variabel
implementation
uses DateUtils;//Uses ini dulu
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
h,m,s : word;
sec,jam,menit,detik : word;
incs : word;
begin
ProgressBar1.Position := 0;
h := HourOf(DTWaktu.Time);
m := MinuteOf(DTWaktu.Time);
s := SecondOf(DTWaktu.Time);
incs := (h*Sqr(60)) + (m*60) + s;
ITime := Now();
ITime := IncSecond(ITime,incs);
sec := SecondsBetween(Now(),ITime);
jam := sec div 3600;
menit := (sec mod 3600) div 60;
detik:= (sec mod 3600) mod 60;
Label3.Caption := 'Sisa waktu : '+IntToStr(jam)+' jam '+IntToStr(menit)+' menit '+IntToStr(detik)+' detik';
ProgressBar1.Max := sec;
Button1.Enabled := false;
Button3.Enabled := true;
Timer1.Enabled := true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ProgressBar1.Position := 0;
DTWaktu.Time := EncodeTime(0,0,10,0);
Timer1.Enabled := false;
Timer1.Enabled := false;
Button1.Enabled := true;
Button3.Enabled := false;
Label3.Caption := '-||-';
end;
procedure TForm1.FormCreate(Sender: TObject);
var
hSysMenu: HMENU;
begin
hSysMenu := GetSystemMenu(Handle, false);
AppendMenu(hSysMenu, MF_SEPARATOR, 0, nil);
AppendMenu(hSysMenu, MF_STRING, INFO, PChar('&Tentang...'));
Timer1.Enabled := false;
Timer1.Interval := 500;
a:='Riyan Susilo Adji ';
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
sec,jam,menit,detik : word;
begin
if ProgressBar1.Position = ProgressBar1.Max then
begin
Timer1.Enabled := false;
Button1.Enabled := true;
Button3.Enabled := false;
end
else
begin
sec := SecondsBetween(Now(),ITime);
ProgressBar1.Position := ProgressBar1.Max - (sec -1);
jam := sec div 3600;
menit := (sec mod 3600) div 60;
detik:= (sec mod 3600) mod 60;
Label3.Caption := 'Sisa waktu : '+IntToStr(jam)+' jam '+IntToStr(menit)+' menit '+IntToStr(detik)+' detik';
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var
i: Integer;
begin
Application.Title := a;
Form1.Caption := a;
for i := 1 to (length(a) - 1) do
a[i] := Application.Title[i + 1];
a[Length(a)] := Application.Title[1];
end;
end.
Berikut tampilan outputnya :
Bagi yang ingin mendownload silahkan klik Di Sini!!!