Autor Thema: [Formelsprache] Äquivalent zu Continue = False  (Gelesen 5950 mal)

Glombi

  • Gast
[Formelsprache] Äquivalent zu Continue = False
« am: 28.06.04 - 10:10:05 »
Ausgangsthread:
http://www.atnotes.de/index.php?board=7;action=display;threadid=16576

Frage: Wie kann man in Formelsprache im Event Querysave das Speichern verhindern und abbrechen.

Antwort: Es muss das Systemfeld SaveOptions verwendet werden. Hat das Feld den Wert "0", kann das Dokument nicht gespeichert werden (auch wenn man <Ctrl>+S drückt).
Standardmäßig ist dieses Feld nicht vorhanden und beim Schließen wird der Anwender gefragt, ob gespeichert werden soll.

Hier der Beispielcode:

FIELD SaveOptions := SaveOptions;
@If(
   NichtSpeichern = "1";
         @Return(@SetField("SaveOptions";"0"));
   @SetField("SaveOptions";@Unavailable)
);

@Prompt( [Ok]; "";"Das kannst Du nur lesen, wenn alles ok ist!")


Erläuterungen:
Die Bedingung
 NichtSpeichern = "1";
muss durch die entsprechende Bedingung ersetzt werden, wenn nicht gespeichert werden soll.

Durch das
   @SetField("SaveOptions";@Unavailable)
wird das Feld wieder aus dem Dokument gelöscht.

Gibt es das Feld SaveOptions mit dem Wert "1", wird übrigens immer gespeichert. Beim Schließen erscheint in diesem Fall nicht der Speichern-Dialog.

Andreas
« Letzte Änderung: 28.06.04 - 10:12:49 von Glombi »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz