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çãoComportamento
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çãoParâ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çãoParâ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