Os objectos estão de novo a fazê-lo, continuando a demonstrar a sua utilidade para aliviar a sua vida como programador.
A utilização de valores de tempo (ou duração) dentro dos objectos é agora mais suave e mais intuitiva. Começando com 4D v17, os tempos dentro de objectos são definidos como segundos – e não milissegundos!
Isto não era anteriormente visível para os utilizadores porque OB SET e OB Get teve de ser utilizado com a constante is time, pelo que as conversões foram feitas automaticamente.
OB SET ($myObject; "myTime";$time;is time)
$time :=OB Get ($myObject; "myTime";is time)
Agora, esta constante já não é obrigatória. O código acima pode ser encurtado, mas mais importante ainda, a notação de objectos também pode ser usada!
$myObject.myTime:=$time
$time :=$myObject.myTime
TEMPO EM OUTROS CONTEXTOS
CAMPOS DE OBJECTOS DE CONSULTA
- De agora em diante, ao consultar um campo de objectos com QUERY BY ATTRIBUTEAs comparações entre o número e um valor temporal são efectuadas em segundos em vez de milissegundos.
Aqui estão dois exemplos que produzem o mesmo resultado:
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)
ÁREA WEB
- Quando se chama JavaScript numa área web, a conversão de e para um tempo é executada em segundos em vez de milissegundos quando se usa:
- WA Avaliar JavaScript
- WA EXECUTAR A FUNÇÃO JAVASCRIPT
- Ponte de $4d
A COMPATIBILIDADE PODE SER MANUTENTADA FACILITAMENTE
Se necessário para bases de dados existentes, esta configuração padrão pode ser alterada com a SET DATABASE PARAMETER e o selector Times inside objects.
Há dois valores disponíveis para isto option:
- Times in milliseconds
- Times in seconds
Este parâmetro da base de dados é aplicado à própria base, e não apenas ao processo actual. Para manter a compatibilidade ou ajudar o processo de migração, este comando pode ser chamado durante o On Startup Database Method.