Autor Thema: Schleife mit (not doc is nothing) + weitere Bedingung  (Gelesen 1198 mal)

Offline tabama

  • Aktives Mitglied
  • ***
  • Beiträge: 233
  • Geschlecht: Männlich
  • hier werden Sie geholfen
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?

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Schleife mit (not doc is nothing) + weitere Bedingung
« Antwort #1 am: 18.05.06 - 18:08:07 »
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

Offline tabama

  • Aktives Mitglied
  • ***
  • Beiträge: 233
  • Geschlecht: Männlich
  • hier werden Sie geholfen
Re: Schleife mit (not doc is nothing) + weitere Bedingung
« Antwort #2 am: 19.05.06 - 09:08:13 »
Danke,

so funktioniert es

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz