FormCalc Locale and Picture Functions
Włącz TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript, by używać tych funkcji w ogólnych zdarzeniach FormCalc, skryptach calculate i validate przez dostarczany silnik QuickJS
Wybór locale
Wykonujące pole dziedziczy najbliższy niepusty atrybut locale od swoich przodków; pusty łańcuch wybiera skonfigurowane natywne locale ICU Windows albo Linux
Wpis localeSet dokumentu nadpisuje natywne symbole liczb/walut, nazwy miesięcy/dni/meridiemów i wzorce daty/czasu/liczby; brakujące wartości dziedziczą dane systemowe, z fallbackiem en_US dla własnych nazw locale
Identyfikatory locale przyjmują zapisy z podkreślnikiem i dywizem niewrażliwie na wielkość liter; wyliczone nazwy takie jak Concat("de", "_DE") rozwiązują się w czasie wykonania
Wewnętrzne żądania locale współdzielą deadline zdarzenia i dopuszczają 64 nazwane wyszukiwania, 256 jednostek kodu UTF-16 na identyfikator i 2 MiB zagregowanych metadanych; ponowienia przywracają checkpoint JavaScript, a zatwierdzony replay sesji konsumuje nagrane metadane bez kolejnego wywołania dostawcy
Funkcje obrazów
| Function | Behavior |
|---|---|
Format(picture, value, ...) | Formatuje wartości klauzulami date, time, datetime, num albo text; standardowe klauzule złożone formatują tę samą wartość, z opcjonalnym rozszerzeniem przyjmującym odpowiadające argumenty wartości |
Parse(picture, text) | Parsuje klauzule typowane, złożone albo alternatywy do tekstu ISO date/time, tekstu numerycznego dziesiętnego albo tekstu z usuniętymi literałami |
Użyj date(de_DE){D. MMMM YYYY} dla jawnego locale, num.currency dla stylu locale i pionowej kreski dla alternatyw; cytowane literały i podwójne apostrofy zachowują znaki literałowe
Style daty, czasu i datetime używają rozwiązanych wzorców default, short, medium, long albo full; standardowy wzorzec numeryczny localeSet dostarcza zarówno num.decimal, jak i jego część całkowitą dla num.integer
Obrazy daty/czasu wspierają rok, miesiąc, dzień, nazwy dni tygodnia, zegary 12/24-godzinne, minuty, sekundy, ułamkowe milisekundy, meridiemy i jawne offsety GMT/UTC; niepoprawne daty, takie jak 30 lutego, zwracają pusty tekst
Obrazy numeryczne wspierają obowiązkowe 9, opcjonalne z, Z dopełniane spacjami, separatory dziesiętne/grup, symbole walut i kody walut ISO, procenty, znaki, nawiasy, sufiksy credit/debit i niejawny przecinek dziesiętny
Obrazy tekstu wspierają A dla liter Unicode, O albo 0 dla znaków alfanumerycznych Unicode, 9 dla cyfr i X dla punktów kodu Unicode, włącznie ze znakami z płaszczyzny uzupełniającej
Zaawansowane klauzule picture dodają numeryczną notację naukową i zachowaną precyzję ułamkową, daty porządkowe i tygodniowe, dodatkowe zegary, globalne symbole znaków/białych znaków i złożone parsowanie wejścia
Parametry null zwracają null; niepoprawne obrazy, niepoprawne wartości albo niedostępne locale zwracają pusty 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")
Funkcje daty i czasu
| Function | Parameters and result |
|---|---|
DateFmt(style=0, locale), TimeFmt(style=0, locale) | Zwracają wzorce XFA dla default 0, short 1, medium 2, long 3 albo full 4; niepoprawne style wybierają default |
Date2Num(text, picture, locale) | Zwraca dni seryjne z 1900-01-01 jako dniem 1; pominięty obraz używa domyślnego locale i także przyjmuje daty ISO |
Num2Date(serial, picture, locale) | Formatuje dni seryjne dostarczonym albo domyślnym obrazem daty locale |
IsoDate2Num(text) | Parsuje daty ISO kompaktowe albo z dywizami, włącznie z opcjonalnymi sufiksami czasu |
IsoTime2Num(text), Time2Num(text, picture, locale) | Zwracają milisekundy od północy GMT plus 1; jawne offsety są stosowane, a nieobecne offsety używają bieżącej strefy czasowej |
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale) | Formatuj serialy czasu 1 do 86400000 w GMT albo bieżącej strefie czasowej |
Date(), Time() | Zwracają bieżące serialy daty/czasu z nagranymi wejściami zegara podczas replayu sesji |
Pominięte obrazy Num2Date produkują teraz wyjście zlokalizowane; przeprowadź wywołujących wymagających wyjścia ISO na Num2Date(serial, "YYYY-MM-DD")
Jednostki, kodowanie i narzędzia tekstu
| Function | Parameters and result |
|---|---|
UnitType(measurement) | Rozpoznaje aliasy in, cm, mm, pt, pc i mp; nierozpoznane jednostki domyślnie cale |
UnitValue(measurement, targetUnit="in") | Konwertuje miary z 72 punktami na cal, 12 punktami na cykler i 1000 milipunktami na punkt |
Encode(text, encoding="url"), Decode(text, encoding="url") | Wspiera eskapy URL, encje XML i encje HTML nazwane/numeryczne z walidacją skalarów Unicode |
Uuid(style=0) | Zwraca 32 cyfry szesnastkowe albo styl 1 z dywizami, z wersją 4 i bitami wariantu; replay używa nagranych wejść losowych |
WordNum(value, style=0, locale) | Produkuje angielskie słowa liczbowe, kwoty w dolarach stylu 1 albo dolary i centy stylu 2; niepoprawne dziedziny numeryczne zwracają gwiazdkę |
Bieżące granice obrazów
Alternatywne ery, reprezentacje ideograficzne albo pełnowymiarowe, zlokalizowane alfabety cyfr, zlokalizowane symbole wzorców tylko wyświetlane i kompletne polityki grupowania pozostają osobnymi celami; WordNum emituje słowa angielskie
Natywny ewaluator skalarny zachowuje swoje istniejące funkcje ISO i finansowe; funkcje locale/picture wymagają ogólnego wykonania
API niższego poziomu
TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale i HPDFXFALocaleJavaScript wystawiają metadane locale Unicode i bezpieczną serializację silnika
HPDFXFAExecuteJavaScriptEvent przyjmuje TXFALocaleDataProvider dla własnego wyszukiwania metadanych tylko do odczytu