Domino 9 und frühere Versionen > ND6: Administration & Userprobleme

Rechnen mit Uhrzeiten - Hilfe

<< < (2/3) > >>

ascabg:
Versuchs mal so.


--- Code: ---Dim dblDiff As Double

dblDiff = pausenende.TimeDifferenceDouble(pausenanfang)

--- Ende Code ---

oder


--- Code: ---Dim lngDiff As Long
lngDiff = pausenende.TimeDifference(pausenanfang)

--- Ende Code ---

Du bekommt in beiden Faellen numerische Werte zurueckgeliefert, die die Anzahl an Sekunden angeben.
Nur einmal wird dieser Wert als LONG und das andere Mal als DOUBLE zurueckgeliefert.


Andreas

LukasSChl:
ok habs so gemacht und endlich kann ich das abspeichern^^

Code looks like this:


--- Code: ---Dim oUIDoc As NotesUIDocument
Set oUIDoc = oWorkspace.CurrentDocument
Dim oDoc As Notesdocument
Set oDoc = oUIDoc.Document

Dim pausenanfang As NotesDateTime
Set pausenanfang = New NotesDateTime (oDoc.pausenanfang)

Dim pausenende As NotesDateTime
Set pausenende = New NotesDateTime (oDoc.pausenende)
Dim pause As Double

pause = pausenende.TimeDifferenceDouble( pausenanfang )

oDoc.Pause_1 = pause

--- Ende Code ---

Jetzt bekomm ich bei der Zeile:
"Set pausenanfang = New NotesDateTime (oDoc.pausenanfang)"
einen "Type mismatch"- Fehler, wenn ich auf den berechnen Button klicke.

Hab in die Felder sowohl Uhrzeiten (10:00 / 10:00:00) als auch normale Werte (1,2,etc) eingegeben, aber immer der gleiche Fehler.

mfg Lukas

koehlerbv:
Set pausenanfang = New NotesDateTime (Cstr (oDoc.pausenanfang (0)))

Bernhard

LukasSChl:
ah wunderbar es läuft ohne Fehler durch, vielen Dank Bernhard.

Nur leider bekomm ich immer nur "0" als Wert ausgegeben.

//EDIT: hab was übersehn es FUNKTIONIERT ;);) endlich.

vielen dank nochma

mfg Lukas

koehlerbv:
So kompliziert muss man das übrigens gar nicht machen. Datums-/Zeitwerte sind eigentlich nur Zahlen im Double-Format. Zieh Dir folgenden Code mal rein - der kommt völlig ohne NotesDateTime class aus.

HTH,
Bernhard


--- Code: ---Function GetTimeDifferenceMin (vStartTime As Variant, vEndTime As Variant) As Double
'==================================================================================================================================
' Purpose: Calculates the time difference between two given Date/Time values (normally the time component only)
'----------------------------------------------------------------------------------------------------------------------------------
' Arguments:
' vStartTime - should be a Date / Time value
' vEndTime - should be a Date / Time value. If vEndTime is 0:00 it will be converted to 24:00 (= 1) !
'----------------------------------------------------------------------------------------------------------------------------------
' Returns: The time difference in minutes if both values are Date/Time values (otherwise 0)
'----------------------------------------------------------------------------------------------------------------------------------
' Created by:  Bernhard Koehler on 13.12.2004
'----------------------------------------------------------------------------------------------------------------------------------
' Changes:
'===================================================================================================================================

Dim dblDifference As Double


On Error Goto ErrorRoutine

'The default value:
GetTimeDifferenceMin = 0

'Check for valid Date/Time values:
If Not (Isdate (vStartTime)) Or Not (Isdate (vEndTime)) Then
Exit Function
End If

'Because we can't store 24:00 in Notes we use 0:00 and have to convert this value to 24:00 = 1
If Fraction (vEndTime) = 0 Then
vEndTime = 1
End If

dblDifference = Fraction (vEndTime) - Fraction (vStartTime)

dblDifference = dblDifference * 24 * 60

GetTimeDifferenceMin = Round (dblDifference, 0)

Exit Function

ErrorRoutine:
GetTimeDifferenceMin = 0
Call ErrorHandler ("GetTimeDifferenceMin")
Exit Function
End Function

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln