Funções FormCalc de locales e pictures
Ative TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript para usar estas funções em eventos gerais FormCalc e em scripts calculate e validate através do motor QuickJS distribuído
Seleção de locales
O campo em execução herda o atributo locale não vazio mais próximo dos ancestrais dele; uma cadeia vazia seleciona o locale nativo configurado de Windows ou de ICU Linux
Uma entrada de localeSet de documentos sobrepõe símbolos nativos de números/moedas, nomes de meses/dias/meridiens e padrões de datas/horas/números; valores em falta herdam dados do sistema, com fallback en_US para nomes personalizados de locales
Identificadores de locales aceitam grafias com underscore e hífen insensíveis a maiúsculas e minúsculas; nomes calculados como Concat("de", "_DE") resolvem-se no momento da execução
Pedidos internos de locales partilham o prazo do evento e permitem 64 consultas nomeadas, 256 unidades de código UTF-16 por identificador e 2 MiB de metadados agregados; retries restauram o checkpoint JavaScript, e o replay confirmado de sessões consome metadados registados sem outra chamada ao fornecedor
Funções de pictures
| Função | Comportamento |
|---|---|
Format(picture, value, ...) | Formata valores usando cláusulas de datas, horas, datetimes, num ou texto; cláusulas compostas standard formatam o mesmo valor, com uma extensão opcional a aceitar argumentos de valores correspondentes |
Parse(picture, text) | Analisa cláusulas tipadas, cláusulas compostas ou alternativas em texto ISO de data/hora, texto decimal numérico ou texto com literais removidos |
Use date(de_DE){D. MMMM YYYY} para um locale explícito, num.currency para um estilo de locale, e uma barra vertical para alternativas; literais entre aspas e apóstrofos duplicados preservam carateres literais
Estilos de datas, horas e datetimes usam os padrões resolvidos default, short, medium, long ou full; o padrão numérico standard de localeSet fornece tanto num.decional como a parte inteira dele para num.integer
Pictures de datas/horas suportam ano, mês, dia, nomes de dias da semana, relógios de 12/24 horas, minutos, segundos, milissegundos fracionários, meridiens e offsets explícitos GMT/UTC; datas inválidas como 30 de fevereiro devolvem texto vazio
Pictures numéricas suportam 9 obrigatório, z opcional, Z com espaços de padding, separadores decimais/de grupos, símbolos de moedas e códigos ISO de moedas, percentagens, sinais, parênteses, sufixos de crédito/débito e base decimal implícita
Pictures de texto suportam A para letras Unicode, O ou 0 para carateres alfanuméricos Unicode, 9 para dígitos e X para code points Unicode, incluindo carateres suplementares
Picture clauses avançadas acrescentam notação científica numérica e precisão fracionária retida, datas ordinais e de semanas, relógios adicionais, símbolos globais de carateres/whitespace e parsing composto de entradas
Parâmetros null devolvem null; pictures inválidas, valores inválidos ou locales indisponíveis devolvem texto vazio
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")
Funções de datas e horas
| Função | Parâmetros e resultado |
|---|---|
DateFmt(style=0, locale), TimeFmt(style=0, locale) | Devolvem padrões XFA para default 0, short 1, medium 2, long 3 ou full 4; estilos inválidos selecionam default |
Date2Num(text, picture, locale) | Devolve dias seriais com 1900-01-01 como dia 1; picture omitida usa o default do locale e também aceita datas ISO |
Num2Date(serial, picture, locale) | Formata dias seriais usando a picture de datas fornecida ou o default do locale |
IsoDate2Num(text) | Analisa datas ISO compactas ou com hífenes, incluindo sufixos opcionais de horas |
IsoTime2Num(text), Time2Num(text, picture, locale) | Devolvem milissegundos desde a meia-noite GMT mais 1; offsets explícitos são aplicados e offsets ausentes usam o timezone atual |
Num2GMTime(serial, picture, locale), Num2Time(serial, picture, locale) | Formatam seriais de horas de 1 a 86400000 em GMT ou no timezone atual |
Date(), Time() | Devolvem seriais atuais de datas/horas com entradas registadas de relógios durante o replay de sessões |
Pictures Num2Date omitidas agora produzem saída localizada; migre quem chama exigindo saída ISO para Num2Date(serial, "YYYY-MM-DD")
Unidades, encoding e utilitários de texto
| Função | Parâmetros e resultado |
|---|---|
UnitType(measurement) | Reconhece aliases in, cm, mm, pt, pc e mp; unidades não reconhecidas têm por defeito polegadas |
UnitValue(measurement, targetUnit="in") | Converte medições com 72 pontos por polegada, 12 pontos por pica e 1000 milipontos por ponto |
Encode(text, encoding="url"), Decode(text, encoding="url") | Suporta escapes URL, entidades XML e entidades HTML nomeadas/numéricas com validação de scalars Unicode |
Uuid(style=0) | Devolve 32 dígitos hexadecimais ou o estilo 1 com hífenes, com versão 4 e bits de variante; o replay usa entradas registadas aleatórias |
WordNum(value, style=0, locale) | Produz palavras numéricas em inglês, montantes em dólares no estilo 1 ou dólares e cêntimos no estilo 2; domínios numéricos inválidos devolvem um asterisco |
Fronteiras atuais de pictures
Eras alternativas, representações ideográficas ou de largura completa, alfabetos localizados de dígitos, símbolos localizados de padrões apenas de apresentação e políticas completas de agrupamentos continuam a ser alvos separados; WordNum emite palavras em inglês
O avaliador nativo escalar mantém as funções existentes dele ISO e de finanças; funções de locales/pictures exigem execução geral
APIs de nível inferior
TXFALocaleData, HPDFXFALoadLocale, HPDFXFALoadDocumentLocale e HPDFXFALocaleJavaScript expõem metadados Unicode de locales e serialização segura de motores
HPDFXFAExecuteJavaScriptEvent aceita TXFALocaleDataProvider para consulta personalizada só de leitura de metadados