D7WS HOMEPAGE WORKSHOP NEUE XTRAS GALERIE WORKSHOP Automatic Translation LESERSERVICE BUCH NEWS

Berechnung des Wochentags mit "the systemdate"

 

 

 

Home
Workshop-Seite

Die in Director 7 neu hinzugekommene Funktion the systemdate gestattet es im Unterschied zur Funktion the date, das Datum des jeweiligen Systems in einem konsistenten Format abzufragen. Die Rückgabe der Funktion the date ist eine Zeichenkette ist, deren Format von den Einstellungen des Systems abhängt. So kann der Wert "08.06.68" sowohl für den achten Juni als auch für den sechsten August des Jahres 1968 stehen. Als Workaround für Datumsberechnungen bot sich in früheren Versionen so nur die aufwendigere Verwendung der Funktion the long date (diese liefert Ergebnisse wie z.B. "Sonntag, 5. Dezember 1999") oder die Funktion eines entsprechenden Xtras an.
Die neue Funktion the systemdate liefert hingegen keine Zeichenkette, sondern Daten im speziellen Format "#date" zurück, wie ein Test im Nachrichtenfenster illustriert.


Daten vom Typ "#date" besitzen die Properties "day", "month" und "year", auf die getrennt zugegriffen werden kann und mit denen auch problemlos numerische Berechnungen möglich sind.

Ein Manko der neuen Funktion ist allerdings die fehlende Ausgabe des Wochentags. Wenn Sie eine (numerische) Angabe des Wochentages benötigen, läßt sich diese mit Hilfe eines bekannten Wochentages und des Operators "mod" ermitteln. Dieser Operator führt die Modula-Operation durch und liefert den Restwert der ganzzahligen Division als Ergebnis.


In der Prozedur getday wird zunächst ein Datum mit bekanntem Wochentag als Referenz gespeichert. Danach bilden wir die Differenz zwischen dem Referenzdatum und dem als Parameter übergebenen Datum. Das Ergebnis dieser Berechnung ist eine Tagesanzahl mit positivem oder negativem Vorzeichen. Um daraus den Wochentag zu erhalten, wird nun auf die Tagesanzahl die Modulo-Operation mit dem Divisor sieben angewendet. Die Addition des Werts eins zum ganzzahligen Rest der Division durch sieben bewirkt, dass für Montag bis Sonntag die Ziffern 1 bis 7 (anstelle 0 bis 6) als Ergebnis geliefert werden.

Gerd Gillmaier




 


Directorworkshop.de ist © Joachim Gola & Gerd Gillmaier 1998-2002. Alle Rechte vorbehalten.