4D v16.3

Modified

Página Inicial

 
4D v16.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

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 Modifieddeve 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 _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 realmente foi modificado.

Nota: apesar de que Modified pode ser aplicado a todo tipo de campo, ele é utilizado com o comando [#cmd id="35"/], deve levar em conta as restrições que aplicam ao comando [#cmd id="35"/], Para mais detalhes, ver a descrição do comando [#cmd id="35"/],

Durante a entrada de dados, geralmente é mais fácil realizar operações em métodos de objeto com a ajuda do comando Form event 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



Ver também 

Form event
Old

 
PROPRIEDADES 

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

 
HISTÓRIA 

Modificado: 4D 2004

 
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)