home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
apps
/
math
/
calc150
/
readme.txt
< prev
Wrap
Text File
|
1992-06-04
|
27KB
|
568 lines
===========================================================================
Calculator - Rechner - Version 1.50 22. Januar 1992
===========================================================================
(c) 1991, 1992 by Martin Gaeckler
+-------------------------------------------------------------------------+
| Dies ist die letzte Version, die den Status "Public Domain" hat. |
+-------------------------------------------------------------------------+
Diese Datei entaelt Hinweise sowohl fuer die Windows-Version als auch die
GEM-Version (Atari ST). Wenn Sie diese Datei auf einem MS-DOS-Rechner lesen,
benutzen Sie bitte den Notizblock von MS-Windows oder einen anderen Editor,
der den ANSI-Zeichensatz unterstuetzt.
Der Rechner ist die Simulation eines wissenschaftlichen Taschenrechners.
Die Benutzung ist kostenlos. Es darf frei kopiert werden, der Vertrieb
ueber einen Public Domain Versand ist gestattet, es musz aber ein Belgexem-
plar an den Autor geschickt werden.
Wenn Sie immer ueber neueste Entwicklungen informiert werden wollen, so
senden Sie eine kurze Mitteilung an den Autor. Sie werden dann in einer Da-
tenbank gespeichert und bei Freigabe einer neuen Version informiert. Diese
Registrierung ist kostenlos, nachfolgende Versionen werden jedoch nur gegen
Zahlung einer Lizenzgebuehr verschickt.
Geplant sind u.a. folgende Features:
- Einfache Programmierbarkeit
- Complexe Zahlen
- Funktionsgraphen
- Strukturierte Programmiersprache
Anschrift: Martin Gaeckler, Ammerseestr. 16, 8027 Neuried
E-Mail: Martin Gaeckler@M im Maus-Net.
********************************* Achtung *********************************
* *
* Dies ist keine ausfuehrliche Bedienungsanleitung. Es wird davon ausge- *
* gangen, dasz der Benutzer mit Taschenrechnern umgehen kann. *
* *
***************************************************************************
Inhalt der Archive
==================
Atari ST (CALC150.LZH):
-----------------------
CALC.PRG Das ausfuehrbare Programm.
CALC881.PRG Spezial-Version fuer den Atari TT
CALC.RSC Die Resourcedefinition
README.TXT Diese Datei
Windows (CALC150.ARJ):
----------------------
CALC.EXE Das ausfuehrbare Programm.
README.TXT Diese Datei.
Installation und Starten des Programmes
=======================================
Atari ST:
---------
Kopieren Sie die Dateien CALC.PRG und CALC.RSC in ein Verzeichniss Ihrer
Wahl. Jetzt koennen Sie den Taschenrechner wie gewohnt durch Doppelklick
auf das Icon von CALC.PRG starten.
Das Programm koennen Sie aber ebenso als Accessory verwenden. Hierzu kopie-
ren Sie die Dateien CALC.PRG und CALC.RSC in das Wurzelverzeichniss Ihres
Startlaufwerks (bzw. Startdiskette) und benennen die Datei CALC.PRG in
CALC.ACC um. Nach einem Neustart Ihres Rechners erscheint im Deskmenue ein
neuer Menuepunkt "Calculator".
Windows:
--------
Kopieren Sie die Datei CALC.EXE in ein Verzeichniss Ihrer Wahl. Beachten
Sie aber dabei, dasz sich im Windows-Verzeichniss bereits ein Taschenrech-
ner mit dem gleichen Namen befindet. Sie koennen diesen jedoch getrost
ueberschreiben, da der neue besser ist.
Sie koennen nun den Taschenrechner im Programm Manager installieren oder
vom Datei Manager aus ganz normal starten. Das Ausfuehrbare Programm ent-
haelt 2 Icons: Eine verkleinerte Version der Dialogbox und einen kleinen
Abakus. Welchen der Icons Sie im Program Manager installieren bleibt Ihnen
ueberlassen.
Profile
=======
Der Taschenrechner merkt sich automatisch, das aktuelle Panel und deren
Position. Hier folgenden grundsaetzliche Hinweise:
Atari ST:
---------
Der Taschenrechner merkt sich die Information in der Datei CALC.INF. Diese
Datei ist eine Binaerdatei und kann nicht gelesen werden. Die Datei wird im
aktuellen Verzeichniss erwartet, falls sie nicht gefunden wird, so legt er
sie automatisch im Wurzelverzeichniss des Laufwerks C: an. Das Profile wird
immer dann gesichert, wenn das Panel gewechselt oder geschlossen wird und
wenn die aktuelle Hauptapplikation terminiert. Die Datei wird verworfen,
wenn die eingestellte Auflösung eine andere ist, als die Auflösung, die
beim letzten Programmlauf verwendet wurde.
Windows:
--------
Die Informationen werden in der Datei WIN.INI im Abschnitt [WinCalc]. Die
Datei wird aktualisiert, wenn das Panel gewechselt oder geschlossen wird
und wenn Windows beendet wird.
Menue-Referenz
==============
Edit/Copy: Kopiert den Inhalt der Anzeige auf das Clipboard.
/Paste: Laedt das Clipboard. Befindet sich am Anfang des
Textes eine Flieszkommazahl, so wird diese zur An-
zeige gebracht. Ansonsten wird der Inhalt des Clip-
board ignoriert.
/Quit: Schlieszt das Fenster des Taschenrechners und been-
det das Programm (letzteres gilt auf dem Atari ST
nur dann, wenn es nicht als Accessory geladen wur-
de).
Panel/Large: Es wird das grosze Fenster benutzt.
/Scientific: Es wird der wissenschaftiche Rechner benutzt, die-
ser kennt nur Flieszkommazahlen.
/Computer: Es wird das Panel fuer Computeranwender benutzt.
Dieser kennt alle Datentypen und nur die wichtigs-
ten Operatoren bzw. Funktionen.
/Small: Es wird das kleinste Rechner verwendet, dieser
kennt nur die wichtigsten Operatoren und die
Flieszkommazahlen.
Calc/About... bzw.
Info/About Calculator: Zeigt die Copyrightnotiz und Versionsnummer des
Taschenrechners.
Atari ST:
---------
Das Calc-Menue enthaelt auszerdem die Accessories, falls der Rechner nicht
selbst als Accessory geladen wurde.
Ist der Rechner als Accessory geladen, musz das Menu durch Mausklick auf
einen der Titeleintraege eingeschaltet werden. Dann verhaelt es sich genau-
so wie das Standard-GEM-Menu.
Das Clipboard wird automatisch vom Taschenrechner installiert, falls dies
nicht schon eine andere Applikation getan hat. In diesem Falle wird das
Verzechniss C:\CLIPBRD verwendet. Es wird jedoch nicht automatisch ange-
legt.
Bedeutung der Buttons und deren Tastauraequivalente
===================================================
Hinweis:
Nicht alle Buttons befinden sich auf allen Panels
-------------+--------------+-----------------------------------------------
Button *) | Tastatur *) | Bedeutung
-------------+--------------+----------------------------------------------
Tasten zur Eingabe der Zahlen
-------------+--------------+----------------------------------------------
[0]...[9] | 0 ... 9 | Dezimalziffern
[A]...[F] | a/A ... f/F | Hexziffern
[.] | . | Dezimalpunkt
[Exp] | Tab | Exponentialtaste, wenn noch keine Ziffer ein-
| | gegeben wurde, ergibt sie den Wert von Pi.
[±]([õ]) | | Vorzeichentaste (Negation)
[°'"]([ãœ"]) | | Winkeltaste Mit dieser Taste koennen Sie
| | Winkelgroeszen in Grad-Minuten-Sekunden ein-
| | geben. Zusammen mit der Inverstaste wird die
| | angezeigte Dezimalzahl in Grad-Minuten-Sekun-
| | den umgerechnet.
-------------+--------------+----------------------------------------------
Operatoren
-------------+--------------+----------------------------------------------
[BK] | | Binomialkoeffizient (x ueber y) =
| | x * (x-1) * (x-2) * ... * (x-y+1)
| | ---------------------------------
| | y!
| | fuer x reel und y natuerliche Zahl auszer 0
| | fuer y = 0 gilt x ueber y = 1
| | -> nur im "Scientific panel" verfuegbar
[⇧]([pow]) | | Potenzoperator (x hoch y)
[⇩]([rot]) | | Wurzeloperator (y-te Wurzel aus x)
[mod] | % | modulo operator
[*] | * | Produktoperator
[÷]([≈]) | / | Divisionsoperator
[+] | + | Summenoperator
[-] | - | Differenzoperator
[and] | & | und (binaer)
[xor] | ^ (#) | exclusive oder (binaer)
[or] | | | inclusive oder (binaer)
-------------+--------------+----------------------------------------------
Funtionen
-------------+--------------+----------------------------------------------
[Inv] | | Aktivierung der Umkehrfunktionen
[hyp] | | Aktivierung der Hyperbelfunktionen
[sin] | | sinus
[cos] | | cosinus
[tan] | | tangens
[log] | | dekadischer logarithmus
[ln] | | natuerlicher logarithmus
[1/x] | | Reziprokwert
[√]([sqr]) | | Quadratwurzel
[abs] | | Betragsfunktion
[not] | ~ | nicht (binaer)
[int] | | ganzzahliger Anteil
[frc] | | Nachkommastellen
[x!] | ! | Fakultaet
-------------+--------------+----------------------------------------------
Betriebsmodi
-------------+--------------+----------------------------------------------
[Rnd] | | Festlegung der signifikanten Ziffern
[Fix] | | Festlegung der Nachkommastellen
[Deg] | | Winkel werden in Graden gemessen
[Rad] | | Winkel werden in Bogenmasz gemessen
[Gra] | | Winkel werden in GON (Neugrad) gemessen
[Hex] | | Hexadezimalsystem
[Dec] | | Dezimalsystem
[Oct] | | Oktalsystem
[Bin] | | Dualsystem
[Flt] | | Flieszkommazahlen, ein eingegebener Term wird
| | geloescht, wenn der Datentyp gewechselt wird.
| | Flieszkommazahlen werden grundsaetzlich im
| | Dezimalsystem angezeigt.
[Lng] | | Langwortzahlen mit der Inv-Taste vorzeichen-
| | los, ein eingegebener Term wird geloescht,
| | wenn der Datentyp gewechselt wird. Long ist
| | der Standarddatentyp, wenn das Zahlensystem
| | vom Dezimalsystem zu einem anderen Zahlensys-
| | tem gewechselt und vorher der Datentyp Float
| | eingestellt war.
[Wrd] | | Wortzahlen mit der Inv-Taste vorzeichenlos,
| | ein eingegebener Term wird geloescht, wenn
| | der Datentyp gewechselt wird.
[Byt] | | Bytezahlen mit der Inv-Taste vorzeichenlos,
| | ein eingegebener Term wird geloescht, wenn
| | der Datentyp gewechselt wird.
[LR] | | Lineare Regression: y = k + m * x
[LNR] | | Logarithmische Regression: y = k + m * ln x
[EXR] | | Exponentielle Regression: y = k * e^(m*x)
[PR] | | Leistungsregression: y = k * x^m
-------------+--------------+----------------------------------------------
Speicher
-------------+--------------+----------------------------------------------
[Min] | | aktueller Operand in das M-Register uebertra-
| | gen
[MR] | | Inhalt des M-Register anzeigen
[M+] | | aktuellen Operand zum M-Register addieren
[M-] | | aktuellen Operand vom M-Register subtrahieren
[X/Y] | | Die aktuelle Anzeige wird mit dem letzten
| | Operanden vertauscht.
[X/M] | | Die aktuelle Anzeige wird mit dem Speicher
| | vertauscht.
-------------+--------------+----------------------------------------------
Statistik & Regression
-------------+--------------+----------------------------------------------
[Xin] | x | Statistikeingabetaste. Soll ein Wert mehrmals
| | eingegeben werden, so kann dies durch die
| | Taste [*] erreicht werden. Beispiel der Wert
| | 5 soll 20 mal eingegeben werden, dazu druek-
| | ken Sie die Tasten [2][0] [*] [5] [Xin]. Zu-
| | sammen mit [Inv] koennen einzelne (oder auch
| | mehrere) wieder geloescht werden.
[Yin] | y | Regressionseingabetaste. Wird nach dem ersten
| | X-Wert ein Y-Wert eingegeben, so schaltet der
| | Rechner automatisch auf Regression um. Bei
| | der Eingabe der Zahlenpaare muß der Regres-
| | sionstyp noch nicht bestimmt werden.
[n] | n | Anzahl der Eingabewerte
[Σx]([Ex]) | | Summe der X-Werte
[Σx²]([ExØ]) | | Summe der Quadrate von x
[Σy]([Ey]) | | Summe der Y-Werte
[Σy²]([EyØ]) | | Summe der Quadrate von y
[Σxy]([EyØ]) | | Summe der Produkte von x * y
[ø]([x]) | | Arithmetisches Mittel ueber alle x
[σn]([dn]) | | Grundgesamtheits-Standardabweichung
[σn1]([dn1]) | | Stichproben-Standardabweichung
[k] | | Konstanter Wert k der Regressionsgleichung
[m] | | Regressionskoeffizient m der Regressionsglei-
| | chung
[r] | | Korrleationskoeffizient der Regressionsglei-
| | chung
[BST] | | Es wird die Regressionsgleichung bestimmt,
| | die am besten zu den vorliegenden Eingabeda-
| | ten paszt. Der entsprechende Regressiontyp
| | wird eingestellt und der Grad (in %) der
| | Uebereinstimmung angezeigt.
[X] | | X-Wert der Regressionsgleichung Y gegebenen
[Y] | | Y-Wert der Regressionsgleichung X gegebenen
-------------+--------------+----------------------------------------------
| | Sonstige Tasten
-------------+--------------+----------------------------------------------
[[(] | ( | Klammer auf
[)]] | ) | Klammer zu
[=] | Enter/Return | Ergebnisstaste
[C] | Backspace | Loeschen des aktuellen Operanden
[ AC ] | Esc | Kompletten Term loeschen, Fehlerbedingung zu-
| | ruecksetzen. Zusammen mit der Inv-Taste wird
| | auch der Statistikspeicher geloescht.
[Ran] | | Zufallszahlen zwischen 0 incl. und 1 excl.
[Eng] | | Diese Taste hat zur Zeit keine Bedeutung
-------------+--------------+-----------------------------------------------
*) In Klammern die Bezeichnung der Windows-Version, falls diese sich von
der Atari-Version unterscheidet.
Folgende Funktionen haben KEINE Wirkung, wenn ein Integer-Datentyp (Byte,
U-Byte, Word, U-Word, Long, U-Long ) eingestellt ist:
[sin], [cos], [tan], [Ran], [log], [ln], [1/x], [√]([sqr]), [int], [frc],
[x!], [Xin], [Yin], [n], [Σx]([Ex]), [Σx²]([ExØ]), [Σy]([Ey]),
[Σy²]([EyØ]), [Σxy]([EyØ]), [ø]([x]), [σn]([dn]), [σn1]([dn1]),
[k], [m], [r], [X], [Y], [Rnd], [Fix], [°'"]([ãœ"])
Anmerkung: Die Wirkung von [Rnd] und [Fix] zeigt sich erst dann (wieder)
auf der Anzeige, wenn wieder der Float-Datentyp eingestellt ist.
Folgende Funktion hat KEINE Wirkung, wenn der Flieszkomma-Datentyp (Float)
eingestellt ist:
[not]
Folgende Operatoren erzeugen einen Fehler, wenn ein Integer-Datentyp (Byte,
U-Byte, Word, U-Word, Long, U-Long ) eingestellt ist:
[BK], [⇧] ([pow]), [⇩] ([rot])
Folgende Operatoren erzeugen einen Fehler, wenn der Flieszkomma-Datentyp
(Float) eingestellt ist:
[mod], [and], [xor], [or]
Die Anwendung dieser Operatoren und Funktionen ist aber in den genannten
Faellen nicht moeglich.
Konstantenrechnung
==================
Wuenschen sie den linken Operanden einer Operation mehrfach zu verwenden,
so brauchen Sie nur den Operator 2 mal zu druecken. Anschlieszend muessen
nur noch die rechten Operanden eingegeben und jeweils die Ergebnisstaste
betaetigt werden.
Warnungen
=========
() Overflow Die Schachtelungstiefe fuer die Klammern wurde ueber-
schritten.
Out of range Die eingegebene Zahl ist ausserhalb des gueltigen Zah-
lenbereichs und kann deshalb nicht weiter verarbeitet
werden.
Warnungen koennen einfach durch Betaetigung der Taste [C] behoben werden.
Der bisher eingebene Term kann weiter benutzt werden.
Fehlermeldungen des Rechners
============================
Buffer empty Der Statistik- bzw. Regressionsspeicher enthaelt keine
Daten
Division by zero Division durch 0
General error Allgemeiner Fehler (nicht naeher spezifiziert)
Horizontal line Der Graph der Regressionsgleichung ist eine horizontale
Linie. Es gibt deshalb keine Umkehrfunktion.
Illegal argument Das Argument einer Funktion ist nicht erlaubt
Illegal operand Einer der Operanden eines Operators ist nicht erlaubt
Illegal operator Der Operator ist mit dem eingestellten Datentyp nicht
anwendbar.
Inexact result Das Ergebnis einer Funktion waere zu ungenau.
+Inf/-Inf Das Ergebnis einer Berechnung ist zu grosz (oder un-
endlich) um dargestellt werden zu koennen.
Nan Das Ergebnis einer Berechnung ist nicht definiert.
No operand expected Ein Operand ist in diesem Zusammenhang nicht erlaubt.
No regression data Sie haben versucht eine Regressionsberechnung durchzu-
fuehren, obwohl keine Regressionsdaten vorliegen
No statistic data Sie haben versucht eine Statistikfunktion auszufuehren,
obwohl keine Statistikdaten eingegeben wurden.
Stack overflow Der interne Speicherbereich fuer Zwischenergebnisse ist
voll. Dieser Fehler darf nie auftreten. Bitte teilen
sie dem Autor die Umstaende mit, wie sie diesen Fehler
erzeugt haben.
Too few regression data
Sie haben versucht eine Regressionsberechnung durchzu-
fuehren, obwohl zu wenige Regressionsdaten vorliegen.
Too few statistic data
Sie haben versucht eine Statistikfunktion auszufuehren,
obwohl zu wenig Statistikdaten eingegeben wurden.
Too many values Sie haben versucht mehr Eingabedaten zu löschen als
vorhanden sind
X not expected Sie haben einen X-Wert eingegeben, obwohl das letzte
Zahlenpaar noch nicht vollstaendig ist.
Y not expected Sie haben einen Y-Wert eingegeben, obwohl das letzte
Zahlenpaar bereits vollstaendig ist.
Y missing Sie haben versucht eine Regressionsberechnung durchzu-
fuehren, obwohl das letzte Zahlenpaar noch nicht voll-
staendig ist.
Im Falle eines Fehlers wird nur noch [ AC ] vom Rechner akzeptiert. Der
bisher eingegebene Term geht dabei verloren.
Technisches
===========
Der Rechner ist komplett in C geschrieben. Das Modul, dasz den eigentlichen
Rechner darstellt (fuer alle Systeme) entaelt 2253 Zeilen. Das Modul fuer
die Panels unter GEM enthaelt 1197 Zeilen fuer Windows 572 Zeilen.
Als Entwicklungssystem wurde auf dem Atari ST Turbo C Version 2.0, auf dem
DOS-Rechner Borland C++ 2.0 verwendet. Geplant ist auszerdem eine Version
unter UNIX. Das Rechnermodul wurde bereits erfolgreich mit dem MIPS-Compi-
ler uebersetzt.
Die Flieszkommazahlen unterliegen in ihrer Beschraenkung, dem des Entwick-
lungssystems. Borland C++ kennt leider nur 8-Byte-Double-Variablen. Daher
ist der moegliche Zahlenbereich beschraenkt auf +/-1e+/-300 bei ca. 15
gueltigen Stellen, waehrend das Atari Entwicklunssystem etwa +/-1e+/-4000
bei ca. 19 gueltigen Stellen verkraftet.
Nachrichtenprotokoll
====================
Der folgende Abschnitt ist nur fuer Softwareentwickler interessant. Als nur
Anwender kann man sofort aufhoeren zu lesen.
Der Taschenrechner kann auch Nachrichten einer Hauptapplikation empfangen
und Antworten zurueckschicken. Es gibt 2 Nachrichten zum Rechner und 1
Antwort zur Hauptapplikation.
- Restart calculator (zum Rechner)
Der Taschenrechner erthaelt folgende Nutzdaten:
Nachrichtennummer: Identifiziert die Nachricht
Absender: Identifiziert den Empfaenger der Antwort des
Rechners.
Value: Zahl fuer die Anzeige
Type: Datentyp (FLOAT, BYTE etc. )
Radix: Zahlensystem (2, 8, 10, 16)
Operator (nur Atari): Der erste Operator
Datentypen 0 Fließkommazahl
1 Byte
2 Byte (vorzeichenlos)
3 Word
4 Word (vorzeichenlos)
5 Langwort
6 Langwort (vorzeichenlos)
Radix 2 Binaersystem
8 Oktalsystem
10 Dezimalsystem
16 Hexadezimalsystem
Operatoren (alle erlaubten Tastenanschlaege des Taschenrechners)
Der Taschenrechner wird neu initialisiert, oeffnet sein Fenster und
stellt die uebergebene Zahl in seinem Anzeigefeld dar. Auf dem Atari ST
wird der Operator angenommen, so dasz nur noch mehr der zweite Operand
eingegeben und die Ergebnisstaste betaetigt werden musz. Sobald der
Benutzer das Taschenrechner Fenster wieder schlieszt (bei Windows ge-
nuegt es zu einer anderen Applikation zu schalten) wird die Antwort
wieder an die rufende Applikation zurueck geschickt.
- Get result (zum Rechner)
Der Taschenrechner erthaelt folgende Nutzdaten:
Nachrichtennummer: Identifiziert die Nachricht
Absender: Identifiziert den Empfaenger der Antwort des
Rechners.
Der Taschenrechner schickt als Antwort sein aktuelles Anzeigefeld mit
eingestelltem Radix und Datentyp.
- Answer (vom Rechner)
Die Hauptapplikation erthaelt folgende Nutzdaten:
Nachrichtennummer: Identifiziert die Nachricht
Value: Zahl in der Anzeige
Type: Datentyp (siehe oben)
Radix: Zahlensystem (siehe oben)
Als Antwort schickt der Rechner die aktuelle Zahl in der Anzeige sowie
den eingestellten Datentyp und Radix.
Der Mechanismus fuer den Nachrichtenaustausch ist natuerlich auf beiden
Systemen unterschiedlich. Es folgt daher eine Beschreibung des Mechanismus
fuer beide Systeme getrennt.
Atari ST:
---------
Nachrichten werden mit der GEM-Funktion appl_write() zum Rechner geschickt.
Die Antworten koennen mit evnt_mesag bzw. evnt_multi gelesen werden.
Der 8 Worte umfassende Buffer, der verschickt bzw. gelesen wird hat folgen-
den Aufbau:
buffer[0] : Nachrichtennummer
Restart calculator 1024
Get result 1025
Answer 1026
buffer[1] : Absender, die Id erhalten Sie von appl_init()
buffer[2] : 0
buffer[3] : Hiword eines Zeigers auf eine Zeichenkette, die eine Zahl
darstellen musz
buffer[4] : Lowword des Zeigers
buffer[5] : Datentyp
buffer[6] : Radix
buffer[7] : Operator
Die Eintraege buffer[3] - buffer[7] muessen bei "Get result" nicht belegt
sein.
Der Eintrag buffer[7] ist bei "Answer" nicht definiert. Der Zeiger zeigt
auf einen statischen String, der beim naechsten Aufruf ueberschrieben wird.
Windows:
--------
Nachrichten werden mit der Windows-Funktion PostAppMessage() zum Rechner
geschickt. Die Antworten koennen mit GetMessage() bzw. mit dem Fenster-
Callback gelesen werden. Dabei erhalten die Parameter folgende Bedeutung:
message : Nachrichtennummer
Restart calculator WM_USER
Get result WM_USER + 1
Answer WM_USER + 2
wParam : immer 0
lParam : Handle auf eine Datenstruktur im globalen Heap des Systems.
Diese Datenstruktur musz grundsaetzlich von der rufenden Appli-
kation angelegt werden und darf erst, nach dem der Rechner die
Antwort geschickt hat, wieder freigegeben werden.
Die Datenstruktur hat (in der Programmiersprache C) folgenden Aufbau:
typedef struct
{
int callerType; /* 0: Instance, 1: Window */
union
{
HANDLE instance; /* instance handle for reply */
HWND window; /* window handle for reply */
} id; /* who called calc */
int type, /* data type 0 - 6 */
radix; /* radix 2, 8, 10, 16 */
char value[64]; /* which value to begin */
}CALCMSG;
callerType: Gibt an welchen Typ die Absender-Id der rufenden Applikation
hat. 0 bedeutet Instanzhandle, d.h. die Anwort wird an die
Instanz der Applikation geschickt und kann mit GetMessage gele-
sen werden. 1 bedeutet Windowhandle, d.h. die Antwort wird
direkt an ein Fenster der rufenden Applikation geschickt und
kann in der CallBack dieses Fensters ausgewertet werden.
instance : Das Instanzhandle des Absenders (bzw. Empfaengers der Antwort)
window : Das Windowhandle
type : Der Datentyp der uebergebenen Zahl
radix : Das Zahlensystem
value : Die Zeichenkette, die die Zahl enthaelt.
===========================================================================