APPLICATIONSDIVERS ★ Rund um den Kalender auf dem Schneider CPC 464 ★

Rund um den Kalender (Computer Schau)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Wollen Sie wissen, an welchem Wochentag Sie geboren sind oder Ihre Freunde Geburtstag feiern, brauchen Sie eine Planungshilfe für den Urlaub oder zur Gehaltsabrechnung? Dieses Programm für den Schneider CPC berechnet einzelne Wochentage für Sie und druckt auf Wunsch einen Kalender für jedes beliebige Jahr seit der Kalenderreform von Papst Gregor XIII aus - wahlweise auf dem Bildschirm oder einem beliebigen angeschlossenen Drucker.

Programmbedienung

Nach dem Programmstart erscheint ein kurzes Menü mit drei Unterpunkten:

  • Wochentag berechnen
  • Kalender ausdrucken
  • Programm beenden

Mit den Cursor-Up- und Cursor-Down-Tasten können Sie einen der drei Menüpunkte anwählen, worauf dieser invertiert angezeigt wird. Sobald Sie die COPY-Taste betätigen, wird dieses Unterprogramm aufgerufen.

Wochentag berechnen

Hier können Sie einen bestimmten Tag eingeben, worauf der Computer den zugehörigen Wochentag ausrechnet. Es sind folgende Eingaben nötig:

Tag im Monat? 30
Welcher Monat? 6
Welches Jahr? 1985

Nach kurzer Zeit meldet sich der Computer wieder:

Der 30. 6. 1985 war ein Sonntag.

Statt der Nummer des Monats können Sie auch den Monatsnamen angeben. Dabei wird nicht zwischen Klein- und Großschreibung unterschieden, und nur die ersten drei Buchstaben sind signifikant. Alle folgenden Namen werden z. B. als Januar interpretiert:

Januar, JANUAR, januar, JAN, jAn, JaN, JANaaa, jAN***

Die Jahreseingabe kann vierstellig erfolgen, z. B. „1985“ oder auch in der verkürzten Form „85“.

Kalender ausdracken

Mit diesem Programmteil können Sie einen vollständigen Kalender für ein beliebiges Jahr ausdrucken lassen, was z. B. für Unternehmer bei der Buchführung recht nützlich ist.

Wahlweise erfolgt die Ausgabe auf dem Bildschirm oder auf einem Drucker. Der Druckertyp ist hierbei egal, da keinerlei spezifische Steuerzeichen verwendet werden.

Der Dialog mit dem Computer kann z. B. so aussehen:

Für welches Jahr? 83
Druckerausgabe? j

Auch hier kann die Jahreszahl wieder auf zwei Stellen verkürzt werden. Bei der Frage nach dem Ausgabegerät sind die Buchstaben „jJnN“ gestattet.

Ein Kalenderausdruck für 1985 beginnt z. B. so:

Januar:
So-Mo-Di-Mi-Do-Fr-Sa
    01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Selbstverständlich werden bei allen Datumsberechnungen eventuelle Schaltjahre berücksichtigt - genaueres dazu finden Sie unter dem Punkt „Programmaufbau“.

Programm beenden

Dazu gibt es nicht allzuviel zu sagen: Nach einer Sicherheitsabfrage wird das Programm gestoppt.

Programmaufbau

Das Programm ist modular gegliedert, so daß das Listing recht übersichtlich ist. Ab der Zeile 1280 beginnt das wichtigste Unterprogramm, denn hier wird aus den drei Variablen day, month und yeur der Wochentag berechnet und im String dayname$ dem aufrufenden Programm zurückgegeben. Allerdings muß nach dem Aufruf des Programms die Variable errflag geprüft werden, denn ein Wert ungleich Null zeigt an, daß die Eingangsdaten nicht korrekt waren.

Der genaue Programmaufbau:
1340 Korrektur der Jahreszahl: Aus 85 wird 1985
1350 Prüfung, ob das Jahr vor Beginn des gregorianischen Kalenders liegt.
1360 Prüfung auf unsinnige hohe Jahreszahlen (>4000!)
1370 Prüfung, ob der Monatswert gültig ist.
13B0 Prüfung, ob der Tageswert gültig ist.
1400 Alle vier Jahre ist ein Schaltjahr.
1410 Aber nicht, wenn es ein Jahrhundert ist und nicht durch 400 teilbar.
1420 Prüfung auf den 27. Februar in einem Nicht-Schaltjahr.
1430 Prüfung auf den 28. Februar in einem Schaltjahr.
1450 Berechnung aller vergangenen Tage seit Christi Geburt bis Jahresanfang
1460 Hier werden die vergangenen Tage seit Jahresanfang addiert.
1470 Korrektur bei Schaltjahren um einen Tag.
1480 Die vergangenen Tage werden in eine Zahl von 0 bis 6 umgesetzt.
1490 Der Wert wird als Index des Stringfelds weekday$() verwendet.

Vorher findet in den Zeilen 210 bis 270 die Variablendefinition statt:
- month$() enthält alle Monatsnamen eines Jahres (Januar, Februar...).
- days.in.month() speichert die Zahl der Tage für jeden Monat.
- total.days() enthält für jeden Monat die Zahl der Tage seit Jahresanfang.
- weekday$() beinhaltet die Strings der Wochentage, also Montag, Dienstag ...

Die übergeordneten Teilprogramme verwenden diese Routine und steuern den Dialog mit dem Benutzer.
Das Programm kann auf folgende Art um weitere Menüpunkte erweitert werden:
- Nach Zeile 420 Einsetzen des neuen Punktes ab ch$(4).
Alle Strings müssen mit Leerzeichen auf 40 Buchstaben auf gefüllt werden.
- Ändern Sie in Zeile 350 die Variable mim; sie enthält die Zahl der Menupunkte.
- Erweitern Sie die ON-GOTO-Befehlszeile in Zeile 580.

So könnten Sie das Programm z. B. zur Berechnung der beweglichen Festtage erweitern.

M. Kotulla/LM, Computer-Schau

★ PUBLISHER: Computer-Schau
★ YEARE: 1985 , 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Martin KOTULLA
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Rund  um  den  Kalender    (Computer  Schau)    GERMAN    LISTINGDATE: 2023-10-30
DL: 41
TYPE: PDF
SiZE: 4402Ko
NOTE: 3 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Dateiverwaltung CPC 464
» Applications » Orga-Datei
» Applications » Datei-Star
» Applications » Dateiwandler / ASCII-Wandler (Schneider Magazin)
» Applications » Buecherdatei (CPC Magazin)
» Applications » CPC Film und Videodatei (GSS Verlag)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 447 millisecondes et consultée 204 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.