Noch einmal: Jahr 2000
von Frank Dachselt
In Marios Zusammenstellung im vorhergehenden Beitrag ist auch das Programm ZCAL.COM als eines derjenigen enthalten, die nicht ganz korrekt mit dem Datum ab dem Jahr 2000 umgehen. Hier betrifft es konkret die Interpretation des aktuellen Datums, das vom Betriebssystems nur zweistellig bereitgestellt wird. Da das Programm ZCAL bei mir am Ende der Start-SUB-Datei aufgerufen wird, um den aktuellen Monat anzuzeigen, fühle ich mich seit dem 1. Januar 2000 beim Bootes des KC immer um 100 Jahre zurückversetzt, denn es werden die Kalenderblätter des Jahres 1900 angezeigt.
Zwar ist dieses Verhalten nur mehr oder weniger ein kosmetischer Defekt, aber nicht minder ärgerlich, insbesondere, wenn man Fremden den KC präsentiert... Leider stehen uns für dieses Programm (noch) keine Quelltexte zur Verfügung. Um die fehlerhafte Funktion dennoch zu beseitigen, habe ich den aufwendigen Weg über die Disassemblierung der COM-Datei gewählt.
In der nun vorliegenden Version 1.2 (die Versionsnummer habe ich willkürlich gewählt) sind die entsprechende Abschnitte im Programmcode so gepatcht, daß das Programm den ZSDOS-Konventionen entspricht. Die Jahreszahlen 00...77 werden zum Jahr 2000 addiert und die Jahreszahlen 78...99 zum Jahr 1900. Das betrifft sowohl die Anzeige des aktuellen Monats (Programmaufruf ohne Parameter) als auch den Aufruf mit einer zweistelligen Jahreszahl in der Kommandozeile.
Die Schaltjahresregelung - offenbar ein weiterer kritischer Punkt bei datumsabhängigen Funktionen - mit all ihren Ausnahmen (durch 100 und 400 teilbare Jahreszahlen) ist in dem Programm natürlich korrekt implementiert. Sonst wäre der Kalender mit Sicherheit schon früher durcheinandergekommen.