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
| Funktion | Adfæ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
| Funktion | Parametre 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
| Funktion | Parametre 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