Ewiger Kalender
Ewiger Kalender
Ewiger Kalender

Der "Ewige Kalender" ist entstanden als anspruchsvolles Beispiel für die in einem Basic-Kurs der GO64 erworbenen Kenntnisse (erschienen als "Basic Projekt" in der GO64 8/99). Ein vorausgehender Kurs hatte nützliche Routinen erarbeitet, die das Coden in Basic fruchtbarer machen sollten: Cursor-Positionierung, gezieltes Löschen von Teilen des Bildschirms, Kästen erzeugen, kontrollierte Eingabe, Menü-Kontrolle, Pulldown-Menüs mit Menü-Navigation, kontrollierte Statuszeile, Linien ziehen mit Textzeichen usw.

Im "Ewigen Kalender" war der gezielte Umgang mit verknüpften Tabellen (in Form von Arrays) das Hauptanliegen des Kurses. Im GO64-Heft wird das deutlicher als das jetzt hier dargestellt werden kann. Am Ende kam auch dort der - wie ich finde - geniale Ralph-Schmieder-Zeichensatz zur Anwendung und das Ganze machte dadurch - trotz der reinen V2-Kodierung - einen recht professionellen, fast GEOS-artigen Eindruck.

Da das Programm natürlich bei manchen Funktionen recht gemächlich arbeitete, vor allem beim Aufbau von Kästen und beim Löschen von Bildteilen, gibt es auch eine TSB-Version davon, die gerade in diesen Bereichen sehr schnell ist. Zwar erinnert der TSB-Code bei genauem Hinsehen noch sehr an den V2-Vorgänger (viele GOTOs), aber das soll uns jetzt nicht weiter stören.


Der "Ewige Kalender" dient zum einen dazu, herausfinden zu können, an welchem Wochentag ein bestimmtes Ereignis stattgefunden hat (eigener Geburtstag, Mondlandung, Hiroshima...), zum anderen kann man sich angeben lassen, wie viele Tage zwischen zwei Daten liegen (wie lange noch bis Weihnachten).

Dabei beachtet das Programm, dass unser christlicher Kalender erst am 15. Oktober 1582 in Kraft getreten ist (Gregorianischer Kalender). Davor galt der von Julius Caesar eingeführte Julianische Kalender, der aber über die Jahrhunderte immer ungenauer wurde. Am Donnerstag, dem 4. Oktober 1582 wurden zur Synchronisierung mit den tatsächlichen Jahreszeiten einfach 10 Tage weggelassen und mit dem nächsten Tag, dem Freitag, 15. Oktober, wurde der neue Kalender eingesetzt.

Das Programm lädt beim Start zunächst den Zeichensatz (der mit den gut leserlichen Retrofan-Zeichen bestückt ist) und fragt dann die angeschlossenen Laufwerke nach einer eventuellen RTC-Uhr ab, deren Daten man übernehmen kann.

Danach startet der Kalender mit dem Monat Oktober 2022 (Release-Datum der TSB-Version des Programms) oder dem RTC-Datum. Die Bedienung ist eigentlich selbsterklärend: Man gibt nacheinander Jahr, Monat (<Return> übernimmt vorherige Daten) und Tag des gewünschten Datums ein und sieht dann im Kalender das Ergebnis (s. Bild oben). Liegt das Datum vor 1582 schaltet der Ewige Kalender dabei automatisch auf den Julianischen Kalender um (was man aber wieder zurückschalten kann). Bei der Funktion Abstand muss man die Eingabe zweimal (für Anfangs- und Enddatum) vornehmen. Das Ergebnis steht dann oben im Kopf des Kalenderblattes neben der Jahreszahl.

Die lange Zahl, die dort normalerweise erscheint, ist das Julianische Datum, das ist sowas wie die Startrek-Sternzeit (nicht zu verwechseln mit dem Julianischen Kalender). Hiermit werden die Tagesabstände errechnet.

Die ausgewiesene Druckfunktion ist (noch) nicht implementiert.

Download Ewiger Kalender (als D64-Datei)