Domino 9 und frühere Versionen > ND6: Entwicklung

Schleife mit (not doc is nothing) + weitere Bedingung

(1/1)

tabama:
Hallo,
habe folgende Schleife.

set doc = ....
while not doc is nothing
   mache irgendwas
   set doc = view.getnextdocument(doc)
wend

Ich möchte aber die Schleife nicht nur beenden wenn kein Dokument mehr da ist, sondern auch, wenn eine andere Bedingung zutrifft. zB.

while (not doc is nothing) and doc.xxx(0) > 5

hier beachtet die schleife zwar die and-Bedingung, nicht aber das "not doc is nothing"
komme ich an das letzte Dokument, bringt er mir einen Fehler, weil das getnextdocument kein nächstes findet.

wie gehts?

smoki:
Hallo!

Ich glaube du bekommst deshalb den Fehler, weil in der Script Sprache etwas anders gearbeitet wird als bspw. unter C und Java!

Die Bedingung wird immer komplett ausgeführt:

d.h. wenn doc is nothing, wird:

(not doc is nothing)      = false
doc.xxx(0) > 5              = error (da doc nothing ist)

Kann das bei dir der Grund sein!

Bei C/Java würde es gehen, da das erste false, die Ausführung vom Rest der bedingung verhindert (da AND verkünpfung). (Dort kann man daher auch viel "schönes" Unfug treiben!)

Konsequenz ist leider, dass du den Abbruch nach der Schleifen-Bedingung durchführen solltest.  :/

Vielleicht kannst du ja damit leben:

do until doc is nothing
       id doc.xxx(0) > 5 then exit do
       ....
loop

Viel Erfolg!

Gruss
Chris

tabama:
Danke,

so funktioniert es

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln