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ı

FunctionDavranış
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ı

FunctionParametreler 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ı

FunctionParametreler 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