Matematis Jam pada Delphi (DateTime Delphi)

Pengetahuan Komputer Terapan
Menghitung Jumlah Jam Lembur? Saya ingin menghitung lama jam kerja lembur bagi pegawai Hari.1 Pengawai A – Jam Mulai  : 18.00 – Jam Selesai: 21.30 – Lama Lembur: 3.30 (3 Jam, 30 menit) Hari.2 – Jam Mulai  : 18.00 – Jam Selesai: 21.30 – Lama Lembur: 3.30 (3 Jam, 30 menit) Hari.3 – Jam Mulai  : 18.00 – Jam Selesai: 21.30 – Lama Lembur: 3.30 (3 Jam, 30 menit) Pegawai A melakukan lembur selama 3 hari berturur-turut, totalnya jadi: 10.30 (10 Kam, 30 Menit). Bagaimana cara melakukan perhitungan Jam dengan pola seperti ini? Yang pertama anda perhatikan, adalah menyiapkan rutin pembulatannya menitnya dulu, biasanya sih lembur ndak perlu dihitung sampe per-detiknya. Kemudian tinggal buat saja tabel khusus menampung ini, sederhananya: CREATE TABLE Attendance( empid            INTEGER NOT NULL, workdate         DATE NOT NULL, timein           TIMESTAMP, timeout          TIMESTAMP, ottime           TIMESTAMP, otvalue          NUMERIC(18,3), …. primary key(empid, workdate) ); nah untuk jumlahnya sih ya tinggal menggunakan penjumlahin biasa aja nantinya, mau pake SUM juga bisa, atau SUM melalui report juga ya ndak ada masalah serius dengan itu. sementara untuk operasional di sisi delphinya tinggal pake TDateTime biasa aja. Kemudian untuk mengkonversi lembur yang dalam tipe TDateTime (TIMESTAMP), misalnya dari 10:30 jam itu menjadi 10,5 tinggal menggunakan rutin ini: { konversi dari TimeStamp ke value (bilangan real) } function TimeIntervalValue(const ATimeInterval: TDateTime): TDateTime; var Interval: TDateTime; begin Interval := HoursPerDay * ATimeInterval; Result   := (Trunc(Interval) + (Round(Frac(Interval) * 100)/100)); end; { konversi dari value (bilangan real), ke timestamp } function ValueIntervalTime(const AIntervalValue: TDateTime): TDateTime; begin Result   := AIntervalValue / HoursPerDay; end; Untuk menambah kemudahan operasional, mungkin bisa membuat fungsi-fungsi baru untuk menghandle total waktu yang > 24 jam dari contoh fungsi-fungsi default yang ada. fungsi-fungsi itu misalnya: – EncodeTime – DecodeTime – TimeToString – FormatTime Kira-kira begitu deh. Good luck. :) — Salam, -Jaimy Azle http://www.opensubscriber.com/message/delphindo@yahoogroups.com/931917.html

Share this

Leave a Reply

Your email address will not be published.