Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 29.10.03 - 16:24:59
-
Hallo, ich möchte eine If-Abfrage über mehrere Argumente machen aber wie?
exe := @GetDocField(@Text(@DocumentUniqueID);"execution");
Ergebnis := @Prompt([YESNOCANCEL]; "Archivieren..."; "Wollen sie das Dokument archivieren?");
@If(Ergebnis = 1;@Command([FileSave]);"");
@If(Ergebnis = 1;@Command([FileCloseWindow]);"");
@If(Ergebnis = 0;@Command([FileCloseWindow]);"");
@If(Ergebnis = -1;"";"")
Wenn die Variable exe 1 beinhaltet dann soll der untere Teil ausgeführt werden...
-
@If (Exe = 1; ""; @Return (""));
Mit "@if über mehrere argumente" hat das aber nix zu tun ...
Bernhard
-
Nein, du hast mich falsch verstanden.
Ich möchte die Variable exe auf 1 überprüfen, falls dies der fall ist soll der untere teil ausgeführt werden. Ansonsten soll das Dokument einfach geschlossen werden...
-
Genau das macht doch Bernhards Formel.
Wenn exe=1 passiert nichts in der If-Abfrage und die folgenden Formeln werden ausgeführt, ansonsten wird mit @Return die Verarbeitung abgebrochen, ohne einen Wert zurückzuliefern.
-
Ich habe Dich nicht falsch verstanden.
Meinen Code vor den unteren Teil setzen, dann stoppt der dort. Wegen Fensterschliessen @Return ("") durch FileCloseWindow ersetzen. Wenn im Fenster (Maske ?) der Button ist, wird damit auch die weitere Ausführung des Codes gestoppt.
Sonst mit @Do arbeiten (den unteren Code darin einschliessen).
Kann leider aus Zeitmangel derzeit nur den Rahmen liefern ...
Bernhard
-
Gut, ich nehm alles wieder zurück. Ich kann mit getDocField nicht auf den Inhalt von Feldern zugreifen, wenn das Dokument noch nicht gespeiert ist.
Sorry, mein fehler...
-
Hy,
@TomLudwig
Kennst du schon @Do ... damit kannst du auch in einer @If Anweisung mehrere @Commands hintereinander ausführen ;)
Cu
Martin
-
Anstelle von
exe := @GetDocField(@Text(@DocumentUniqueID);"execution");
nimm einfach
exe := execution;
da es sich ja wohl um ein Feld im aktuellen Dokument handelt.
Ist aber denn dann ja mehr als flüssig. Also so:
@If(
execution = 1;
@Return(@Command([FileCloseWindow]));
""
);
Ergebnis := @Prompt([YESNOCANCEL]; "Archivieren..."; "Wollen sie das Dokument archivieren?");
@If(
Ergebnis = 1;
@Do(
@Command([FileSave]);"");
@Command([FileCloseWindow])
);
Ergebnis = 0;
@Command([FileCloseWindow]);
""
)
Andreas