Interaktionsmethoden
Wenn Sie Code in der application language (AL) schreiben, möchten Sie möglicherweise zu bestimmten Zeitpunkten mit dem Benutzer interagieren. Sie können den Benutzer um eine Bestätigung bitten, einige zusätzliche Informationen bereitstellen oder den Benutzer eine Auswahl treffen lassen.
Um diese Aufgaben auszuführen, können Sie die folgenden Interaktionsfunktionen verwenden:
Message
Confirm
StrMenu
Error
Um Meldungen anzuzeigen und Eingaben zu sammeln, können Sie mehrere spezialisierte Methoden verwenden. Wir empfehlen die Verwendung von Seiten, um sicherzustellen, dass Ihre Anwendung eine konsistente Benutzeroberfläche aufweist. In bestimmten Situationen möchten Sie eher die Dialogmethoden anstelle von Seiten verwenden. Die wichtigsten Anwendungen der Dialogmethoden sind folgende:
Zeigen Sie ein Fenster mit dem Fortschritt einiger Verarbeitungen an, die viel Zeit in Anspruch nehmen können.
Halten Sie das laufende Programm an, um eine Fehlermeldung anzuzeigen.
Lassen Sie den Benutzer eine Auswahl bestätigen, bevor das Programm weiter ausgeführt wird.
Sie können auch die Methode StrMenu zum Erstellen von Seiten verwenden, die dem Benutzer Optionen präsentieren. Es geht deutlich schneller, diese Methode zu verwenden, als eine Seite zu entwerfen, die dem Benutzer nur eine begrenzte Anzahl von Optionen bietet.
Bewährte Methoden für Benutzernachrichten
Wir empfehlen die Verwendung folgender Richtlinien zum Schreiben von Nachrichten für Endbenutzer:
Schreiben Sie Nachrichten gemäß den grammatikalischen Regeln für Ihre Sprache richtig.
Verwenden Sie keine umgekehrten Schrägstriche, um Zeilenumbrüche in einer Nachricht anzuzeigen. Die Formatierung der Zeilen wird automatisch abgeschlossen. Einzige Ausnahme ist die Offene Methode). Sie müssen umgekehrte Schrägstriche verwenden, damit die Nachricht richtig ausgerichtet wird.
Verwenden Sie nach Möglichkeit die FieldCaption()-Methode und die TableCaption()-Methode, um Namen von Feldern und Tabellen als Zeichenfolgen zurückzugeben. Dies ist wichtig, damit Benutzer immer einen Begriff erkennen können, der auf einen Feld‑ oder Tabellennamen hinweist. Die einzige Ausnahme hiervon ist Offene Methode), bei der Sie den Feldnamen direkt verwenden können. Andernfalls kann es schwierig sein, korrekt auszurichten. Wenn Sie auf einen Feldnamen verweisen, ohne die FieldCaption-Methode zu verwenden, geben Sie den Feldnamen ohne einfache oder doppelte Anführungszeichen ein.
Versuchen Sie, alle Nachrichten in nur einer Zeile zu schreiben. Wenn Sie mehr als eine Zeile verwenden möchten, beginnen Sie eine neue Zeile nach einem Punkt anstatt mitten im Satz.
Geben Sie den Text nicht direkt in den AL-Code ein. Geben Sie ihn stattdessen als Bezeichnung ein, damit die Nachricht übersetzt werden kann.
Nachrichtenmethode
Die Funktion Message wird in Business Central häufig verwendet und dient zur Übermittlung von Informationen an den Benutzer. Mit der Funktion Message können Sie Ihren Benutzer benachrichtigen, dass ein bestimmter Prozess abgeschlossen wurde, oder die Ausgabe eines Ausdrucks anzeigen.
Message(string [,Value1, ...]);
Message('Hello World');
Wenn Ihre Zeichenfolge Platzhalter enthält, können diese durch die Werte ersetzt werden, die auf die Zeichenfolge folgen.
var
MyInt: Integer;
TheValueOfTxt: Label 'The value of %1 is %2';
begin
MyInt := 5;
Message(TheValueOfTxt, 'MyInt', MyInt);
// Displays: The value of MyInt is 5
end;
Die Message-Methode wird asynchron ausgeführt. Das bedeutet, dass die Nachricht nicht ausgeführt wird, bis die Methode, von der sie aufgerufen wurde, endet oder eine andere Methode Benutzereingaben anfordert. Das Verfahren ist hilfreich, um den Benutzer zu benachrichtigen, dass eine Verarbeitung erfolgreich abgeschlossen wurde.
Methode bestätigen
Wenn Sie nach einer Bestätigung durch den Benutzer nur bestimmte Teile Ihres Codes ausführen möchten, verwenden Sie die Confirm-Funktion. Sie können die Confirm-Funktion basierend auf einer Zeichenfolge verwenden, die aus der Frage generiert wird, die Sie dem Benutzer stellen. Die Meldung wird mit einer Ja‑ und einer Nein-Schaltfläche angezeigt.
Sie können auswählen, welche Schaltfläche den Fokus erhalten soll, wenn das Fenster angezeigt wird. Diese Regel kann mit dem zweiten Parameter eingestellt werden. Wenn Ihre Zeichenfolge Platzhalter enthält, können diese durch die Werte von anderen Parametern ersetzt werden.
Ok := Dialog.Confirm(string [,Default] [,Value1, ...]);
Die Funktion Confirm kann in Kombination mit einer if-Anweisung verwendet werden.
if Confirm('Are you sure you want to delete?') then
Message('OK')
else
Message('Not OK');
Wenn Sie möchten, dass die Schaltfläche Nein den Standardfokus erhält, fügen Sie den Parameter false hinzu.
if Confirm('Are you sure you want to delete?', false) then
Message('OK')
else
Message('Not Ok');
StrMenu-Methode
Die Funktion StrMenu kann verwendet werden, um Personen um Informationen zu bitten und ihnen verschiedene Möglichkeiten zur Auswahl zu bieten.
OptionNumber := StrMenu(OptionString [,DefaultNumber] [,Instruction]);
Das folgende Beispiel zeigt, wie die StrMenu-Funktion verwendet wird.
var
Days: Text[50];
Selection: Integer;
begin
Days := 'Monday,Tuesday,Wednesday,Thursday,Friday';
Selection := StrMenu(Days, 1, 'Which day is today ?');
Message('You selected %1.', Selection);
end;
Wenn der Benutzer Mittwoch auswählt, zeigt das System Folgendes an: Sie haben 3 ausgewählt.
Fehlermethode
Wenn etwas schief geht oder bestimmte Bedingungen während der Codeverarbeitung nicht erfüllt sind, können Sie die Error-Nachricht verwenden, um den Benutzer zu benachrichtigen. Nach der Error-Nachricht wird der Code nicht mehr ausgeführt.
Error(String [,Value1, ...]);
Der folgende Code generiert beispielsweise drei Nachrichten an den Benutzer: 1, 2 und die Fehlermeldung HOPPLA!. Nach der Fehlermeldung beendet das System die Ausführung von Code. Die vierte Nachricht mit dem Text 3 wird nie angezeigt.
MESSAGE('1');
MESSAGE('2');
ERROR('OOPS !');
MESSAGE('3');
Die Error-Methode) ähnelt der Message-Methode, mit der Ausnahme, dass die Ausführung beendet wird, wenn der Benutzer die Nachricht von einer Error-Methode bestätigt hat. Die Error-Methode ähnelt auch der FieldError-Methode. Weitere Informationen finden Sie unter CalcFields‑, CalcSums‑, FieldError‑, FieldName‑, Init‑, TestField‑ und Validate-Methoden.