home *** CD-ROM | disk | FTP | other *** search
- ==========================================================================
- ============================== MSCal V1.10 ===============================
- ==========================================================================
-
- Ein Free-Ware Kalender Utility von
- Markus Stipp, (c) Copyright 1991 by Markus Stipp
- alle Rechte vorbehalten
-
- ==========================================================================
-
- Der Autor garantiert weder die Richtigkeit noch die volle Funktions-
- faehigkeit der in dieser Anleitung beschriebenen Funktionen von MSCal.
- Weiterhin uebernimmt er keine Haftung fuer Schaeden, die durch die
- Benutzung von MSCal entstanden sind. Die Benutzung von MSCal geschieht
- auf eigenes Risiko !
-
- ==========================================================================
- I N H A L T
- ==========================================================================
-
- 1. Einleitung
- 1.1 Copyright
- 1.2 Entstehungsgeschichte/Hintergruendiges
- 2. Bedienung von MSCal
- 2.1 Starten vom CLI
- 2.2 Starten von der Workbench
- 2.3 Starten beim Hochfahren des Systems
- 2.4 Arbeiten mit MSCal
- 2.5 Allgemeines
- 3. Hinweise zum Compilieren
- 4. Verschiedenes
- 5. Zukunft
- 6. Bug's
- 7. Autor
-
- ==========================================================================
-
- ==========================================================================
- 1 Einleitung
- ==========================================================================
- 1.1 Copyright
- ==========================================================================
-
- MSCal ist FreeWare. Die Copyright-Rechte liegen weiterhin beim Autor.
- MSCal darf frei kopiert werden, solange diese Anleitung, das Programm
- und der Sourcecode unveraendert beiliegen.
-
- Der Sourcecode ist mit im Archiv enthalten, darf aber nicht kommerziell
- genutzt werden (hoechstens nach Absprache mit dem Autor). Das Verwenden
- einzelner Routinen in nicht-kommerziellen Public-Domain- bzw. FreeWare-
- Programmen ist aber dennoch gestattet, wenn der Autor davon unterrichtet
- wird. Die Benutzung einzelner Routinen in Programmen, die
- militaerischen Zwecken dienen ist NICHT gestattet.
-
- Der Vertrieb von MSCal durch Public-Domain-Serien ist gestattet, wenn
- der Autor informiert wird, auf welcher PD-Serie das Programm erscheint.
- Es ist gestattet, eine Kopiergebuehr zur Deckung der Unkosten zu er-
- heben, solange diese den Betrag von 5,-- DM (Fuenf Deutsche Mark)
- nicht uebersteigt. Die Diskette darf also inclusive Porto und Verpackung
- nicht mehr als 5,-- DM kosten !
-
- Der Autor ist kleinen materiellen Gaben und Geschenken nicht abgeneigt,
- und weist auch Geldbetraege nicht zurueck. :-)
-
- ==========================================================================
- 1.2 Entstehungsgeschichte/Hintergruendiges
- ==========================================================================
-
- MSCal ist entstanden, weil ich oft einen Kalender benoetigte und keine
- Lust hatte, erst einen Hardware-Kalender hervorzukramen. Zuerst machte
- ich mich auf die Suche nach einem fertigen Kalenderprogramm, habe aber
- kein gescheites gefunden. Irgendwelche Macken hatten sie immer, und wenn
- sie nur nicht richtig mit groesseren Fonts als Topaz 8 unter Kick/WB 2.0
- klarkamen.
-
- Aehnliche Probleme gab es mit kleinen Utilities, die eine Speicher-
- anzeige und eine Uhr hatten. MClk zum Beispiel frisst viel zu viel
- Rechenzeit und kommt ausserdem mal wieder nicht mit anderen Fonts unter
- Kick/WB 2.0 klar.
-
- Also blieb mir wohl nichts anderes uebrig, als solche Utilities selber
- zu schreiben. Dabei ist nun MSCal herausgekommen, das beide Utilities
- miteinander vereint. Ich hoffe, dass es einigermassen fehlerfrei laeuft,
- und dass es noch jemand anderes ausser mir gebrauchen kann. Ich habe
- sogar von Leuten gehoert, die es angeblich freiwillig benutzen. :-)
-
- ==========================================================================
- 2 Bedienung von MSCal
- ==========================================================================
- 2.1 Starten vom CLI
- ==========================================================================
-
- MSCal laesst sich vom CLI und von der WB aus starten. Der Aufruf vom CLI
- sieht folgendermassen aus:
-
- MSCal [Option] [Option] [...]
-
- wobei folgende Optionen zur Verfuegung stehen:
-
- -x### ### ist hierbei die x-Position des Kalenderfensters.
- -y### ### ist hierbei... na was wohl.
- -u### ### ist die x-Position des Clock-Windows.
- -v### ### ist die y-Position des Clock-Windows.
- -f Das Clock-Window legt sich automatisch immer in den
- Vordergrund.
- -b Es wird zu jeder vollen Stunde ein DisplayBeep()
- (Bildschirmblitz) aufgerufen.
- -i Das Programm wird gleich mit dem Clock-Window gestartet.
-
- Wird eine unbekannte Option angegeben oder einfach nur "MSCal ?", so
- wird eine kleine Hilfe ausgegeben. MSCal loest sich nicht selbst vom
- CLI, sondern muss dazu mit Run bzw. RunBack gestartet werden. Fehler-
- meldungen werden auf stdout ausgegeben.
-
- Ein Beispielaufruf waere:
-
- MSCal -x50 -y70 -f
-
- Der Kalender macht dann sein Fenster an der Position 50/70 auf, und das
- Clock-Window kann nicht von einem anderen Fenster verdeckt werden.
-
- Bei einem Wert von -1 bei den Positionen wird das Fenster moeglichst
- weit rechts bzw. unten aufgemacht.
-
- ==========================================================================
- 2.2 Starten von der WorkBench
- ==========================================================================
-
- Zum Start von der Workbench muss man einfach nur das Icon anklicken.
-
- Natuerlich kann man ueber das Icon auch Parameter uebergeben. Diese muss
- man bei den ToolTypes des Icons eintragen. Folgende ToolTypes stehen zur
- Verfuegung:
-
- XPOS=### ### ist hier wieder die x-Position des
- Kalenderfensters
- YPOS=### ### ist entsprechend die y-Position des
- Kalenderfensters
- IXPOS=### ### ist die x-Position des Clock-Windows
- IYPOS=### ### ist die y-Position des Clock-Windows
- FLAGS=[Flags] Folgende Flags stehen zur Verfuegung:
- FRONT Das Clock-Window liegt immer
- im Vordergrund (entspricht -f)
- BEEP Zur vollen Stunde wird DisplayBeep()
- aufgerufen (entspricht -b)
- ICONIFY Es wird mit dem Clock-Window gestartet
- (entspricht -i)
-
- Die Flags koennen mit '|' kombiniert werden. Folgende ToolTypes sind
- also z.B. zulaessig:
-
- XPOS=-1 (Rechte Screenkante)
- IYPOS=50
- FLAGS=ICONIFY|FRONT
-
- Die Schluesselwoerter muessen alle in Grossbuchstaben geschrieben
- werden, da sie sonst nicht erkannt werden.
-
- ==========================================================================
- 2.3 Starten beim hochfahren des Systems
- ==========================================================================
-
- Unter der Betriebssystemversion 2.0 gibt es zwei Moeglichkeiten, ein
- Programm beim hochfahren des Systems zu starten. Einmal kann es in der
- Startup-Sequence (bzw. im User-Startup) aufgerufen werden, und zum
- anderen kann das Icon des Programms in das WBStartup-Directory kopiert
- werden. Ein Aufruf in der Startup-Sequence sollte wie folgt aussehen:
-
- RunBack c:MSCal [Option] [...]
-
- oder:
-
- Run >nil: <nil: c:MSCal [Option] [...]
-
- Danach kann das CLI-Fenster problemlos geschlossen werden. Dieses
- funktioniert auch unter der Betriebssystemversion 1.3.
-
- Wenn MSCal in einem Verzeichnis liegt, das auch im Pfad eingetragen ist,
- so kann auch das Icon von MSCal in das WBStartup-Directory kopiert
- werden. Hierzu muss allerdings im Icon der ToolType 'DONOTWAIT'
- angegeben werden. Dieser Tooltype sagt der Workbench, dass sie nicht auf
- das Reply der WBStartup-Message warten soll, ist also eine Information
- an die Workbench und nicht an das Programm. Alle anderen ToolTypes
- koennen natuerlich weiterhin wie weiter oben beschrieben angegeben
- werden, und werden voll beruecksichtigt.
-
- ==========================================================================
- 2.4 Das Arbeiten mit MSCal
- ==========================================================================
-
- Die Funktionen von MSCal sind recht einfach und schnell erklaert.
-
- Tastenfunktionen:
-
- Cusor Hoch/Runter: Die Jahre werden um 1 hoch- bzw. runtergezaehlt.
- Wird dabei die SHIFT-Taste gedrueckt, werden
- jeweils 10 Jahre hoch- bzw. runtergezaehlt.
-
- Cursor Rechts/Links: Die Monate werden um 1 weiter- bzw. zurueck-
- geschaltet. Wird dabei zusaetzlich die SHIFT-
- Taste gedrueckt, so betraegt die Schrittweite 3
- Monate.
-
- Taste 'i': Es wird auf das Clock-Window umgeschaltet.
-
- Taste 't': Es wird das Kalenderblatt des aktuellen Datums
- eingestellt.
-
- Mausfunktionen:
-
- Rechte Maustaste: Mit der Rechten Maustaste wird zwischen den
- beiden Fenstern hin- und hergeschaltet. Wird
- dabei auf das Clock-Window umgeschaltet, so wird
- das Fenster gleich deaktiviert.
-
- Gadget: Das Feld, in dem das aktuelle Datum steht (unten
- rechts) ist ein Gadget, mit dem man sofort auf
- das Kalenderblatt des aktuellen Datums springen
- kann.
-
-
- ==========================================================================
- 2.5 Allgemeines zu MSCal
- ==========================================================================
-
- MSCal startet immer mit dem Kalenderblatt des aktuellen Datums, wobei
- der aktuelle Tag eingerahmt ist. Wenn sich das Datum aendert, merkt
- MSCal das innerhalb der naechsten Sekunde. Wenn dabei der Monat
- wechselt, wird das Kalenderblatt auch gleich mit umgeblaettert,ausser
- wenn das Kalenderblatt des aktuellen Datums gerade nicht eingestellt
- war.
-
- Das Kalenderblatt merkt sich MSCal auch noch im Clock-Window. Wenn also
- zwischendurch umgeschaltet wurde, so bleibt das Kalenderblatt
- unveraendert.
-
- Das Datum laesst sich vom Januar 1901 bis zum Dezember 2099 einstellen.
- Wird ueber eine dieser Marken hinweggeblaettert, so faengt MSCal am
- anderen Ende wieder an.
-
- MSCal ist mit dem Hintergedanken an Kick/WB 2.0 geschrieben worden. Es
- laeuft zwar unter 1.3 auch einwandfrei, aber es sieht aufgrund der
- normalerweise anderen Farben nicht ganz so gut aus. Es werden also keine
- speziellen 2.0-Funktionen benutzt (Auch nicht unter 2.0).
-
- Ein kleines Problem war es, die Unterstuetzung der proportionalen Fonts
- fuer das Clock-Window zu implementieren. Falls unter 2.0 fuer den Screen
- ein Proportionalfont eingestellt ist, so wird dieser auch voll
- unterstuetzt. Dafuer wird beim Umschalten auf das Clock-Window erst ein
- kleineres Fenster aufgemacht, dann die benoetigte Breite berechnet, und
- dann wird das Fenster auf die richtige Breite eingestellt.
-
- Werden fuer die Koordinaten zu grosse Werte oder der Wert '-1'
- eingestellt, so werden die Fenster moeglichst weit an der Screenkante
- aufgemacht.
-
- MSCal kann resident gemacht werden. Ich glaube zwar nicht, dass das
- jemand benoetigt, aber das laesst sich mit DICE so einfach machen... :-)
-
- ==========================================================================
- 3 Hinweise zum kompilieren
- ==========================================================================
-
- MSCal wurde komplett mit der registrierten Version von DICE 2.06.18
- entwickelt (Shareware-C-Compiler von Matthew Dillon). Um ein Executable
- zu erzeugen, das mit dem mitgelieferten identisch ist, muss mit
- folgendem Aufruf kompiliert werden:
-
- dcc -ms -mc -md -mRR -r -2.0 cal.c -oMSCal
-
- Dazu werden die amigasr20.lib und die Includes von Kick / WB 2.0
- benoetigt.
-
- Wenn man in cal.h die #include's der Prototypen (#include <clib/#?>)
- entfernt, so sollte sich der Source auch mit der unregistrierten Version
- von DICE und auch mit den 1.3-Includes uebersetzen lassen, allerdings
- ist das nicht getestet worden, ich uebernehme also keine Garantie.
-
- Eine deutsche Version von MSCal laesst sich erzeugen, wenn zusaetzlich
- zu den obigen Optionen noch '-D GERMAN' angegeben wird.
-
- Das Programm wird sich mit anderen Compilern ausser DICE nicht
- uebersetzen lassen, da unter Anderem das wbmain() von DICE benutzt wird.
-
- ==========================================================================
- 4 Verschiedenes
- ==========================================================================
-
- Falls jemand das Programm benutzt dann moege er mir doch einfach mal
- schreiben. Zu erreichen bin ich ueber die Adressen, die am Ende dieser
- Anleitung aufgefuehrt sind. Ich freue mich immer ueber Post :-).
-
- Ausserdem moechte ich mich bei allen bedanken, die mich bei der
- Programmierung unterstuetzt haben, indem sie mir gute Tips und Bug-
- reports zukommen lassen haben, und bei allen, die mir neue Inspirationen
- fuer weitere Features gegeben haben.
-
- Falls jemand noch weitere Ideen hat, oder Bugs im Programm gefunden hat,
- so moege er mir das bitte mitteilen. Ich bin fuer solche Sachen immer
- dankbar...
-
- ==========================================================================
- 5 Zukunft
- ==========================================================================
-
- Dies soll vorlaeufig die letzte Version von MSCal sein. Diese Version
- wird wahrscheinlich auch die letzte sein, die noch unter Kick 1.3
- laeuft. Ich werde nur noch Fehler berichtigen, falls welche gefunden
- werden. Alle weiteren Funktionen, die ich gleich noch beschreibe werden
- erst implementiert, wenn ich die 2.0 RKM's habe, und wenn fuer alle Kick
- 2.0 verfuegbar ist.
-
- Geplant sind ein paar Gadgets zum blaettern im Kalender, bzw. eine
- Moeglichkeit, ein Kalenderblatt direkt anzuspringen.
-
- Ausserdem soll irgendwann einmal die Moeglichkeit bestehen, den Kalender
- ganz in den Hintergrund zu legen, ohne dass das Clock-Window aufgemacht
- wird. Mit einer einstellbaren Tastenkombination soll dann das Fenster
- wieder in den Vordergrund geholt werden koennen.
-
- Eine Anzeige von variablen Feiertagen (Ostern), sowie eine Moeglichkeit
- Geburtstage etc. anzeigen zu lassen ist auch schon geplant. Einige
- Routinen dafuer habe ich schon gesammelt (Osternberechnung etc.)
-
- ==========================================================================
- 6 Bug's
- ==========================================================================
-
- Wenn man zu einem unguenstigen Zeitpunkt auf das Today-Gadget klickt,
- kann es passieren, dass der Text darin invers dargestellt wird. Dies ist
- nur ein optischer Fehler und wird nach ca. 1-2 Sekunden wieder
- rueckgaengig gemacht. Dieser Fehler wird deshalb nicht behoben werden.
-
- ==========================================================================
- 7 Autor
- ==========================================================================
-
- Geschrieben wurde MSCal von:
-
- Markus Stipp Semesteranschrift:
-
- Waldemeinestr. 35 Dubelohstr. 245
- W-4902 Bad Salzuflen 1 W-4790 Paderborn
- Germany Germany
-
- Tel: 05222/12862 Tel: 05254/7444
-
- zu erreichen bin ich ueber:
-
- Fido : Markus Stipp@2:242/25.25
- E-Mail: corwin@uni-paderborn.de
-
- ==========================================================================
- Ende
- ==========================================================================
-
-