Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Charly77 am 20.02.06 - 16:53:17
Titel: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Charly77 am 20.02.06 - 16:53:17
Moin,
ich verzweifle langsam .... :-:
Ich versuche z.B. 130 Minuten in das Format 02:10 Stunden umzuwandeln. Im Normalfall würde Notes 02:10 mit Kommawerten angeben(z.B. 2,08)
Das alles muss per LS innerhalb eines Agenten funktionieren. Ich probier das jetzt seit mehreren Tagen(in der wenigen Zeit die man ungestört arbeiten kann :-*) und verzweifle so langsam! Ich schaffe es einfach nicht die Kommazahlen richtig zu behandeln ....
130 Minuten / 60 = 2,166666666 ... damit hätt ich schon einmal die Zahl vor dem Komma, allerdings muss bei Zahlen unter 10 noch eine 0 davor.
die 0,16666666 müssen * 60 = 9,999999 = 10 Minuten <-- die Zahl nach dem Komma. bei 9 Minuten muss eine 0 davor.
Hat jemand eine Idee? Ich hab`s mit right() und left() usw. versucht, stolper aber ständig ... Ich weiss leider keine Methode die nach dem Trennzeichen "," im Script sucht ......
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Thomas Schulte am 20.02.06 - 17:06:56
Du musst mit Modulo und Fix arbeiten. Dann kriegst du das hin. Stunden = Fix(Zeitgesamt/60) Minuten = Zeitgesamt mod 60
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Glombi am 20.02.06 - 17:10:31
so ungefähr....
... dim /set doc...
Dim minutenInput As Integer Dim stunden As String Dim minuten As String
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: koehlerbv am 20.02.06 - 17:12:50
Beachten sollte man dann noch unbedingt, dass das Ergebnis nur noch für Anzeigen im FrontEnd zu gebrauchen ist. Mich verwundert daher etwas, dass das in einem Agent funktionieren soll. Sowas macht man doch eher on the fly ...
Bernhard
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Thomas Schulte am 20.02.06 - 17:37:11
Richtig Bernhard, aber der Vorschlag der Französischen Akademie damals 1793 zu Zeiten der Französischen Revolution (http://de.wikipedia.org/wiki/Dezimalzeit) die Zeitmessung auf dezimal Einheiten umzustellen führte leider nicht zum Erfolg und wurde 1795 wieder abgeschafft . Als Ergebniss müssen wir uns im Computerzeitalter immer noch mit diesem Thema rumschlagen und die Benutzer sind es halt so gewöhnt.
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: koehlerbv am 20.02.06 - 17:43:57
Da sind wir völlig unisono, Thomas. Im FrontEnd "2:30", im Backend 2,5 bzw. besser gleich 0,1041666666666. Daher ja meine Frage, welche Rolle dabei der Agent spielt, der ja am Backend dreht.
Bernhard
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: m3 am 20.02.06 - 17:49:47
Wie wärs mit Timenumber ( 0 , 130 , 0 ) ? ;) Liefert "02:10:00" zurück.
Code
Dim zeit As Variant
zeit = Timenumber ( 0 , 130 , 0 )
Messagebox "Das sind " & zeit ' Ausgabe: 02:10:00
Messagebox "Oder " & Hour(zeit) & " Stunden, " & Minute(zeit) & " Minuten"
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Thomas Schulte am 20.02.06 - 18:07:37
;D Meine Fresse, man lernt immer noch dazu.
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: m3 am 20.02.06 - 18:10:46
Ist aber ein "Hack". Laut doku nimmt er bei den Minuten nur Werte bis 59.
Titel: Re: Minutenwert in korrekte Zeitangabe umwandeln per LS
Beitrag von: Charly77 am 21.02.06 - 11:54:21
Dankööööööö Jungens ;D ihr seid einsame klasse :D
Hab die Möglichkeit mit "Fix" und "mod" benutzt.
Dies alles soll in einem Agenten laufen, um die tägliche Erstellung einer Auswertung zu automatisieren. Wenn man dies nun über einen Agenten z.B. nach Eingang neuer Dokumente macht, kann man die Auswertung öffnen und hat immer aktuelle Daten zur Verfügung.
Bisher muss die Auswertung manuell angeschubst werden. Ausserdem muss man vorher die alte Auswertung löschen, da es keine Doppelten geben soll.
Per Agent soll die alte Auswertung quasi upgedatet werden.
P.s.: Ich sollte mal nen Script-Lehrgang besuchen ;)