Zeiten innerhalb von Objekten… (und überall sonst)

Automatisch übersetzt von Deepl

Objekte sind wieder im Kommen und demonstrieren weiterhin ihre Nützlichkeit, um Ihr Leben als Entwickler zu erleichtern.

Die Verwendung von Zeitwerten (oder Dauerwerten) innerhalb von Objekten ist jetzt reibungsloser und intuitiver. Ab 4D v17 werden Zeiten innerhalb von Objekten in Sekunden angegeben – und nicht mehr in Millisekunden!

Dies war bisher für die Benutzer nicht sichtbar, weil OB SET und OB Get mit der Konstante is time verwendet werden musste, so dass die Konvertierungen automatisch vorgenommen wurden.

OB SET ($myObject; "myTime";$time;is time)
$time :=OB Get ($myObject; "myTime";is time)

Jetzt ist diese Konstante nicht mehr zwingend erforderlich. Der obige Code kann gekürzt werden, aber noch wichtiger ist, dass auch die Objektnotation verwendet werden kann!

$myObject.myTime:=$time
$time :=$myObject.myTime

ZEIT IN ANDEREN KONTEXTEN

ABFRAGE VON OBJEKTFELDERN

  • Von nun an werden bei der Abfrage eines Objektfeldes mit QUERY BY ATTRIBUTEwerden Vergleiche zwischen Zahlen- und Zeitwerten in Sekunden statt in Millisekunden durchgeführt.

Hier sind zwei Beispiele, die das gleiche Ergebnis liefern:

QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)

QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)

WEB AREA

  • Beim Aufruf von JavaScript in einem Webbereich wird die Konvertierung von und nach einer Zeit in Sekunden statt in Millisekunden durchgeführt:
    • WA JavaScript auswerten
    • WA JAVASCRIPTFUNKTION AUSFÜHREN
    • $4d-Brücke

KOMPATIBILITÄT KANN EINFACH GEWARTET WERDEN

Falls für bestehende Datenbanken erforderlich, kann diese Standardeinstellung mit dem SET DATABASE PARAMETER Befehl und dem Selektor Times inside objects geändert werden.

Es gibt zwei verfügbare Werte für diese option:

  • Times in milliseconds
  • Times in seconds

Dieser Datenbankparameter wird auf die Datenbank selbst angewendet, nicht nur auf den aktuellen Prozess. Um die Kompatibilität zu erhalten oder den Migrationsprozess zu unterstützen, kann dieser Befehl während des On Startup Database Method.

Roland Lannuzel
- Product Owner & 4D Experte - Nach seinem Studium der Elektronik arbeitete Roland als Entwickler und Berater in der industriellen IT-Branche, wo er Lösungen für Kunden mit einer Vielzahl von Datenbanken und Technologien entwickelte. In den späten 80er Jahren verliebte er sich in 4D und setzte es bei der Entwicklung von Geschäftsanwendungen wie Buchhaltungs-, Abrechnungs- und E-Mail-Systemen ein. 1997 trat er schließlich in das Unternehmen ein und leistete einen wertvollen Beitrag, indem er Spezifikationen, Testtools und Demos entwarf, Schulungen durchführte und auf vielen Konferenzen für die 4D Community sprach. Er gestaltet die Zukunft von 4D aktiv mit, indem er neue Funktionen und Datenbankentwicklungstools definiert.