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

FunctieGedrag
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

FunctieParameters 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

FunctieParameters 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