Hallo zusammen
TTime kann ja soweit es mir ist nicht Zeiten über 24h richtig berechnen.
Ich stehe nun vor dem Problem das ich die Soll-Arbeitsstunden von 1nem Monat berechnen sollte.
Im Februar 2010 sind es z.B. hier 21 Arbeitstage 1 Arbeitstag dauert 8:48 h und der Arbeiter arbeitet 100%.
Formel im Excel währe nun (Auf einem Formatierten Feld "[h]:mm:ss")
((Stunden am Tag/100)*(Arbeitspensum))*(Arbeitstage im Monat)
((08:48/100)*(100))*(21) = 184:48:00 hhh:mm:ss
FPC syntax
ShowMessage(TimeToStr(((TTime('08:48:00')/100)*100)*21));
Das Problem ist ja nun das man das nicht mit TTime berechnen kann da TTime mir da 00:00 zurück gibt.
Hat das jemand hier schon einmal gemacht?
danke schon im voraus für antworten!!!
zeit berechnen grösser als 24h
zeit berechnen grösser als 24h
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable
-
- Beiträge: 80
- Registriert: Sa 11. Apr 2009, 17:01
- OS, Lazarus, FPC: Windoof (L 0.9.26 FPC 2.2.2)
- CPU-Target: 32Bit
Re: zeit berechnen grösser als 24h
Vielleicht mit TDateTime?
Das müsste dir dann tage zurückgeben due du nur mal 24 und zu den stunden hhinzuaddieren musst (Alle Angaben ohne Gewähr)
Das müsste dir dann tage zurückgeben due du nur mal 24 und zu den stunden hhinzuaddieren musst (Alle Angaben ohne Gewähr)
Dankt monta !!
Re: zeit berechnen grösser als 24h
Nö das wird wohl nicht gehen da ich kein anfangs und enddatum habe sondern nur effektiv stunden ausrechnen möchte...
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: zeit berechnen grösser als 24h
Verwechselst du nicht TDateTime mit TTime aus baseunix? Zudem kann ein string nicht in ein TTime gecasted werden.slai hat geschrieben: FPC syntax
ShowMessage(TimeToStr(((TTime('08:48:00')/100)*100)*21));
Also etwa so:
Code: Alles auswählen
ShowMessage(floattostr((((strtotime('08:48:00')/100)*100)*21)*24));
Code: Alles auswählen
const
h = 1/24;
min = h/60;
sec = min/60;
begin
ShowMessage(floattostr((8*h+48*min)*(100/100)*21*24));
end;
Re: zeit berechnen grösser als 24h
dank dir mse!
hatte da wohl einen der bekannten gehirnblockaden
hatte da wohl einen der bekannten gehirnblockaden

Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable