Tempos dentro de objectos… (e em qualquer outro lugar)

Tradução automática de Deepl

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 segundose 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.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.