FormCalc Locale ve Picture Functions
Bu function'ları shipped QuickJS engine üzerinden genel FormCalc event'lerinde ve calculate ve validate script'lerinde kullanmak için TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript etkinleştirin
Locale seçimi
Yürüten field, ancestor'larından en yakın boş-olmayan locale attribute'unu kalıtır; boş bir zincir, yapılandırılmış native Windows veya Linux ICU locale'ini seçer
Bir document localeSet entry'si, native sayı/para-birimi sembollerini, ay/gün/meridiem adlarını ve date/time/number pattern'lerini geçersiz kılar; eksik value'lar sistem data'sını kalıtır — özel locale adları için en_US fallback ile
Locale identifier'ları, alt-çizgi ve kısa-çizgi yazımlarını büyük-küçük-harf-duyumsuz kabul eder; Concat("de", "_DE") gibi hesaplanan adlar yürütme sırasında çözümlenir
İç locale istekleri, event deadline'ını paylaşır ve 64 adlandırılmış aramaya, identifier başına 256 UTF-16 code unit'e ve 2 MiB toplam metadata'ya izin verir; retry'ler JavaScript checkpoint'ini geri yükler ve commit edilmiş session replay, kayıtlı metadata'yı başka bir provider çağrısı olmadan tüketir
Picture function'ları
| Function | Davranış |
|---|---|
Format(picture, value, ...) | Value'ları date, time, datetime, num veya text clause'larıyla formatlar; standart bileşik clause'lar aynı value'yı formatlar — karşılık gelen value argümanları kabul eden opsiyonel bir uzantıyla |
Parse(picture, text) | Yazılan clause'ları, bileşik clause'ları veya alternatifleri ISO date/time metnine, ondalık sayısal metne veya literal'leri çıkarılmış metne parse eder |
Açık bir locale için date(de_DE){D. MMMM YYYY}, locale style'ı için num.currency ve alternatifler için dikey çizgi kullanın; quote edilen literal'ler ve ikileme apostroflar literal character'ları korur
Date, time ve datetime style'ları, çözümlenmiş default, short, medium, long veya full pattern'leri kullanır; standart localeSet sayısal pattern, num.decimal'i ve num.integer için onun integer bölümünü birlikte sağlar
Date/time picture'ları, yıl, ay, gün, haftanın-günü adları, 12/24-saatli saatleri, dakikaları, saniyeleri, kesirli milisaniyeleri, meridiem'leri ve açık GMT/UTC offset'leri destekler; 30 Şubat gibi geçersiz tarihler boş metin döndürür
Sayısal picture'lar, zorunlu 9'u, opsiyonel z'yi, boşluk-pad'li Z'yi, ondalık/grup ayırıcılarını, para-birimi sembolleri ve ISO para-birimi kodlarını, yüzdeleri, işaretleri, parantezleri, credit/debit soneklerini ve varsayılan ondalık radix'i destekler
Metin picture'ları, Unicode harfler için A'yı, Unicode alfanumerik character'lar için O veya 0'ı, digit'ler için 9'u ve Unicode code point'leri — supplementary character'lar dâhil — X'i destekler
Gelişmiş picture clause'ları, sayısal bilimsel gösterimi ve korunan kesirli hassasiyeti, sıralı ve hafta tarihlerini, ek saatleri, global character/whitespace sembollerini ve bileşik input parsing'i ekler
Null parametreler null döndürür; geçersiz picture'lar, geçersiz value'lar veya kullanılabilir-olmayan locale'ler boş metin döndürür
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")
Date ve time function'ları
| Function | Parametreler ve result |
|---|---|
DateFmt(style=0, locale), TimeFmt(style=0, locale) | Default 0, short 1, medium 2, long 3 veya full 4 için XFA pattern'leri döndürür; geçersiz style'lar default'u seçer |
Date2Num(text, picture, locale) | 1900-01-01 gün 1 olmak üzere serial günleri döndürür; atlanan picture, locale default'unu kullanır ve ISO tarihlerini de kabul eder |
Num2Date(serial, picture, locale) | Serial günleri, sağlanan veya default locale date picture'ıyla formatlar |
IsoDate2Num(text) | Kompakt veya kısa-çizgili ISO tarihlerini — opsiyonel time sonekleri dâhil — parse eder |
IsoTime2Num(text), Time2Num(text, picture, locale) | GMT gece yarısından itibaren artı 1 olan milisaniyeleri döndürür; açık offset'ler uygulanır ve eksik offset'ler mevcut timezone'u kullanır |
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale) | Time serial'lerini 1'den 86400000'e GMT'de veya mevcut timezone'da formatlar |
Date(), Time() | Session replay sırasında kayıtlı clock girdileriyle mevcut date/time serial'lerini döndürür |
Atlanan Num2Date picture'ları artık yerelleştirilmiş output üretir; ISO output gerektiren çağıranları Num2Date(serial, "YYYY-MM-DD")'ye taşıyın
Unit'ler, encoding ve metin yardımcıları
| Function | Parametreler ve result |
|---|---|
UnitType(measurement) | in, cm, mm, pt, pc ve mp alias'larını tanır; tanınmayan unit'ler inç'e default'ludur |
UnitValue(measurement, targetUnit="in") | Ölçümleri, inç başına 72 punto, pica başına 12 punto ve punto başına 1000 millipoint ile dönüştürür |
Encode(text, encoding="url"), Decode(text, encoding="url") | URL escaping'i, XML entity'lerini ve Unicode scalar doğrulamasıyla HTML adlandırılmış/sayısal entity'leri destekler |
Uuid(style=0) | 32 onaltılık digit veya kısa-çizgili style 1 döndürür — version 4 ve variant bit'leriyle; replay, kayıtlı rastgele girdileri kullanır |
WordNum(value, style=0, locale) | İngilizce sayı kelimeleri, style 1 dolar tutarları veya style 2 dolar ve kuruşlar üretir; geçersiz sayısal domain'ler yıldız döndürür |
Mevcut picture sınırları
Alternatif era'lar, ideografik veya tam-genişlik temsilleri, yerelleştirilmiş digit alfabeleri, yerelleştirilmiş display-only pattern sembolleri ve eksiksiz gruplama politikaları ayrı hedefler olarak kalır; WordNum İngilizce kelimeler yayar
Native scalar evaluator, mevcut ISO ve finans function'larını tutar; locale/picture function'ları genel yürütme gerektirir
Alt-düzey API'ler
TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale ve HPDFXFALocaleJavaScript, Unicode locale metadata'sını ve güvenli engine serialize etmesini açığa çıkarır
HPDFXFAExecuteJavaScriptEvent, özel read-only metadata araması için TXFALocaleDataProvider kabul eder