Domino 9 und frühere Versionen > ND8: Entwicklung

Feld mit Uhrzeit, automatisch aktualisieren

<< < (5/5)

LukasSChl:

--- Zitat von: Peter Klett am 28.04.10 - 12:48:50 ---dann kann es aber passieren, dass elapsedTime größer als 60 wird und dann nie die Aktualisierung aufgerufen wird. Wäre es nicht einfacher, bei Eintreffen des "UserBearbeitet"-Ereignisses elapsedTime auf 0 zu setzen und nur eine Bedingung (elapsedTime = 60) zu prüfen?

--- Ende Zitat ---

Wenn ich es so mache:

--- Code: ---Aktuelle_Zeit.LSLocalTime = Now   
If (Aktuelle_Zeit.TimeDifference(oDoc.Time)) >= 60 Then
     If Trigger = 1 Then
          'Felder werden neu berechnet
     End If
End If

--- Ende Code ---
dann aktualisiert er nur, wenn wirklich mind. 1 Minute rum ist und der Trigger grünes licht für die Berechnung gibt.

Es läuft jetzt auch alles so wie ich mir das gedacht habe.

Vielen Dank für die Hilfe.

mfg Lukas

Peter Klett:
Läuft der Timer weiter, wenn Du danach ein weiteres Dokument öffnest?

joringel:
Das Alarminterval kannst du gleich bei der instanzierung des Notestimers festlegen:

Set elapsedTimer = New NotesTimer(60, "test").

Das spart die IF-Abfrage und das mitzählen der Sekunden in elapsedTime.

ascabg:
Hallo,

Nun moechte ich mich auch nochmal melden.

Frage.
Warum unbedingt Lotus Notes fuer deise Zweck?

Es geht doch mit HTML und JavaScript einfacher und ich muss mir auch nicht zwingend Gedanken ueber die Aktualisierung das Anzeige machen.

Als Anregung mal ein kleine HTML-File, was den geschilderten Sachverhalt so ziemlich genau nachbildet.
Gut, ich gebe zu, ich bin nicht der Profil in HTML und JavaScript und es wird sicherlich in meine kleinen Beispiel noch Potenzial fuer dei Optimierung geben, aber es funktioniert erst mal.
(Dateierweiterung ".txt" einfach entfernen, damit wieder eine html-Datei daraus wird.

Andreas

LukasSChl:

--- Zitat von: Peter Klett am 28.04.10 - 13:36:56 ---Läuft der Timer weiter, wenn Du danach ein weiteres Dokument öffnest?

--- Ende Zitat ---

Nein tut er leider nicht.

Zu den Gegebenheiten:
Notes Client: 8.0.2
Notes Designer: 8.0.2
Server: 6.5.1
Datenbank liegt bei mir auf dem Rechner lokal


--- Zitat von: joringel am 28.04.10 - 14:12:33 ---Das Alarminterval kannst du gleich bei der instanzierung des Notestimers festlegen:

Set elapsedTimer = New NotesTimer(60, "test").

Das spart die IF-Abfrage und das mitzählen der Sekunden in elapsedTime.

--- Ende Zitat ---

ginge auch, ja.
EDIT: Ich find die Lösung mit der TimeDifference Methode irgendwie besser, da der Timer ja pausiert, wenn die Eingabefelder bearbeitet werden.
Und wenn der Timer dann weiterläuft, ist die Zeit ja schon fortgeschritten und bis zur nächsten Prüfung würde es ja dann noch dauern. Somit würde sich die Anzeige der richtigen Zeiten verzögern.

Das Timerintervall prüft hier halt nur so und so oft nach.
Aber ich werd ma beide Lösungen in der Praxis testen.
Danke für die Anregung.


--- Zitat von: ascabg am 28.04.10 - 15:25:14 ---Hallo,

Nun moechte ich mich auch nochmal melden.

Frage.
Warum unbedingt Lotus Notes fuer deise Zweck?

--- Ende Zitat ---

Weil ich in der Abteilung wo ich grad bin mit Notes programmieren soll^^
Und diesen Zeitrechner zu schreiben ist halt meine momentane Aufgabe, die ich mir ausgesucht habe.

Klar gings einfacher, aber nunja ;D


Der Notes-Timer ist klasse, wenn kein anderes Dokument geöffnet wird, was sich nicht verhindern lässt.

Kennt jmd zufällig ne andere Lösung mit der sich das selbe realisieren lässt?


mfg Lukas

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln