Autor Thema: Timer  (Gelesen 2362 mal)

Offline andrew22

  • Aktives Mitglied
  • ***
  • Beiträge: 126
  • Ich liebe dieses Forum!
Timer
« am: 13.02.06 - 14:50:11 »
hi ho

Noch eine andere Frage ...

Wie kann ich denn einen StoppUhrMechanismus erzeugen

sprich das ich z.B. schauen kann wie lang welche Funktion braucht

wahrscheinlich dann im ms Bereich ?!

thx  :-:

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Timer
« Antwort #1 am: 13.02.06 - 14:53:59 »
Schau dir mal die Klasse NotesTimer in der Designer-Hilfe an. Mit der müsstest du das realisieren können.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Timer
« Antwort #2 am: 13.02.06 - 20:09:04 »
Die NotesTimer class nützt das gar nichts, da diese ein im Takt ganzer Sekunden triggerbares Event erzeugt.

LotusScript rechnet prinzipiell im Sekundentakt (wenn ich nichts übersehen habe), für genauere Zeitnahme wäre also das Anzapfen der Systemuhr notwendig.

Bernhard

Offline joringel

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Nenne nie einen Server 'Lokal'...

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Timer
« Antwort #4 am: 14.02.06 - 08:55:45 »
Oder schau mal bei Teamstudio vorbei, die bieten einen Profiler an.
oder lass die FUnktion unter R7 laufen, da ist auch schon ein Profiler dabei :-)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline andrew22

  • Aktives Mitglied
  • ***
  • Beiträge: 126
  • Ich liebe dieses Forum!
Re: Timer
« Antwort #5 am: 21.02.06 - 14:33:09 »
Also diese Stopwatch Klasse ist schon ganz cool Nur leider läuft sie nicht immer so richtig.

Bekomme öfters die Fehlermeldung "Division by Zero"

Was könnte das sein - laut Script Debugger könnte das ein Fehler in der Stopwatch KLasse sein :(  :-:

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Timer
« Antwort #6 am: 21.02.06 - 14:53:11 »
Könnte sich um einen überlauf handeln :-)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline andrew22

  • Aktives Mitglied
  • ***
  • Beiträge: 126
  • Ich liebe dieses Forum!
Re: Timer
« Antwort #7 am: 21.02.06 - 14:55:17 »
einen Überlauf ;) in wie fern ?!

das die Funktion zu schnell aufgerufen wird oder ?!  :-:

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Timer
« Antwort #8 am: 21.02.06 - 15:08:48 »
http://de.wikipedia.org/wiki/%C3%9Cberlauf_%28Hardware%29
Zitat
Als Überlauf bezeichnet man den Umstand, dass das Ergebnis einer Berechnung nicht mehr in den dafür vorgesehenen Speicher passt. Die heute am weitesten verbreiteten Prozessoren führen Berechnungen nicht direkt im Hauptspeicher aus, sondern kopieren die Operanden zuvor in ihre Register, bevor sie darin die Berechnung ausführen. Register haben feste Maximalgrößen für die Zahlen, die in ihnen gespeichert werden können. Werden z.B. zwei Zahlen, die jede für sich kleiner sind, deren Summe jedoch größer ist als das Maximum, addiert, so kommt es zum Überlauf. Infolgedessen ist das Rechenergebnis undefiniert und der Prozessor zeigt den Überlauf mit einem Flag an.
Lernen die Kids heutzutage überhaupt keine Grundlagen mehr??? :'(
« Letzte Änderung: 21.02.06 - 15:12:45 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Timer
« Antwort #9 am: 21.02.06 - 15:21:13 »
Wieso weist ein Division_by_zero auf einen Speicherüberlauf hin?
Für mich sieht das eher so aus, als würde in der Klasse durch unsachgemässe Benutzung oder durch einen Programmierfehler in der Klasse irgendwo durch 0 geteilt.
Ich würd dir raten, den debugger anzuschmeissen und dir mal anzuschauen unter welchen Bedingungen der Fehler auftritt.

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline andrew22

  • Aktives Mitglied
  • ***
  • Beiträge: 126
  • Ich liebe dieses Forum!
Re: Timer
« Antwort #10 am: 21.02.06 - 15:31:33 »
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / EventList("Total run time").lngPreviousRunTime, "000.0%") & "   "
         
Diese Zeile ist es die beim debug zurück kommt als fehler sozusagen.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Timer
« Antwort #11 am: 21.02.06 - 15:38:40 »
Und was stehen in den einzelnen "Variablen" fuer Werte?

ReportRowArray(intCount).lngRunTime = Wert ?
EventList("Total run time").lngPreviousRunTime = Wert ?

Andreas


Offline andrew22

  • Aktives Mitglied
  • ***
  • Beiträge: 126
  • Ich liebe dieses Forum!
Re: Timer
« Antwort #12 am: 22.02.06 - 13:43:39 »
Was sagen euch diese beiden Ergebnisse ?


seconds     %        calls     secs/call   event
===========================================================================
00000,080   100,0%   0000001   00000,080   Total run time
00000,080   100,0%   0000001   00000,080   Do_QueryWebOpen


seconds     %        calls     secs/call   event
===========================================================================
00000,060   100,0%   0000001   00000,060   Total run time
00000,050   083,3%   0000001   00000,050   Do_QueryWebOpen



Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Timer
« Antwort #13 am: 25.02.06 - 00:13:05 »
Nichts. Sie haben mit Deinen Fragen wegen "division by zero" gar nichts mehr zu tun.
Ergo: Bitte eine beantwortbare Frage.

Bernhard
« Letzte Änderung: 25.02.06 - 12:07:18 von koehlerbv »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Timer
« Antwort #14 am: 25.02.06 - 07:32:01 »
Imho bist du an irgendeinem Punkt gedanklich blockiert.
Das ist nur menschlich.

Also.
Der Computer signalisiert auf diesen Code-Abschnitt:
Code
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / EventList("Total run time").lngPreviousRunTime, "000.0%") & "   "
eine division by zero exception.
Dies ist so, weil die Designer von LotusScript ein Teilen durch 0 verboten haben. Ich bin leider nicht so der große Mathematiker. Aber in der Schulmathematik war es nicht anders.

Das bedeutet:
Der Code hinter dem / ergibt 0 und darf nicht 0 ergeben.
Dieses Codefragment ist:
Code
EventList("Total run time").lngPreviousRunTime
Was dies sagen soll, ist nicht nur für dich sondern für alle Betrachter dieses Threads nicht offensichtlich.

Was ist die intelligente Reaktion auf nicht-offensichtliche Phänomene?
Der Versuch das Phänomen auf kleinere Einheiten zu zerlegen, diese zu verstehen und dann evtl. zu einem Gesamtverständnis zu gelangen.

Eine naive Möglichkeit damit umzugehen ist:
Code
Dim divider as Long
divider =  EventList("Total run time").lngPreviousRunTime
if divider = 0.0 then 
print "divider darf nicht 0 sein"
exit sub (oder exit function)
end if 
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / divider, "000.0%") & "   "

Als nächstes kannst du den Code studieren und dir überlegen, warum EventList("Total run time").lngPreviousRunTime den Wert 0 ergibt. Und vermutlich findest du einen Weg, die Klasse so zu nutzen, dass dieser Fall unter keinen Umständen auftritt.

nicht schwer

Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz