Test-/Stringfunktionen
Diese Funktionen erweitern die Fähigkeiten zur Text-/Stringmanipulation der Business Central AL-Entwicklung.
TextFunctions.Codeunit.al
procedure FormatGUID(guid: Guid): Text
Behebt das lästige Problem, dass in AL die GUID immer mit {} begrenzt werden, und gibt nur die reine GUID zurück.procedure GetModuleVersion(): Text
Gibt die Version des aufrufenden Moduls im Format Major.Minor.Revidion.Build zurück.procedure StrTrimExt(String: Text; Remove: Char): Text
Macht ein Trim auf den übergebenen Text, und zusätzlich wird das übergebene Zeichen am Beginn und Ende entfernt. Nützlich für Pfad/URL Bearbeitung, um doppelte Trennzeichen zu vermeiden.procedure FormatBytesToText(Bytes: BigInteger): Text
Formatiert Größenangaben in Bytes in größere Einheiten.procedure LF(): Char
Gibt ein Linefeed Chr(10) zurück.procedure CR(): Char
Gibt ein CarriageReturn Chr(13) zurück.procedure CRLF() Result: Text[2]
Gibt ein Linefeed Chr(10) + CarriageReturn Chr(13) zurück.procedure StrRight(String: Text; Length: Integer): Text
Gibt die rechten Length Zeichen zurück. Wenn der String leer oder kürzer ist, wird alles zurück gegeben.procedure ReplaceAll(String: Text; FindWhat: Text; ReplaceWith: Text) NewString: Text
Ersetzt jedes FindWhat in String durch ReplaceWith.procedure ReplaceJson(var str: Text; json: JsonObject): Text Die Funktion durchläuft einen Eingabetext (str) und ersetzt alle Platzhalter im Format {json:
} mit entsprechenden Werten aus einem angegebenen JSON-Objekt (json). Wenn der JSON-Pfad nicht existiert, wird ein Fehlertext eingefügt.
Beispiel:
var
str: Text := 'Hello {json:User/Name}, welcome to {json:Platform}!';
json: JsonObject;
begin
json.Add('User', '{ "Name": "John Doe" }');
json.Add('Platform', 'Business Central');
result := ReplaceJson(str, json);
// result: "Hello John Doe, welcome to Business Central!"
end;
Ergebnis: Die Platzhalter {json:User/Name} und {json:Platform} werden durch John Doe und Business Central ersetzt.
Fehlerfall: Falls ein JSON-Pfad nicht existiert (z. B. {json:Invalid/Path}), wird [error:]Invalid.Path] in den Text eingefügt.