Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 29.10.03 - 16:24:59

Titel: @if über mehrere argumente
Beitrag 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...
Titel: Re:@if über mehrere argumente
Beitrag von: koehlerbv am 29.10.03 - 16:32:47
@If (Exe = 1; ""; @Return (""));

Mit "@if über mehrere argumente" hat das aber nix zu tun ...

Bernhard
Titel: Re:@if über mehrere argumente
Beitrag von: TomLudwig am 29.10.03 - 16:38:21
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...
Titel: Re:@if über mehrere argumente
Beitrag von: Driri am 29.10.03 - 16:45:47
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.
Titel: Re:@if über mehrere argumente
Beitrag von: koehlerbv am 29.10.03 - 16:47:11
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
Titel: Re:@if über mehrere argumente
Beitrag von: TomLudwig am 29.10.03 - 16:50:02
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...
Titel: Re:@if über mehrere argumente
Beitrag von: meichhorner am 29.10.03 - 17:04:50
Hy,

@TomLudwig

Kennst du schon @Do ... damit kannst du auch in einer @If Anweisung mehrere @Commands hintereinander ausführen ;)

Cu
Martin
Titel: Re:@if über mehrere argumente
Beitrag von: Glombi am 29.10.03 - 17:22:45
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