Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Fis am 20.09.02 - 10:49:21
-
Hallo zusammen,
brauche ein Script, was mir die Zeit startet, wenn das Dokument geöffnet wird und stoppt, wenn es geschlossen wird. Diese Zeit wird dann in einem Feld ausgegeben.
Danke und Gruß
Rodan
-
Ich hätte folgenden Vorschlag:
'In die Declarations der Maske
Dim Tmr As NotesTimer
Dim seconds As Integer
Sub Postopen(Source As Notesuidocument)
seconds = 0
Set Tmr = New NotesTimer(1)
On Event Alarm From Tmr Call TimerHandler
End Sub
Sub TimerHandler(Source As NotesTimer)
seconds = seconds + 1
End Sub
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Source.Document.Duration = seconds
End Sub
Wobei Duration ein Feld ist ...
Kannst damit etwas anfangen?
-
Sub TimerHandler(Source As NotesTimer)
seconds = seconds + 1
End Sub
wo kommt das rein? Bin kein Programmierer, also für doofe erklären ;-)
Gruß Rodan
-
Hallo Fis,
hier eine etas einfachere Lösung:
Angenommen, die vergangene Zeit soll in Sekunden in das Feld ElapsedTime geschrieben werden:
(Declarations)
dim doc as NotesDocument
dim timer_start as Single
dim timer_ende as Single
Postopen(Source...)
set doc = Source.Document
timer_start = timer
QuerySave
timer_ende = timer
doc.ElapsedTime = timer_ende - timer_start
Gruß
Andreas
-
TimeHandler ist eine neue Funktion. Kopiere die Funktion, markiere dann den ganzen Code irgendeiner Funktion (zB Terminate) und füge die TimeHandler ein. Jetzt siehst du einen neuen Eintrag bei den Funktionen.
Kurze Erklärung was das Script macht:
Im Postopen wird ein neuer Timer erstellt mit dem Intervall eine Sekunde. Bei dem Event Alarm, also immer nach einer Sekunde, wird die Funktion TimerHandler aufgerufen. Diese Funktion zählt die Variable seconds immer um eins hoch.
Vor dem Speichern wird noch schnell der Wert in das Feld Duration geschrieben.
-
Jep, nimm die Funktion von Glombi, hört sich vernünftiger an ;D
Schönen Gruß
Manuel
-
Super hat funktioniert. Danke euch beiden.
Gruß Rodan