Selasa, 25 November 2014

Cara Menghitung Selisih Tanggal di Delphi

Kali ini penulis akan berbagi bagaimana cara menghitung selisih tanggal di delphi. Di sini penulis akan coba paparkan beberapa cara, dari yang super simple sampai yang lumayan panjang source codenya, Tapi pada dasarnya semua sama saja tergantung kita mau memakai yg mana.

Langkah 1 :
Desainlah form seperti dibawah ini :

Langkah 2 :
Masukkan source code dibawah ini di dalam datetimepicker2 pada evants kemudian klik double pada event change. (Source Code 1)
procedure TForm1.DateTimePicker2Change(Sender: TObject);
begin
Edit1.Text:=FloattoStr(StrtoDate(DateToStr(DateTimePicker2.Date))-StrtoDate(DateToStr(DateTimePicker1.Date)));
end;

Langkah 3 :
Misalkan kita ingin menghitung suatu biaya dari selisih tanggal tersebut copy paste source code berikut di edit1.
procedure TForm1.Edit1Change(Sender: TObject);
var
harga:integer;
begin
harga:=1000;
Edit2.Text:=IntToStr(StrToInt(Edit1.Text)*harga);
end;

Langkah 4 :
Silahkan dijalankan dan hasilnya seperti ini.


Langkah 5 :
Di bawah ini penulis juga akan tunjukkan beberapa source code alternatif silahkan pilih yang mana yang mudah bagi pembaca.
procedure TForm_kembali.DateTimePicker4Change(Sender: TObject);

var a:Integer;
b:String; //membuat variabel bantu
begin
b:= IntToStr(trunc(DateTimePicker4.Date)-trunc(DateTimePicker3.Date)); //menghitung selisih hari
Edit7.Text:=IntToStr(strtoint(b)-0); //pengurangan dengan hari max peminjaman -1
if StrToInt(Edit7.Text) > 0 then //apakah selisih hari > dari 6 ???
begin //jika ya
Label15.caption:=’Lebih';
Label17.caption:=’hari';
a:=StrToInt(Edit7.Text)*500;
Edit5.Text:=FloatToStr(a);
end
else
begin //jika tidak
Label15.caption:=”;
Label17.caption:=’Tidak dikenakan Denda';
Edit5.Text:=’0′;
end;
end;

//selisih tanggal
Edit1.Text:= FloattoStr(StrtoDate(DateToStr(DateTimePicker2.Date))-StrtoDate(DateToStr(DateTimePicker1.Date)));

Langkah 6 :
Selamat mencoba :D



1 komentar:

  1. Mantapp Om, tp saya pingin tau gimana caranya supaya hitung selisih otomatis saat form tampil, niatnya saya mau gabungkan sama dbgrid, jadi pas data muncul otomatia menghitung...
    Terima kasih sebelumnya...

    BalasHapus

Copyright@2014. Bagus Cakepz. All Right Reserved. Powered by QMPC Tutorial