FormCalc Locale- og Picture-funktioner

Aktivér TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript for at bruge disse funktioner i generelle FormCalc-events samt calculate- og validate-scripts gennem den medfølgende QuickJS-motor

Locale-valg

Det afviklende felt nedarver den nærmeste ikke-tomme locale-attribut fra sine forfædre; en tom kæde vælger den konfigurerede native Windows- eller Linux ICU-locale

Et dokument-localeSet-entry tilsidesætter native tal/valuta-symboler, måneds-/dag-/meridiem-navne og dato-/tid-/talmønstre; manglende værdier nedarver systemdata med en_US-fallback for custom locale-navne

Locale-identifikatorer accepterer underscore- og bindestregs-stavemåder case-insensitivt; beregnede navne som Concat("de", "_DE") opløses ved afviklingstid

Interne locale-anmodninger deler event-fristen og tillader 64 navngivne opslag, 256 UTF-16 code units pr. identifikator og 2 MiB samlet metadata; retries gendanner JavaScript-checkpointet, og committed sessionsreplay forbruger registreret metadata uden nyt provider-kald

Picture-funktioner

FunktionAdfærd
Format(picture, value, ...)Formaterer værdier med date-, time-, datetime-, num- eller text-clauses; standard sammensatte clauses formaterer samme værdi, med en valgfri udvidelse der accepterer tilsvarende værdiargumenter
Parse(picture, text)Parser typede clauses, sammensatte clauses eller alternativer til ISO dato/tid-tekst, decimal numerisk tekst eller tekst med literaler fjernet

Brug date(de_DE){D. MMMM YYYY} til en eksplicit locale, num.currency til en locale-stil og en lodret streg til alternativer; quotede literaler og dobbelte apostroffer bevarer literaltegn

Dato-, klokkeslæts- og datetime-styles bruger de opløste default-, short-, medium-, long- eller full-mønstre; standard localeSet numeriske mønster leverer både num.decimal og dets heltalsdel til num.integer

Dato-/klokkeslæts-pictures understøtter år, måned, dag, ugedagsnavne, 12/24-timers ure, minutter, sekunder, fraktionelle millisekunder, meridiemer og eksplicitte GMT/UTC-offsets; ugyldige datoer som 30. februar returnerer tom tekst

Numeriske pictures understøtter obligatorisk 9, valgfri z, mellemrumsfyldt Z, decimal-/gruppeseparatorer, valutasymboler og ISO-valutakoder, procenter, fortegn, parenteser, kredit/debit-suffikser og underforstået decimalradix

Tekst-pictures understøtter A for Unicode-bogstaver, O eller 0 for Unicode alfanumeriske tegn, 9 for cifre og X for Unicode code points, inklusive supplementary-tegn

Avancerede picture clauses tilføjer numerisk videnskabelig notation og bevaret fraktionel præcision, ordinal- og ugedatoer, yderligere klokker, globale tegn/whitespace-symboler og sammensat input-parsing

Null-parametre returnerer null; ugyldige pictures, ugyldige værdier eller utilgængelige locales returnerer tom tekst

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

Dato- og tidsfunktioner

FunktionParametre og resultat
DateFmt(style=0, locale), TimeFmt(style=0, locale)Returnerer XFA-mønstre for default 0, short 1, medium 2, long 3 eller full 4; ugyldige styles vælger default
Date2Num(text, picture, locale)Returnerer serial-dage med 1900-01-01 som dag 1; udeladt picture bruger locale-standarden og accepterer også ISO-datoer
Num2Date(serial, picture, locale)Formaterer serial-dage med den leverede eller default locale datopicture
IsoDate2Num(text)Parser kompakte eller bindestregs-ISO-datoer, inklusive valgfrie tidssuffikser
IsoTime2Num(text), Time2Num(text, picture, locale)Returnerer millisekunder siden GMT midnat plus 1; eksplicitte offsets anvendes, og fraværende offsets bruger den aktuelle tidszone
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale)Formaterer tidsserialer 1 til 86400000 i GMT eller den aktuelle tidszone
Date(), Time()Returnerer aktuelle dato/tids-serialer med registrerede ur-input under sessionsreplay

Udeladte Num2Date-pictures giver nu lokaliseret output; migrér kaldere, der kræver ISO-output, til Num2Date(serial, "YYYY-MM-DD")

Units, encoding og tekstværktøjer

FunktionParametre og resultat
UnitType(measurement)Genkender in-, cm-, mm-, pt-, pc- og mp-aliasser; ukendte units har som standard tommer
UnitValue(measurement, targetUnit="in")Konverterer målinger med 72 points pr. tomme, 12 points pr. pica og 1000 millipoints pr. point
Encode(text, encoding="url"), Decode(text, encoding="url")Understøtter URL-escaping, XML-entiteter og HTML navngivne/numeriske entiteter med Unicode scalar-validering
Uuid(style=0)Returnerer 32 hexadecimale cifre eller style 1 med bindestreger med version 4 og variant-bits; replay bruger registreret tilfældigt input
WordNum(value, style=0, locale)Producerer engelske talord, style 1 dollarbeløb eller style 2 dollars og cents; ugyldige numeriske domæner returnerer en stjerne

Aktuelle picture-grænser

Alternative æraer, ideografiske eller fuldbredde-repræsentationer, lokaliserede cipheralfabeter, lokaliserede kun-display mønstersymboler og komplette grupperingspolitikker forbliver separate mål; WordNum emitterer engelske ord

Den native scalar-evaluator beholder sine eksisterende ISO- og finance-funktioner; locale/picture-funktioner kræver generel afvikling

Lavniveau-API'er

TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale og HPDFXFALocaleJavaScript udstiller Unicode locale-metadata og sikker motors serialisering

HPDFXFAExecuteJavaScriptEvent accepterer TXFALocaleDataProvider til custom skrivebeskyttet metadata-opslag