Pageviews

Senin, 17 November 2008

Start – End – Delphi 7

Judul artikel saya memang kadang membingungkan, karena saya juga memang kebingungan mau kasih judul apa, hehe.. (kayak pantun aja).

Ok, posting kali ini adalah tentang pemrograman Delphi.

Saya tidak menguasai Delphi, namun karena kebetulan pada saat ini saya sedang mengerjakan tugas akhir skripsi dengan menggunakan aplikasi Borland Delphi 7, maka saya ingin berbagi pengetahuan yang saya dapat saat menggunakan aplikasi ini.

Berikut adalah gambaran program sederhana yang akan kita buat :

Jika seseorang membuat jadwal pertemuan tentunya tanggal dimulainya suatu pertemuan tidak mungkin lebih lama/lambat dari tanggal berakhirnya pertemuan tersebut (tidak mungkin mulai tgl 18 Mei 2008 dan berakhir 17 Mei 2008), begitu pula dengan waktu dimulainya pertemuan tidak mungkin lebih lama dibanding waktu berakhirnya pertemuan bila pertemuan tersebut dilakukan pada hari yang sama, namun lain halnya bila pertemuan dilakukan lebih dari satu malam, maka waktu berakhirnya pertemuan bisa pada jam berapa saja, tidak berpatokan pada jam mulai pertemuan. (bisa saja pertemuan dimulai pada hari Senin pukul 22.30 dan berakhir pada hari Selasa pukul 08.00). Program sederhana yang akan kita buat kali ini adalah berdasarkan logika tanggal dan waktu pertemuan tersebut. Tanggal mulai tidak boleh lebih dari tanggal selesai, begitu pula dengan waktu mulai tidak boleh lebih dari waktu selesai bila pada hari (tanggal) yang sama.

Ok sekian gambaran singkatnya, dan langsung saja, ini adalah langkah-langkah pembuatannya :

Buat sebuah form baru di Delphi dengan meng-klik menu File > New > Form (jika Anda tidak sedang menjalankan aplikasi Borland Delphi 7, maka langkah ini tidak perlu dilakukan, Anda tinggal menjalankan Borland Delphi 7 saja maka akan terbentuk sebuah form).

Ambil komponen Label sebanyak 4 buah dari palette Standard, letakkan pada form.

Ambil komponen DateTimePicker sebanyak 4 buah dari palette Win32, letakkan pada form. Maka sekarang terdapat Label1, Label2, Label3, Label4, DateTimePicker1, DateTimePicker2, DateTimePicker3 dan DateTimePicker4 pada Form1.

Pasangkan sesuai urutan, Label1 dan DateTimePicker1, Label2 dan DateTimePicker2, dan seterusnya seperti gambar berikut.




Ubah properties Caption tiap Label di jendela Object Inspector menjadi :
Label1 : Start Date

Label2 : End Date

Label3 : Start Time

Label4 : End Time

Ubah beberapa properties DateTimePicker3 dan DateTimePicker4 sebagai berikut :
Kind : dtkTime

Format : HH:mm








Note :
HH:mm, cth : 22:30

HH : format 24 jam, tampilan dari pukul 01:00, 02:00, 03:00 s.d 23.00, 00:00.

Jika HH diganti menjadi huruf kecil (hh) maka tampilan menjadi format 12 jam.

mm : format menit.

-Klik pada DateTimePicker1 kemudian pada jendela Object Inspector tab Events double click event OnCloseUp, ketik coding berikut :
if (DateTimePicker1.Date > DateTimePicker2.Date) then

begin

MessageDlg('End date must be longer than start date',mtWarning,[mbOK],0);

DateTimePicker1.Date := DateTimePicker2.Date;

end;

-Klik pada DateTimePicker2 kemudian pada jendela Object Inspector tab Events double click event OnCloseUp, ketik coding berikut :
if (DateTimePicker2.Date < DateTimePicker1.Date) then
begin

MessageDlg('End date must be longer than start date',mtWarning,[mbOK],0);

DateTimePicker2.Date := DateTimePicker1.Date;

end;

-Klik pada DateTimePicker3 kemudian pada jendela Object Inspector tab Events double click event OnChange, ketik coding berikut :
var a:variant;

begin

a:=DateTimePicker2.Date-DateTimePicker1.Date;

if (DateTimePicker3.Time > DateTimePicker4.Time) then

begin

if strtoint(inttostr(a)) = 0 then
begin
MessageDlg('End time must be longer than start time',mtWarning,[mbOK],0);

DateTimePicker3.Time := DateTimePicker4.Time;

end;

end;

end;

-Klik pada DateTimePicker4 kemudian pada jendela Object Inspector tab Events double click event OnChange, ketik coding berikut :
var a:variant;

begin

a:=DateTimePicker2.Date-DateTimePicker1.Date;

if (DateTimePicker4.Time < DateTimePicker3.Time) then
begin

if strtoint(inttostr(a)) = 0 then

begin

MessageDlg('End time must be longer than start time',mtWarning,[mbOK],0);

DateTimePicker4.Time := DateTimePicker3.Time;

end;

end;

end;

-Klik pada Form kemudian pada jendela Object Inspector tab Events double click event OnActivate, ketik coding berikut :
DateTimePicker1.Date := Now;

DateTimePicker2.Date := Now;

DateTimePicker3.Time := Now;

DateTimePicker4.Time := Now;

Note :
Dalam pengetikan coding jangan sampai ada tanda baca atau huruf yang tertinggal karena dapat mempengaruhi program (dapat terjadi error).

Ok, selesai...
Jika ada yang kurang dimengerti berkaitan dengan coding yang telah saya tuliskan diatas, silahkan kirimkan pertanyaan ke e-mail saya : will_ya_050015@yahoo.co.id

Selamat mencoba..!