(24-12-2020, Saat: 11:20)erdogan Adlı Kullanıcıdan Alıntı: Merhaba,
Bir alanım var CalismaSaati adında buraya girilen değerlerini toplamını almak istiyorum,
Örneğin:
15:50:10
20:15:10
Toplam : 36:05:20
Şeklinde nasıl yapabilirim aşağıdaki kod ile saati toplayabiliyorum fakat dakikayı 65 yazıyor.
Teşekkürler.
var Bookmark: TBookmark; ToplamCalisma: TTime; Saat, Dakika, Saniye, MiliSaniye: Word; TSaat, TDakika, TSaniye, TMiliSaniye: Double; begin TSaat := 0; TDakika := 0; TSaniye := 0; TMiliSaniye := 0; LabelCalismaSaati.Caption := ''; DM.SoforFisKayitDB.Open; Bookmark := DM.SoforFisKayitDB.GetBookmark; DM.SoforFisKayitDB.DisableControls; try DM.SoforFisKayitDB.First; while not DM.SoforFisKayitDB.EOF do begin DecodeTime(DM.SoforFisKayitDB.FieldByName('CalismaSaati').AsDateTime, Saat, Dakika, Saniye, MiliSaniye); TSaat := TSaat + Saat; TDakika := TDakika + (Dakika / 60); TSaniye := TSaniye + (Saniye / 3600); TMiliSaniye := TMiliSaniye + MiliSaniye; DM.SoforFisKayitDB.Next; end; finally DM.SoforFisKayitDB.GotoBookmark(Bookmark); DM.SoforFisKayitDB.FreeBookmark(Bookmark); DM.SoforFisKayitDB.EnableControls; ShowMessage(FloatToStr(TSaat)); ShowMessage(FloatToStr(TDakika)); ShowMessage(FloatToStr(TSaniye)); { LabelCalismaSaati.Caption := 'Toplam Çalışma Saati : ' + DateTimeToStr(ToplamSaat) + ' Saat'; LabelToplamFis.Caption := ' Kayıt Sayısı : ' + IntToStr(DM.SoforFisKayitDB.RecordCount) + ' Adet';} end;
TSaat := Saat; TDakika := Dakika; TSaniye := Saniye; TMiliSaniye := MiliSaniye;

