Rabu, 07 Januari 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;

Selasa, 06 Januari 2015

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