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
| Funzione | Comportamento |
|---|---|
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
| Funzione | Parametri 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
| Funzione | Parametri 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