Fonctions FormCalc de locales et de pictures

Activez TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript pour utiliser ces fonctions dans les événements FormCalc généraux et les scripts calculate et validate via le moteur QuickJS livré

Sélection de locale

Le champ en exécution hérite de l’attribut locale non vide le plus proche de ses ancêtres ; une chaîne vide sélectionne la locale ICU native Windows ou Linux configurée

Une entrée localeSet de document remplace les symboles natifs de nombres/devises, les noms de mois/jours/meridiem et les patterns de dates/heures/nombres ; les valeurs manquantes héritent des données système, avec repli en_US pour les noms de locales personnalisés

Les identifiants de locales acceptent les graphies avec underscore et tiret sans distinction de casse ; les noms calculés tels que Concat("de", "_DE") se résolvent au moment de l’exécution

Les requêtes internes de locales partagent le deadline de l’événement et admettent 64 recherches nommées, 256 unités de code UTF-16 par identifiant et 2 Mio de métadonnées agrégées ; les retries restaurent le checkpoint JavaScript, et le replay de session committé consomme les métadonnées enregistrées sans nouvel appel de provider

Fonctions de pictures

FonctionComportement
Format(picture, value, ...)Formate des valeurs avec les clauses date, time, datetime, num ou text ; les clauses composées standard formatent la même valeur, avec une extension optionnelle acceptant des arguments de valeurs correspondants
Parse(picture, text)Analyse des clauses typées, clauses composées ou alternatives en texte de date/heure ISO, texte numérique décimal ou texte débarrassé de ses literals

Utilisez date(de_DE){D. MMMM YYYY} pour une locale explicite, num.currency pour un style de locale, et une barre verticale pour les alternatives ; les literals quotés et les apostrophes doublées préservent les caractères literal

Les styles de date, d’heure et de datetime utilisent les patterns default, short, medium, long ou full résolus ; le pattern numérique localeSet standard fournit à la fois num.decimal et sa partie entière pour num.integer

Les pictures de date/heure prennent en charge année, mois, jour, noms de jours de semaine, horloges 12/24 heures, minutes, secondes, millisecondes fractionnaires, meridiems et offsets GMT/UTC explicites ; les dates invalides telles que le 30 février renvoient un texte vide

Les pictures numériques prennent en charge le 9 obligatoire, le z optionnel, le Z comblé d’espaces, les séparateurs décimaux/de groupes, les symboles de devises et les codes de devises ISO, les pourcentages, les signes, les parenthèses, les suffixes crédit/débit et la base décimale implicite

Les pictures de texte prennent en charge A pour les lettres Unicode, O ou 0 pour les caractères alphanumériques Unicode, 9 pour les chiffres et X pour les points de code Unicode, caractères supplémentaires compris

Les clauses de pictures avancées ajoutent la notation scientifique numérique et la précision fractionnaire retenue, les dates ordinales et de semaine, des horloges supplémentaires, les symboles globaux de caractères/espaces et l’analyse d’entrées composées

Les paramètres null renvoient null ; pictures invalides, valeurs invalides ou locales indisponibles renvoient un texte vide

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")

Fonctions de date et d’heure

FonctionParamètres et résultat
DateFmt(style=0, locale), TimeFmt(style=0, locale)Renvoient les patterns XFA pour default 0, short 1, medium 2, long 3 ou full 4 ; les styles invalides sélectionnent default
Date2Num(text, picture, locale)Renvoie des jours sériels avec 1900-01-01 comme jour 1 ; une picture omise utilise le défaut de la locale et accepte aussi les dates ISO
Num2Date(serial, picture, locale)Formate des jours sériels avec la picture de date de la locale fournie ou par défaut
IsoDate2Num(text)Analyse les dates ISO compactes ou à tirets, y compris les suffixes d’heure optionnels
IsoTime2Num(text), Time2Num(text, picture, locale)Renvoient les millisecondes depuis minuit GMT plus 1 ; les offsets explicites sont appliqués et les offsets absents utilisent le fuseau horaire courant
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale)Formatent des sériels d’heure de 1 à 86400000 en GMT ou dans le fuseau horaire courant
Date(), Time()Renvoient les sériels de date/heure courants avec des entrées d’horloge enregistrées pendant le replay de session

Les pictures Num2Date omises produisent désormais une sortie localisée ; migrez les appelants qui exigent une sortie ISO vers Num2Date(serial, "YYYY-MM-DD")

Unités, encodage et utilitaires de texte

FonctionParamètres et résultat
UnitType(measurement)Reconnaît les alias in, cm, mm, pt, pc et mp ; les unités non reconnues reviennent aux pouces
UnitValue(measurement, targetUnit="in")Convertit les mesures avec 72 points par pouce, 12 points par pica et 1000 millipoints par point
Encode(text, encoding="url"), Decode(text, encoding="url")Prennent en charge l’échappement URL, les entités XML et les entités nommées/numériques HTML avec validation de scalaires Unicode
Uuid(style=0)Renvoie 32 chiffres hexadécimaux ou le style 1 avec tirets, avec bits de version 4 et de variante ; le replay utilise des entrées aléatoires enregistrées
WordNum(value, style=0, locale)Produit des nombres en mots anglais, des montants en dollars au style 1 ou dollars et cents au style 2 ; les domaines numériques invalides renvoient un astérisque

Frontières actuelles des pictures

Les ères alternatives, les représentations idéographiques ou pleine largeur, les alphabets de chiffres localisés, les symboles de patterns localisés en affichage seul et les politiques complètes de regroupement restent des cibles séparées ; WordNum émet des mots anglais

L’évaluateur scalaire natif conserve ses fonctions ISO et financières existantes ; les fonctions de locales/pictures exigent l’exécution générale

API de plus bas niveau

TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale et HPDFXFALocaleJavaScript exposent les métadonnées de locales Unicode et une sérialisation sûre du moteur

HPDFXFAExecuteJavaScriptEvent accepte TXFALocaleDataProvider pour une recherche personnalisée de métadonnées en lecture seule