4D v14.3Modified |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Modified
|
Modified ( campo ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
campo | Campo |
![]() |
Campo a provar | |||||
Resultado | Booleano |
![]() |
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
Produto: 4D
Tema: Entrada de Dados
Número
32
Modificado: 4D 2004
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)