home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d564
/
mscalendar.lha
/
MSCalendar
/
MSCal.dok
< prev
next >
Wrap
Text File
|
1991-11-21
|
16KB
|
357 lines
==========================================================================
============================== 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
==========================================================================