FormCalc Locale and Picture Functions
Zet TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript aan om deze functies te gebruiken in algemene FormCalc-events en calculate- en validate-scripts via de meegeleverde QuickJS-engine
Locale-selectie
Het uitvoerende veld erft het dichtstbijzijnde niet-lege locale-attribute vanuit diens voorouders; een lege keten kiest de geconfigureerde native Windows- of Linux ICU-locale
Een document localeSet-entry overschrijft native getal/valuta-symbolen, maand-/dag-/meridiem-namen en datum-/tijd-/getalpatronen; ontbrekende waarden erven systeemdata, met en_US-fallback voor custom locale-namen
Locale-identificatoren accepteren underscore- en koppelteken-spellingen case-insensitief; berekende namen zoals Concat("de", "_DE") resolven op executietijd
Interne locale-requests delen de event-deadline en staan 64 benoemde lookups, 256 UTF-16-code-units per identificator en 2 MiB geaggregeerde metadata toe; retries herstellen het JavaScript-checkpoint, en gecommitte session-replay consumeert geregistreerde metadata zonder nog een provider-aanroep
Picture-functies
| Functie | Gedrag |
|---|---|
Format(picture, value, ...) | Formatteert waarden met datum-, tijd-, datetime-, num- of tekst-clausules; standaard samengestelde clausules formatteren dezelfde waarde, met een optionele extensie die bijbehorende waardeargumenten accepteert |
Parse(picture, text) | Parsgetypeerde clausules, samengestelde clausules of alternatieven naar ISO datum/tijd-tekst, decimale numerieke tekst of tekst zonder literals |
Gebruik date(de_DE){D. MMMM YYYY} voor een expliciete locale, num.currency voor een locale-stijl, en een verticale streep voor alternatieven; geqoutete literals en verdubbelde apostrofs behouden letterlijke tekens
Datum-, tijd- en datetime-stijlen gebruiken de opgeloste default-, short-, medium-, long- of full-patronen; het standaard localeSet-numerieke patroon levert zowel num.decimal als diens integer-deel voor num.integer
Datum/tijd-pictures ondersteunen jaar, maand, dag, weekdagnamen, 12/24-uursklokken, minuten, seconden, fractionele milliseconden, meridiemen en expliciete GMT/UTC-offsets; ongeldige datums zoals 30 februari geven lege tekst terug
Numerieke pictures ondersteunen verplichte 9, optionele z, met spaties gevulde Z, decimale/groepsseparatoren, valutasymbolen en ISO-valutacodes, percentages, tekens, haakjes, credit/debit-suffixen en impliciete decimale radix
Tekst-pictures ondersteunen A voor Unicode-letters, O of 0 voor Unicode alfanumerieke tekens, 9 voor cijfers en X voor Unicode-codepunten, inclusief supplementary characters
Advanced picture clauses voegen numerieke wetenschappelijke notatie en behouden fractionele precisie, ordinale en weekdatums, extra klokken, globale teken/whitespace-symbolen en samengestelde invoer-parsing toe
Null-parameters geven null terug; ongeldige pictures, ongeldige waarden of onbeschikbare locales geven lege tekst terug
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")
Datum- en tijdfuncties
| Functie | Parameters en resultaat |
|---|---|
DateFmt(style=0, locale), TimeFmt(style=0, locale) | Geven XFA-patronen terug voor default 0, short 1, medium 2, long 3 of full 4; ongeldige stijlen kiezen default |
Date2Num(text, picture, locale) | Geeft seriële dagen terug met 1900-01-01 als dag 1; weggelaten picture gebruikt de locale-default en accepteert ook ISO-datums |
Num2Date(serial, picture, locale) | Formatteert seriële dagen met de meegeleverde of default locale-datumpicture |
IsoDate2Num(text) | Parscompacte of met koppeltekens geschreven ISO-datums, inclusief optionele tijd-suffixen |
IsoTime2Num(text), Time2Num(text, picture, locale) | Geven milliseconden sinds GMT-middernacht plus 1 terug; expliciete offsets worden toegepast en afwezige offsets gebruiken de huidige tijdzone |
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale) | Formatteren tijdseriën 1 tot en met 86400000 in GMT of de huidige tijdzone |
Date(), Time() | Geven huidige datum/tijd-serieën terug met geregistreerde klok-invoeren tijdens session-replay |
Weggelaten Num2Date-pictures leveren nu gelokaliseerde uitvoer; migreer aanroepers die ISO-uitvoer vereisen naar Num2Date(serial, "YYYY-MM-DD")
Units, encoding en tekst-utils
| Functie | Parameters en resultaat |
|---|---|
UnitType(measurement) | Herkennt in, cm, mm, pt, pc en mp-aliassen; onherkende units defaulten naar inches |
UnitValue(measurement, targetUnit="in") | Converteert metingen met 72 punten per inch, 12 punten per pica en 1000 millipunten per punt |
Encode(text, encoding="url"), Decode(text, encoding="url") | Ondersteunt URL-escaping, XML-entities en HTML benoemde/numerieke entities met Unicode-scalar-validatie |
Uuid(style=0) | Geeft 32 hexadecimale cijfers of stijl 1 met koppeltekens terug, met versie 4 en variant-bits; replay gebruikt geregistreerde random-invoer |
WordNum(value, style=0, locale) | Levert Engelse getalwoorden, stijl 1 dollarbedragen of stijl 2 dollars en cents; ongeldige numerieke domeinen geven een asterisk terug |
Huidige picture-grenzen
Alternatieve era's, ideografische of full-width-representaties, gelokaliseerde cijferalfabetten, gelokaliseerde display-only-patroon-symbolen en complete grouping-policies blijven aparte doelen; WordNum schrijft Engelse woorden
De native scalar-evaluator behoudt diens bestaande ISO- en finance-functies; locale/picture-functies vragen algemene executie
Lower-level API's
TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale en HPDFXFALocaleJavaScript leggen Unicode-locale-metadata en veilige engine-serialisatie bloot
HPDFXFAExecuteJavaScriptEvent accepteert TXFALocaleDataProvider voor custom read-only metadata-opzoek