Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Uhrzeiten als Berechnungsgrundlage benutzen


sound4business - Fr 18.04.08 16:38
Titel: Uhrzeiten als Berechnungsgrundlage benutzen
Hallo aus Köln,

ich weiß nicht genau ob ich hier richtig bin, wenn nein, bitte ich mir das nachzusehen, weil ich mich hier in gänzlich unbekannten Gewässern bewege.

Ich bin User der orgaMAX-Software, die den ReportBuilder von Digital Metaphors als Vorlagen-Designer benutzt.
Obwohl ich mir meine Vorlagen damit bisher alle erstellen konnte, hänge ich jetzt an einer kniffligen Aufgabe:

Ich möchte aus einer Anfangs-und Endzeit eine Arbeitsdauer errechnen.

Dazu habe ich folgende Vorlage angefangen:

http://www.sound4business.de/forum/Test%20Uhrzeiten.pdf

http://www.sound4business.de/forum/Test%20Uhrzeiten.01.RTM

Wie man sehen kann lässt sich aus einer Start- und Endzeit (P_A_Individual_4 / P_A_Individual_5) die Arbeitsdauer errechnen (Variable2).
Das funktioniert mit der verwendeten Formel auch über die 24-Stunden-Grenze hinaus

Leider wird der Wert aber als Zeit angezeigt und nicht als Fließkommazahl (heißt das so ?).

Ich würde gerne aus dieser Zeit (im Beispiel 2:45 und 3:15) eine Zahl in dieser Form machen: 2,75 und 3,25.

Außerdem wäre natürlich das Endziel diese Zahl dann irgendwie als P_Amount zu verwenden oder zumindest also Multiplikator zur Summenberechnung.

Wenn jemand eine Idee hat, würde ich mich sehr über weitere Hinweise freuen.

Schönen Gruß

Christian Gebhardt


Der nette Nachbar - Fr 18.04.08 16:44

Schon mal von Prozentrechnung bzw. Dreisatz gehört?


Kroko - Fr 18.04.08 16:49

macht Delphi auch so


Delphi-Quelltext
1:
ZeitInStunden := 24*StrToTime('03:30:00');                    


sound4business - Fr 18.04.08 17:21

Hallo aus Köln,

danke, das hat mir schon mal sehr weitergeholfen.

Nun sieht das ganze so aus:

http://www.sound4business.de/forum/Test%20Uhrzeiten2.pdf

http://www.sound4business.de/forum/Test%20Uhrzeiten2.01.RTM

Nun muß ich es nur noch schaffen, daß P_Amount den Wert dieser Zeit erhält.

Lässt sich das überhaupt realisieren, daß der Wert der Variable das Datenbankfeld (P_Amount) verändert ?

Schönen Gruß

Christian Gebhardt


Der nette Nachbar - Fr 18.04.08 17:24

deine Zeit := P_Amount
und UPDATE


sound4business - Fr 18.04.08 17:43

Hhm, das funktioniert so leider nicht:


Delphi-Quelltext
1:
2:
3:
4:
5:
begin

Dauer := AVX['P_AMOUNT'];

end;


Beim kompilieren gibt es zwar keinen Fehler aber in der Vorlage ändert sich nichts.

Vom Hersteller meiner Software habe ich heute auch die Info bekommen, daß man diese Daten aus der Datenbank auch nicht durch Variablen im Reportdesigner ändern kann.

Leider tappe ich vollkommen im dunkeln..

Schönen Gruß

Christian Gebhardt



Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.


Klabautermann - Do 24.04.08 17:30

Hallo,

den Inhalte der Felder aus einem Report ändern zu können währe auch ziemlich ungewöhnlich. Wenn es dir nur darum geht, das der Richtige Preis auf der Rechnung steht, kannst du sicher das Ergebnis deiner Berechnung in eine Variable schreiben und diese Anzeigen. Wenn du aber den geänderten Wert in orgaMAX weiter verarbeiten willst (z.B. um deine Steuererklährungen zu machen) dann sehe ich nicht, wie das klappen soll :(.

Gruß
Klabautermann