Locale- und Picture-Funktionen in FormCalc

Aktivieren Sie TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript, um diese Funktionen in allgemeinen FormCalc-Events sowie in calculate- und validate-Skripten über die mitgelieferte QuickJS-Engine zu nutzen

Locale-Auswahl

Das ausführende Feld erbt das nächstgelegene nichtleere locale-Attribut von seinen Vorfahren; eine leere Kette wählt die konfigurierte native Windows- oder Linux-ICU-Locale

Ein localeSet-Eintrag im Dokument überschreibt native Zahlen-/Währungssymbole, Monats-/Tages-/Meridiem-Namen und Datums-/Zeit-/Zahlenmuster; fehlende Werte erben Systemdaten, mit en_US-Fallback für eigene Locale-Namen

Locale-Bezeichner akzeptieren Unterstrich- und Bindestrich-Schreibweisen unabhängig von Groß-/Kleinschreibung; berechnete Namen wie Concat("de", "_DE") lösen sich zur Ausführungszeit auf

Interne Locale-Requests teilen sich die Deadline des Events und erlauben 64 benannte Lookups, 256 UTF-16-Codeeinheiten pro Bezeichner und 2 MiB aggregierte Metadaten; Wiederholungen stellen den JavaScript-Checkpoint wieder her, und committetes Session-Replay nutzt aufgezeichnete Metadaten ohne erneuten Provider-Aufruf

Picture-Funktionen

FunktionVerhalten
Format(picture, value, ...)Formatiert Werte mit date-, time-, datetime-, num- oder text-Klauseln; standardmäßige Compound-Klauseln formatieren denselben Wert, eine optionale Erweiterung akzeptiert entsprechende Wertargumente
Parse(picture, text)Analysiert Typed-Klauseln, Compound-Klauseln oder Alternativen in ISO-Datums-/Zeittext, dezimalen Zahlentext oder Text ohne Literale

Verwenden Sie date(de_DE){D. MMMM YYYY} für eine explizite Locale, num.currency für einen Locale-Stil und einen senkrechten Strich für Alternativen; quotierte Literale und verdoppelte Apostrophe bewahren Literalzeichen

Datums-, Zeit- und Datetime-Stile verwenden die aufgelösten Muster default, short, medium, long oder full; das Standard-Zahlenmuster aus localeSet liefert sowohl num.decimal als auch dessen Ganzzahlteil für num.integer

Datums-/Zeit-Pictures unterstützen Jahr, Monat, Tag, Wochentagsnamen, 12/24-Stunden-Angaben, Minuten, Sekunden, Bruchteil-Millisekunden, Meridieme und explizite GMT/UTC-Offsets; ungültige Daten wie der 30. Februar liefern leeren Text

Zahlen-Pictures unterstützen verpflichtendes 9, optionales z, mit Leerzeichen aufgefülltes Z, Dezimal-/Gruppentrenner, Währungssymbole und ISO-Währungscodes, Prozentzeichen, Vorzeichen, Klammern, Soll/Haben-Suffixe und einen implizierten Dezimalpunkt

Text-Pictures unterstützen A für Unicode-Buchstaben, O oder 0 für alphanumerische Unicode-Zeichen, 9 für Ziffern und X für Unicode-Codepunkte, einschließlich ergänzender Zeichen

Erweiterte Picture-Klauseln ergänzen wissenschaftliche Notation bei Zahlen mit erhaltener Nachkommagenauigkeit, Ordinal- und Wochendaten, weitere Uhren, globale Zeichen-/Leerraum-Symbole und das Analysieren zusammengesetzter Eingaben

Null-Parameter geben null zurück; ungültige Pictures, ungültige Werte oder nicht verfügbare Locales liefern leeren Text

target = Format("num(de_DE){z,zz9.99}", 1234.5)
target = Parse("date{MMM D, YYYY}", "Sep 1, 2002")
target = Format("date{YYYY-MM-DD} 'at' time{HH:MM}", "2024-03-15T13:45:09")

Datums- und Zeitfunktionen

FunktionParameter und Ergebnis
DateFmt(style=0, locale), TimeFmt(style=0, locale)Liefern XFA-Muster für default 0, short 1, medium 2, long 3 oder full 4; ungültige Stile wählen default
Date2Num(text, picture, locale)Liefert Serientage mit 1900-01-01 als Tag 1; ein weggelassenes Picture nutzt den Locale-Default und akzeptiert auch ISO-Datumsangaben
Num2Date(serial, picture, locale)Formatiert Serientage mit dem gelieferten oder dem Locale-Default-Datumspicture
IsoDate2Num(text)Analysiert kompakte oder mit Bindestrichen geschriebene ISO-Datumsangaben, einschließlich optionaler Zeitsuffixe
IsoTime2Num(text), Time2Num(text, picture, locale)Liefern Millisekunden seit GMT-Mitternacht plus 1; explizite Offsets werden angewendet, fehlende Offsets nutzen die aktuelle Zeitzone
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale)Formatieren Zeitserien 1 bis 86400000 in GMT oder der aktuellen Zeitzone
Date(), Time()Liefern aktuelle Datums-/Zeitserien, während des Session-Replays mit aufgezeichneten Uhreingaben

Weggelassene Num2Date-Pictures erzeugen jetzt lokalisierte Ausgaben; migrieren Sie Aufrufer, die ISO-Ausgabe brauchen, zu Num2Date(serial, "YYYY-MM-DD")

Einheiten, Encoding und Text-Hilfsfunktionen

FunktionParameter und Ergebnis
UnitType(measurement)Erkennt in-, cm-, mm-, pt-, pc- und mp-Aliase; unbekannte Einheiten fallen auf Zoll zurück
UnitValue(measurement, targetUnit="in")Konvertiert Maße mit 72 Punkten pro Zoll, 12 Punkten pro Pica und 1000 Millipunkten pro Punkt
Encode(text, encoding="url"), Decode(text, encoding="url")Unterstützen URL-Escaping, XML-Entitäten und HTML-benannte/numerische Entitäten mit Unicode-Scalar-Validierung
Uuid(style=0)Liefert 32 Hexadezimalziffern oder Stil 1 mit Bindestrichen, mit Version-4- und Variant-Bits; Replay nutzt aufgezeichnete Zufallseingaben
WordNum(value, style=0, locale)Erzeugt englische Zahlenwörter, Stil 1 Dollarbeträge oder Stil 2 Dollar und Cents; ungültige Zahlenbereiche liefern einen Stern

Aktuelle Picture-Grenzen

Alternative Ären, ideografische oder vollbreite Darstellungen, lokalisierte Ziffernalphabete, lokalisierte reine Anzeige-Mustersymbole und vollständige Gruppierungsrichtlinien bleiben separate Ziele; WordNum gibt englische Wörter aus

Der native Scalar-Evaluator behält seine vorhandenen ISO- und Finanzfunktionen; Locale-/Picture-Funktionen brauchen die allgemeine Ausführung

APIs der unteren Ebene

TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale und HPDFXFALocaleJavaScript legen Unicode-Locale-Metadaten und sichere Engine-Serialisierung offen

HPDFXFAExecuteJavaScriptEvent akzeptiert TXFALocaleDataProvider für eigene Read-only-Metadaten-Lookups