4D v14.3

Modified

Página Inicial

 
4D v14.3
Modified

Modified 


 

Modified ( campo ) -> Resultado 
Parâmetro Tipo   Descrição
campo  Campo in Campo a provar
Resultado  Booleano in Verdadeiro se foi assinalado um novo valor ao campo, caso contrario Falso

Esta função é conservada por razões de compatibilidade unicamente porque está baseada na antiga administração dos ciclos de execução, a qual é obsoleta desde a versão 6 (ver os comandos Before, During, etc.). Na maioria dos casos, é recomendado utilizar o comando Form event e verificar se devolve o evento On Data Change.

Modified retorna True se um valor tiver sido atribuído por programação a campo ou se tiver sido modificado durante a entrada de dados. O comando Modified deve ser utilizado unicamente em um método de formulário (ou uma subrotina chamada por um método de formulário).

Atenção, este comando só devolve um valor significativo dentro do mesmo ciclo de execução. Particularmente devolve False para todos os eventos de formulário que correspondam ao antigo ciclo de execução During.

Durante a entrada de dados, um campo é considerado modificado se o usuário edita o campo (sem importar se modifica o valor original) e logo passa a outro campo ou clicar num controle. Note que o fato de sair de um campo com a ajuda da tecla Tab não significa que Modified retorna True. O campo deve ser editado para que Modified seja True.

Quando se executa um método, se considera que um campo foi modificado se lhe atribui um valor (diferente ou não).

Nota: Modified sempre devolve True depois da execução dos comandos PUSH RECORD e POP RECORD.

Em todos os casos, utilize o comando Old para detectar se o valor do campo em realidade foi modificado.

Nota: mesmo que Modified pode ser aplicado a todo tipo de campo, ele é utilizado com o comando Old, deve levar em conta as restrições que aplicam ao comando Old. Para mais detalhes, ver a descrição do comando Old

Durante a entrada de dados, geralmente é mais fácil realizar operações em métodos de objeto que utilizar Modified nos métodos de formulário. Como um método de objeto recebe o evento On Data Change quando se modifica um campo, o uso de um método de objeto é equivalente a utilizar Modified em um método de formulário.

Nota: para funcionar corretamente, o comando Modified deve ser utilizado unicamente em um método de formulário ou em um método chamado por um método de formulário.

O seguinte exemplo prova se o campo [Ordens]Quantidade ou o campo [Ordens]Preço for modificado. Se alguns dos dois foi modificado, então o campo [Ordens]Total foi calculado novamente.

 If((Modified(<span class="rte4d_prm">[Ordens]Quantidade</span><gen9>)|(Modified(</gen9><span class="rte4d_prm">[Ordens]Preço</span><gen9>))
    [Orders]Total :=</gen9><span class="rte4d_prm">[Ordens]Quantidade</span><gen9>*</gen9><span class="rte4d_prm">[Ordens]Preço</span><gen9>
 End if</gen9>

Note que o mesmo resultado pode ser obtido utilizando a segunda linha como uma subrotina chamada pelos métodos de objeto dos campos [Ordens]Quantidade e [Ordens]Preço no evento de formulário On Data Change.

Seleciona um registro para a tabela [umaTabela], depois chama múltiplas subrotinas que podem ser modificadas o campo [umaTabela]CampoImportante, mas não salva o registro. Ao final do método principal, pode utilizar o comando Modified para determinar se o registro deve ser guardado:

  ` O registro foi selecionado como registro atual
  ` Depois realiza ações utilizando subrotinas
 FAZER ALGO
 FAZER ALGO MAIS
 NÃO ESQUECER DE FAZER ISTO
  ` ...
  ` E depois você testa o campo para determinar se o registro deve ser guardado
 If(Modified([umaTabela]CampoImportante))
    SAVE RECORD([umaTabela])
 End if

 
PROPRIEDADES 

Produto: 4D
Tema: Entrada de Dados
Número 32

Este comando é obsoleto e não deve ser mais utilizado

 
HISTÓRIA 

Modificado: 4D 2004

 
VER TAMBÉM 

Form event
Old

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)