TTTTT K K T K K T KKK T K K T K K ------------------------------------------------------ © Copyright 1993 by Arnold Schommer, Alle Recht vorbehalten ------------------------------------------------------ bevor Sie sich die Mühe machen und viel lesen, was sie vielleicht garnicht betrifft: TK benötigt unbedingt Kickstart 2 ! ------------------------------------------------------ Inhaltsverzeichnis: 1. Was ist / was kann TK ? 2. Wie steuert man TK ? a) CLI-Aufruf b) Workbench-Aufruf c) während das Programm läuft 3. Warnung zu Fonts 4. Die Termindatei 5. Hard- und Softwarevoraussetzungen / Technische Informationen 6. Über die Listings 7. Copyright, Garantie 8. Anschrift des Autors 9. Sonstiges ------------------------------------------------------ 1. Was ist / was kann TK ? TK ist ein Terminkalender. TK zeigt die Übersicht über den aktuellen Monat und eine Liste von Terminen auf dem Bildschirm. TK bietet u.a.: - Speichern vergangener Termine in einer eigenen Datei [abschaltbar] - Beliebige Namen der Termin- und Alttermin-Datei - (fast) beliebige Fonts, auch proportional - Automatisches Einsortieren neuer Termine - Einstellbare Fenstergröße - Vollständig deutsche Programmtexte. Leider verfüge ich nämlich nicht über die locale.library. :-( 2. Wie steuert man TK ? a) CLI-Aufruf TK kann wie folgt aus dem CLI oder einer Shell aufgerufen werden: TK [] [] [NEU ] [FONT ] [FONTSIZE ] [KEINEALTDATEI] [LINSK ] [OBEN ] [BREITE ] [HÖHE ] Zunächst zur Erklärung meiner Schreibweise des Aufrufs: - Groß geschriebene Worte müssen angegeben werden. Groß- und Kleinschreibung ist unwesentlich. - Angaben in <> bezeichnen Parameter, die ich gleich erkläre. Sie müssen vorkommen, sehen aber im Regelfall ganz anders aus als oben. - Angaben in [] können entfallen. Beschreibung der Parameter: - : Gibt den Namen der Datei mit den Terminen an. Wird es ausgelassen, so wird "Termine" benutzt. - : Gibt den Namen der Datei an, in die die abgelaufenen Termine geschrieben werden sollen. Wird es ausgelassen, so wird ".alt" benutzt. Diese Datei wird ggf. erzeugt und sonst immer (am Ende) erweitert. - : Gibt einen Termin in Textform an, der aufgenommen werden soll. Dieser Termin muß das gleiche Format aufweisen, wie jede Zeile der Termindatei - siehe das Kapitel über die Termindatei. Es können (soweit Ihre Shell das ermöglicht) beliebig viele beliebig lange Termine hinzugefügt werden. Sie können mehrfach "NEU " hintereinander eingeben ! - : Name des gewünschten Fonts. Wird keiner angegeben, so wird der Standard-Font benutzt. Die Endung ".font" sollte nicht mit angegeben werden. Es kann auch, getrennt durch eines der Zeichen " ", "." oder "-" am Ende die Fontgröße angehängt werden. - : Höhe des gewünschten Fonts in Punkten. Wird nicht angegeben, wird 8 angenommen. Ohne ungültig. Überschreibt ggf. die Angabe am Ende des Fontnamens. - KEINEALTDATEI: verhindert das Schreiben vergangener Termine in eine Datei. - : Abstand des Fensters zum linken Bildrand in Pixeln. Bei nicht-Angabe: 0 - : Abstand des Fensters zum oberen Bildrand in Pixeln. Bei nicht-Angabe: 11 - : Breite des Fensters in Pixeln. Bei nicht-Angabe: 320. Wird evtl. vergrößert, um das Kalenderblatt im Window unterbringen zu können. - : Höhe des Fensters in Pixeln. Bei nicht-Angabe: 200. Wird evtl. vergrößert, um das Kalenderblatt und mindestens 3 Terminzeilen im Window unterbringen zu können. b) Workbench-Aufruf: TK kann entweder selbst aufgerufen werden oder als Default-Tool einer Termindatei genannt werden. In beiden Fällen können über die ToolType-Einträge des Icons, das gestartet wird, Einstellungen gemacht werden [genauere Beschreibung der Parameter siehe a)]: - TERMINDATEI=... legt die Datei mit den Terminen fest. Nur als ToolType für TK selbst zugelassen. - ALTDATEI=... legt die Datei fest, in die die abgelaufenen Termine geschrieben werden sollen. - FONT=... legt Namen und evtl. auch Größe des gewünschten Fonts fest. - FONTSIZE: legt die Größe de gewünschten Fonts fest. - KEINEALTDATEI: verhindert das Schreiben vergangener Termine in eine Datei. - LINKS=... Abstand des Fensters zum linken Bildrand in Pixeln. - OBEN=... Abstand des Fensters zum oberen Bildrand in Pixeln. - BREITE=... Breite des Fensters in Pixeln. - HÖHE=... Höhe des Fensters in Pixeln. - NEU=... gibt einen neu einzugliedernden Termin an. Kann mehrfach benutzt werden ! Dieser ToolType-Eintrag wird von TK selbstständig entfernt ! c) während das Programm läuft Verlassen wird TK durch drücken von ape oder anwählen des Close-Gadgets. Man kann das Fenster (innerhalb bestimmter Grenzen, die v.a. dadurch gegben sind, daß ich mindestens das Kalenderblatt und 3 Terminzeilen im Window anzeigen will) beliebig vergrößern, verkleinern und verschieben. Da oft nicht alle Termine gleichzeitig sichtbar sind, kann man in der Terminliste 'scrollen': - Eine Zeile hoch: Cursortaste hoch, Ziffernblock 8, Gadget unten im Fensterrahmen ganz links (ein Pfeil nach oben) - Eine Zeile runter: Cursortaste runter, Ziffernblock 2, 2. Gadget von rechts (ein Pfeil nach unten) - Ein paar Zeilen hoch: Cursortaste links, Ziffernblock 4 oder 9, 2. Gadget von links (zwei Pfeile nach oben) - Ein paar Zeilen runter: Cursortaste rechts, Ziffernblock 6 oder 3, 3. Gadget von rechts (zwei Pfeile nach unten) - An den Anfang: Ziffernblock 7, 3. Gadget von links (ein Pfeil nach oben und ein waagerechter Balken darüber) - Ans Ende: Ziffernblock 1, 4. Gadget von rechts (ein Pfeil nach unten und ein waagerechter Balken darunter) Verändert man die Größe des Fensters, so wird automatisch an den Anfang der Liste gesprungen. 3. Warnung zu Fonts TK kann im Prinzip mit beliebigen Fonts umgehen. Brenzlig wird's allerdings, wenn die Anzeige nicht annähernd auf den Bildschirm (bzw. ins Fenster) paßt. Bei mir kommt dann hin und wieder ein seltsames Streifenmuster auf den Monitor, das zwar nach Guru aussieht, bisher aber noch nie irgendwelche unangenehmen Folgen hatte. Nur garantieren kann ich für nichts. 4. Die Termindatei Die Termindatei besteht aus beliebig vielen, beliebig langen Zeilen. Damit TK die Termine erkennen kann, muß jede Zeile wie folgt aussehen: [Zeichenerklärung siehe 2.a), CLI-Aufruf] ..<*>[:<*>] Dabei sind: die Nummer des Tages im Monat, an dem der Termin ist. die Nummer des Monats [1..12], an dem der Termin ist. die Nummer des Jahres, in dem der Termin liegt. Zahlen zwischen 50 und 99 werden als 1900+, Zahlen kleiner 50 als 2000+ interpretiert. <*> ein beliebiges Trennzeichen, daß allerdings genau ein Zeichen lang sein muß. die Stunde, in der der Termin evtl. liegt (Die ganze Zeitangabe darf entfallen). die Minute, in der der Termin evtl. liegt. Text, der für den Termin angezeigt werden soll. Wird durch Dateiende oder LineFeed beendet und kann außer 0 und 10 [LineFeed] jedes beliebige Zeichen enthalten. 5. Hard- und Softwarevoraussetzungen / Technische Informationen TK läuft nur ab Kickstart 2.0 (aufwärts ?). Es benötigt meine "tracker.library" (wird mitgeliefert). Geschrieben wurde das Programm auf einem A2000B mit A2630 (4MB). Es wurde auch (oberflächlich) mit dem 68000 getestet und als lauffähig erkannt. Soweit ich beurteilen kann, sollte das Programm auf allen Amiga, die über Kickstart 2.0 (oder größer) verfügen, laufen; von Kickstart 3.0 habe ich zwar keinen Schimmer (insbesondere keinen ROM), aber ich erahne keine Probleme. TK braucht rund 20KB auf Diskette sowie rund 40KB beliebiges und etwas Chip-RAM, um zu laufen. 6. Über die Listings * TK wurde mit der PD-Version von DICE [V2.06] entwickelt. Es sollte sich eigentlich problemlos mit dem beiliegenden "DMakefile" rekonstruieren lassen. * Für den Privatgebrauch habe ich eine spezielle Version entwickelt, bei der Großteile von C nach Assembler umgeschrieben wurden. Da das aber jeglichen weiteren Verbesserungen abträglich ist und obendrein nur eine Code-Ersparnis von rund 700 Byte gebracht hat, veröffentliche ich diese nicht. Für den Programm- Leser ist es nur wichtig, daß er berücksichtigt, daß das Makro "PRIVATE" tatsächlich undefiniert ist. (Im "DMakefile" sind die entsprechenden Zeilen auskommentiert) * Das Verzeichnis "Programmers" enthält: * "DMakefile": ein fertiges DMake-file * "TK-main.c": der Source für die Rahmen-Funktionen für CLI- und Workbench-Aufruf und ein paar damit zusammenhängende Funktionen * "TK-GGs.c": der Source für die Gadget-Definitionen * "TK.c": der Source für den Rest * "tracker.h": Ein Includefile zum Gebrauch der "tracker.library" * "tracker.lib": Eine DICE-Link-Library zum Gebrauch der "tracker.library" 7. Copyright, Garantie TK ist Freeware. Es darf beliebig oft kopiert und weitergegeben werden. Ausnahme: Verboten ist die Weitergabe (auch zusammen mit anderen Programmen), wenn dafür Kosten von mehr als DM 5,- (Porto nicht inbegriffen) berechnet werden. Ich bitte jedoch jeden Benutzer, mir eine Postkarte zu schicken. Einerseits hoffe ich so, eine gewisse Resonanz zum Programm zu erhalten, andererseits hoffe ich, durch die - im Vergleich zu Shareware - geringen 'Kosten' ein relativ großes Echo zu erhalten. Im übrigen garantiere ich, Ihre Adresse (im Interesse des Datenschutzes) nicht zu registrieren ! Leider sehe ich mich außer stande, zu garantieren, daß durch mein Programm keine Schäden am Computer oder den vorhandenen Datenbeständen entstehen. Ich kann nur versprechen, nicht absichtlich ein trojanisches Pferd in die Welt gesetzt zu haben. 8. Anschrift des Autors Arnold Schommer Erikaweg 16 40670 Meerbusch-Strümp 9. Sonstiges Ich wäre dankbar für BugReports, und zwar mit möglichst genauer Beschreibung, a) auf welchem Amiga und mit welchen Erweiterungen der Fehler auftrat b) wie der Fehler provoziert werden kann c) wie sich der Fehler äußert Ich werde versuchen, den Fehler zu beheben, aber wenn er auf meinem A2000B mit (oder ohne) A2630 nicht auftritt, kann ich kaum etwas tun.