Funzioni FormCalc per locale e picture

Abilitate TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript per usare queste funzioni negli eventi FormCalc generali e negli script calculate e validate attraverso l'engine QuickJS fornito

Selezione del locale

Il campo in esecuzione eredita l'attributo locale non vuoto più vicino dai propri antenati; una catena vuota seleziona il locale ICU Windows o Linux nativo configurato

Una entry localeSet del documento sovrascrive i simboli nativi di numeri/valuta, i nomi di mesi/giorni/meridiem e i pattern di data/ora/numero; i valori mancanti ereditano i dati di sistema, con fallback en_US per nomi di locale custom

Gli identificatori di locale accettano ortografie con underscore e trattino in modo case-insensitive; i nomi calcolati come Concat("de", "_DE") si risolvono a tempo di esecuzione

Le richieste interne di locale condividono la scadenza dell'evento e permettono 64 lookup nominati, 256 code unit UTF-16 per identificatore e 2 MiB di metadati aggregati; i retry ripristinano il checkpoint JavaScript, e il replay di sessione committato consuma i metadati registrati senza un'altra chiamata al provider

Funzioni picture

FunzioneComportamento
Format(picture, value, ...)Formatta i valori usando clausole date, time, datetime, num o text; le clausole composte standard formattano lo stesso valore, con un'estensione opzionale che accetta gli argomenti value corrispondenti
Parse(picture, text)Analizza clausole tipizzate, clausole composte o alternative in testo ISO data/ora, testo numerico decimale o testo con i literal rimossi

Usate date(de_DE){D. MMMM YYYY} per un locale esplicito, num.currency per uno stile di locale, e una barra verticale per le alternative; i literal tra virgolette e gli apostrofi raddoppiati preservano i caratteri literal

Gli stili di data, ora e datetime usano i pattern resolved default, short, medium, long o full; il pattern numerico localeSet standard fornisce sia num.decimal sia la sua parte intera per num.integer

Le picture data/ora supportano anno, mese, giorno, nomi dei giorni della settimana, orologi 12/24 ore, minuti, secondi, millisecondi frazionari, meridiem e offset GMT/UTC espliciti; le date non valide come il 30 febbraio restituiscono testo vuoto

Le picture numeriche supportano 9 obbligatorio, z opzionale, Z con spaziatura, separatori decimali/di gruppo, simboli di valuta e codici valuta ISO, percentuali, segni, parentesi, suffissi credit/debit e radix decimale implicito

Le picture testuali supportano A per le lettere Unicode, O o 0 per i caratteri alfanumerici Unicode, 9 per le cifre e X per i code point Unicode, inclusi i caratteri supplementari

Clausole picture avanzate aggiungono notazione scientifica numerica e precisione frazionaria trattenuta, date ordinali e di settimana, orologi aggiuntivi, simboli globali carattere/whitespace e parsing di input composto

I parametri null restituiscono null; picture non valide, valori non validi o locale non disponibili restituiscono testo vuoto

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

Funzioni di data e ora

FunzioneParametri e risultato
DateFmt(style=0, locale), TimeFmt(style=0, locale)Restituiscono pattern XFA per default 0, short 1, medium 2, long 3 o full 4; gli stili non validi selezionano default
Date2Num(text, picture, locale)Restituisce giorni seriali con 1900-01-01 come giorno 1; la picture omessa usa il default del locale e accetta anche date ISO
Num2Date(serial, picture, locale)Formatta i giorni seriali usando la picture data fornita o quella default del locale
IsoDate2Num(text)Analizza date ISO compatte o con trattini, inclusi suffissi di ora opzionali
IsoTime2Num(text), Time2Num(text, picture, locale)Restituiscono millisecondi dalla mezzanotte GMT più 1; gli offset espliciti vengono applicati e gli offset assenti usano il timezone corrente
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale)Formattano seriali di ora da 1 a 86400000 in GMT o nel timezone corrente
Date(), Time()Restituiscono seriali correnti di data/ora con input di orologio registrati durante il replay di sessione

Le picture Num2Date omesse ora producono output localizzato; migrate i chiamanti che richiedono output ISO a Num2Date(serial, "YYYY-MM-DD")

Unità, encoding e utility testuali

FunzioneParametri e risultato
UnitType(measurement)Riconosce gli alias in, cm, mm, pt, pc e mp; le unità non riconosciute hanno default pollici
UnitValue(measurement, targetUnit="in")Converte le misure con 72 punti per pollice, 12 punti per pica e 1000 millipunti per punto
Encode(text, encoding="url"), Decode(text, encoding="url")Supportano escaping URL, entità XML ed entità HTML nominative/numeriche con validazione degli scalari Unicode
Uuid(style=0)Restituisce 32 cifre esadecimali o lo stile 1 con trattini, con bit di versione 4 e variant; il replay usa input casuali registrati
WordNum(value, style=0, locale)Produce parole numeriche inglesi, importi in dollari stile 1 o dollari e centesimi stile 2; i domini numerici non validi restituiscono un asterisco

Limiti attuali delle picture

Ere alternative, rappresentazioni ideografiche o full-width, alfabeti di cifre localizzati, simboli di pattern localizzati di sola visualizzazione e policy complete di raggruppamento restano obiettivi separati; WordNum emette parole inglesi

Il valutatore scalare nativo conserva le proprie funzioni ISO e finanziarie esistenti; le funzioni locale/picture richiedono esecuzione generale

API di livello inferiore

TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale e HPDFXFALocaleJavaScript espongono metadati di locale Unicode e serializzazione sicura dell'engine

HPDFXFAExecuteJavaScriptEvent accetta TXFALocaleDataProvider per lookup custom di metadati in sola lettura