4D v16.3

Usar tokens em fórmulas

Página Inicial

 
4D v16.3
Usar tokens em fórmulas

Usar tokens em fórmulas  


 

A linguagem 4D inclui um sistema de tokenização único para todos os nomes dos objetos da linguagem que forem usadas no código (constantes, comandos, tabelas, campos e palavras chaves). Tokenizar estes nomes significa que a medida que escreve se armazena internamente como referências absolutas (números) e logo se restauram como texto durante a execução ou visualização em função do contexto. Isto lhe permite garantir que o código sempre será interpretado corretamente, mesmo se modificar o nome das tabelas ou campos, ou  quando os comandos da linguagem 4D mudam de nome ao longo das diferentes versões do aplicativo.

Nota: isso também garante a tradução do código quando for ativada a opção  "Usar configuração do sistema regional" na Página Métodos das Preferências e abrir seus bancos de dados com as versões de 4D em diferentes idiomas.

A Tokenização é completamente transparente para os desenvolvedores 4D ao trabalhar no editor de código. Entretanto, este mecanismo não se aplica de forma automática nas fórmulas 4D já que consistem em texto que se interpreta durante a execução e não quando é escrito.  Na verdade, este é o  caso logo que o  código 4D se expressa em forma de texto sem formato, mais específicamente quando se exporta código e depois se importa utilizando os comandos METHOD GET CODE e METHOD SET CODE, copiar/colar ou interpretado desde Etiquetas HTML 4D.

Para continuar se beneficiando dos mecanismos de tokenização nestes contextos, só precisa utilizar uma sintaxe explícita (descrita mais adiante), que consiste em preceder os nomes dos objetos da linguagem de seu token.

Como padrão, o mecanismo de tokens não é implementado automaticamente nas fórmulas 4D (também chamadas expressões), já que consistem de texto que é interpretado no momento da execução e não quando está sendo ingressado. Entretanto, para os elementos nomeados das fórmulas, 4D oferece uma sintaxe especial que pode ser usada para referenciar diretamente aos tokens: só tem que adicionar um sufixo especifico e depois o nome do elemento para indicar seu tipo (comando, campo, etc.), seguido por sua referência. A sintaxe tokenizada se detalha na seguinte tabela:

ElementoExemplo (sintaxe normal)SufixoExemplo (sintaxe tokenizada)Comentários
Comando 4DString:CxxString:C10(a)xx é o número do comando
Tabela[Employees]:xx[Employees:1]xx é o número da tabela
Campo[Employees]Name:xx[Employees:1]Name:2xx é o número do campo
Plugin 4DPV PRINT(area):Pxx:yyPV PRINT:P13000:229(area)xx é a ID do plug-in e yy é o índice do comando

Note: Letras maiúsculas (C, P) devem ser usadas nos sufixos, ou não serão interpretadas corretamente.

Quando for usado esta sintaxe, garante que suas fórmulas serão interpretadas corretamente mesmo que em caso de mudança de nome ou quando o banco de dados for executado em uma linguagem diferente

Nota:
as constantes também são tokenizadas na linguagem, entretanto, nas fórmulas só podem passar seu valor com o objetivo de fazê-las independentes do  contexto.

Esta sintaxe é aceita em todas as fórmulas 4D (ou expressões 4D), independentemente do contexto de chamada:

A sintaxe token exige a adição de números de referência de vários elementos. A localização dessas referências depende do tipo de elemento.

Os números dos comandos  podem ser encontrados neste manual Linguagem (área "Propriedades"), assim como na página Comandos do Explorador:

Tabelas e números de campos podem ser obtidos usando os comandos Table e Field.

Eles também são exibidos em  Inspetor do editor Structure:

Para saber quais são os tokens para os comandos 4D plug-in, o truque é digitar o código desejado no editor Método e então reiniciar 4D depois de desativar o plug-in (por exemplo ao mover uma pasta). Isso significa que apenas tokens serão exibidos no editor Método, e pode copiar as que quiser.

Código com plug-in instalado:

O mesmo código depois que o plug-in foi desativado:



Ver também 

METHOD GET CODE

 
PROPRIEDADES 

Produto: 4D
Tema: Fórmulas

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)