Domino 9 und frühere Versionen > ND8: Entwicklung

Werte aus Array addieren

<< < (3/3)

Peter Klett:
Also ganz ehrlich verstehe ich Dein Script nicht. Erst baust Du Dir ein Array in DTPause auf, um es dann mit sum_min wieder plattzumachen. Was soll denn eigentlich am Ende herauskommen?

Sommersprosse:
Das ist ja genau der Punkt... es kommt mir auch unlogisch vor....

Am Ende soll in DTPause ein Gesamtwert herauskommen. Mit dem eigentlichen ersten Teil meines Scripts werden Einzelwerte in mein Feld DTPause geschrieben.


--- Code: ---vpause = doc.GetItemValue ("DTPause")
Redim Preserve vpause(Ubound(vPause) + 1)
vpause(Ubound(vpause)) = elapsed
Call doc.ReplaceItemValue ("DTPause", vpause)

--- Ende Code ---

Diese will ich als Summe haben.

Kann ich das einfach ersetzen durch den Teil?

--- Code: ---sum_min = 0
Forall pause In doc.DTpause
If Isnumeric (pause) Then
sum_min = sum_min + Cint (pause)
End If
End Forall
Call doc.ReplaceItemValue ("DTPause", sum_min)
End If
--- Ende Code ---

Nun Klar?

Peter Klett:
Dann brauchst Du kein Forall, denn Du hast ja kein Array. DTPause kann auch ein Zahlenfeld sein.

If Not Isnumeric (doc.DTPause (0)) Then
   doc.DTPause = 0
End If
doc.DTPause = doc.DTPause (0) + elapsed

(unter der Annahme, dass elapsed eine Zahl ist)

Sommersprosse:
Hallo Peter,

ich hatte Deinen Vorschlag mal probiert und wollte schon sagen geht nicht, aber....

es funktioniert, allerdings nur wenn ich das Feld DTPause wirklich als Zahlenfeld definiere, dann werden die Werte auch addiert und nicht nur angefügt.

Muss das jetzt noch an ein paar "Tickets" testen, aber sieht mal ganz gut aus.

So wird aus einem "großen" Script ein dreizeiler, echt klasse.

Danke.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln