4D v15

Etiquetas de transformação 4D

Página Inicial

 
4D v15
Etiquetas de transformação 4D

Etiquetas de transformação 4D  


 

 

Originalmente introduzido em 4D v14 R4

As etiquetas de transformação 4D (anteriormente chamadas Etiquetas HTML 4D) foram estendidas:

  • uma nova etiqueta 4DEVAL foi adicionado
  • a etiqueta 4DLOOP agora é compatível com qualquer expressão 4D ou com um ponteiro a um array como parâmetro.

Nota: o comando PROCESS 4D TAGS foi estendido também em 4D v14 R4. Para obter mais informação, consulte a seção PROCESS 4D TAGS.

Sintaxe: <!--#4DEVAL VarName--> o <!--#4DEVAL 4DExpression-->

A nova etiqueta 4DEVAL lhe permite avaliar uma variável ou uma expressão 4D.

Igualmente que a etiqueta 4DHTML existente, 4DEVAL não escapa os caracteres HTML ao devolver texto. No entanto, a diferença de 4DHTML ou 4DTEXT, 4DEVAL lhe permite executar toda instrução 4D válida,  incluindo atribuições e expressões que não devolvem nenhum valor.

Por exemplo, pode executar:

 $input:="<!--#4DEVAL a:=42-->" //assignment
 $input:=$input+"<!--#4DEVAL a+1-->" //calculation
 PROCESS 4D TAGS($input;$output)
  //$output = "43"

Pode utilizar os comandos ou funções 4D diretamente como expressões. Neste caso, é uma boa ideia inserir o código de escape do número de comando no parâmetro Expresion4D. Desta maneira a expressão será avaliada corretamente sem importar a versão da linguagem 4D utilizada, ou se o nome do comando muda em um lançamento 4D futuro. A sintaxe a utilizar é "<nome_comando>:C<número_comando>. Por exemplo, para chamar Current time Current time, escreva "Current time:C178".

Nota: os números dos comandos podem ser encontradas na página Comandos do Explorador:



Em caso de um erro de avaliação, o texto inserido será da forma: “<!--#4DEVAL expression--> : ## error # error code”.

Nota: a execução de um método 4D via um 4DEVAL desde uma petição Web requer que a opção "Disponível através das etiquetas 4D e URLs (4DACTION...)" esteja selecionada nas propriedades do método. Para obter mais informação, consulte a seção Segurança das conexões.

4DLOOP  

A etiqueta 4DLOOP agora aceita dois novos tipos de condições (além disso de tabela, array e método): uma expressão 4D e um ponteiro de array

  • <!--#4DLOOP 4DExpression-->
    Com esta sintaxe, a etiqueta 4DLOOP fará um laço em tanto que a expressão 4D devolve True. A expressão pode ser qualquer expressão booleana válida e deve conter uma parte variável a avaliar em cada laço para evitar laços infinitos.

Por exemplo, o seguinte código:

<!--#4DEVAL $i:=0-->
<!--#4DLOOP ($i<4)-->
<!--#4DEVAL $i-->
<!--#4DEVAL $i:=$i+1-->
<!--#4DENDLOOP-->

produzirá:

0
1
2
3

  • <!--#4DLOOP pointerArray-->
    Neste caso, a etiqueta 4DLOOP funcionará como é feito com um array: é feito um laço para cada elemento do array. O elemento atual do array se incrementa cada vez que a porção de código se repete.

Esta sintaxe é útil quando se passa um ponteiro de array como parâmetro ao comando PROCESS 4D TAGS.

Exemplo:

 ARRAY TEXT($array;2)
 $array{1}:="hello"
 $array{2}:="world"
 $input:="<!--#4DEVAL $1-->"
 $input:=$input+"<!--#4DLOOP $2-->"
 $input:=$input+"<!--#4DEVAL $2->{$2->}--> "
 $input:=$input+"<!--#4DENDLOOP-->"
 PROCESS 4D TAGS($input;$output;"elements = ";->$array)
  // $output = "elements = hello world"

 
PROPRIEDADES 

Produto: 4D
Tema: Language

 
HISTÓRIA 

 
ARTICLE USAGE

4D v15 - Update (edição standard) ( 4D v15)