CHEMCALC Version 1.9 DAS Taschenrechner-Accessory fr Chemiker Autor: Lothar Buchen Inhalt 1. Allgemeines.............................................5 2. Bedienung...............................................9 2.1 Bedienungselemente......................................9 2.1.1 Die Anzeige.............................................9 2.1.2 Tasten..................................................9 2.2 Rechnen................................................11 2.2.1 Einfache Rechnungen....................................11 2.2.2 Funktionen.............................................12 2.2.2.1 šbersicht..............................................12 2.2.2.2 Trigonometrische Funktionen............................13 2.2.2.3 Koordinatentransformation..............................14 2.2.2.4 Tage zwischen zwei Daten...............................15 2.2.2.5 Kombinatorik...........................................16 2.2.2.6 Binominalverteilung....................................19 2.2.2.7 Poissonverteilung......................................20 2.2.2.8 Molmassenbestimmung....................................21 2.2.3 Formeln speichern......................................26 2.2.4 Statistische Berechnungen..............................27 2.2.4.1 Berechnung der Standardabweichung......................27 2.2.4.2 Lineare Regression.....................................29 2.2.5 Einheiten umrechnen....................................31 2.2.6 Naturkonstanten........................................31 2.2.7 Punktgruppen...........................................33 2.3 Weitere Befehle........................................36 2.3.1 Rundungsarten..........................................36 2.3.2 Betriebsarten..........................................36 2.3.3 Rechnen mit anderen Zahlensystemen.....................39 2.4 Erweiterungen..........................................41 3. Zusatzaccessories......................................43 3.1 Perioden-System........................................43 3.2 Chemie-Daten...........................................44 3.3 Handbook...............................................45 3.3.1 Allgemeines............................................45 3.3.2 Desk...................................................45 3.3.3 Datei..................................................46 3.3.4 Edit...................................................46 3.3.4.1 Eingeben...............................................46 3.3.4.2 Žndern.................................................47 3.3.4.3 Block markieren........................................47 3.3.4.4 Suchen.................................................48 3.3.5 Optionen...............................................48 3.3.5.1 Sortieren..............................................48 3.3.5.2 Chemcalc-Module anmelden, abmelden ...................48 3.3.5.3 Default-Datei anmelden.................................48 3.3.5.4 Ziffernblock einstellen................................49 3.4 Handbook+..............................................50 3.5 Komplexe...............................................51 3.6 Patch..................................................51 4. Einzelheiten fr Programmierer.........................53 4.1 Allgemeines............................................53 4.2 Das Nachrichtensystem..................................53 4.2.1 Ablauf des Dialoges....................................53 4.2.2 Aufbau der Nachrichten.................................57 4.3 CHEMCALC als Programmerweiterung.......................61 4.3.1 Konstanten von Hand berechnen..........................61 4.3.2 Konstanten im Hintergrund berechnen....................63 4.4 Die letzten Worte......................................65 4.5 Probleme mit dem GEMINI und XACC-Protokoll.............67 4.6 Zuknftige Entwicklungen...............................69 5. Literatur..............................................71 Anleitung 1. Allgemeines Zu CHEMCALC geh”ren die Dateien CHEMCALC.ACC und CHEMCALC.RSC. Diese mssen sich beim Booten auf der Bootdiskette befinden. Der Name des Programms sollte aus Grnden, die sp„ter erl„utert werden, nicht ge„ndert werden. Weiterhin geh”ren zum Programm die Accessories Perioden-System, Chemie-Daten Komplexe und Handbook. (Dateien PERIODEN.ACC, PERIODEN.RSC, CHEMIE.ACC, CHEMIE.RSC, CHEMIE.DAT, KOMPLEXE.ACC, KOMPLEXE.RSC, HANDBOOK.ACC, HANDBOOK.RSC, HANDBOOK.HBK) Das gesamte Paket ist Share-Ware, wer es regelm„žig benutzt, sollte mir DM 30,- (Bar, Verrechnungsscheck oder šberweisung) schicken. Dafr stehe ich fr Anfragen und Anregungen zur Verfgung. Bei wesentlichen Verbesserungen werde ich Ihnen eine Nachricht zukommen lassen, sodaž Sie gegen Erstattung der Unkosten (Porto und Diskette) ein Update erhalten. Legen Sie dazu bei der Registrierung und jedem Update eine adressierte und frankierte Postkarte fr die Benachrichtigung bei. Wer ein Modem besitzt kann mir seine E-Mail-Adresse mitteilen, dann erfolgt die Benachrichtigung als PM. Fr 35,- DM gibt es eine gedruckte Anleitung. Noch etwas zum Shareware-Prinzip: Mit "Shareware" bezeichnet man Programme, die frei kopiert und weitergegeben werden drfen, sofern sie nicht ver„ndert oder kommerziell vertrieben werden. Wer mit einem Shareware-Programm regelm„žig arbeitet, muž dem Autor eine Registrierungsgebhr zahlen, deren H”he von der Komplexit„t des Programms und der Anwenderuntersttzung nach der Registrierung abh„ngt. Die H”he der Registrierungsgebhr kann mit Preisen kommerziell vertrie- bener Programme verglichen werden, liegt aber in der Regel weit darunter. Vergleichen Sie beispielsweise die Registrierungsgebhr des Shareware-Desktops GEMINI mit den Preisen vergleichbarer kommerzieller Programme, wie etwa NEODESK. Erst die Zahlung der Registrierungsgebhr berechtigt Sie zur Anwendung des Programms. Lediglich eine kurze Testphase ist gestattet. Wenn Sie das Programm bei einem PD-H„ndler erwerben, bezahlen Sie nur dessen Dienstleistung (Aufnahme des Programms in seinem Katalog, Bereitstellung der Kopien). Mit der Zahlung der Registrierungsgebhr f”rdern Sie aužerdem die Entwicklung guter Shareware-Programme. Eine schlechte Zahlungs- moral bewirkt nur das Abwandern der Shareware-Autoren in den kommerziellen Markt, mit dem Ergebnis daž kommerzielle Versionen von ehemaligen Shareware-Programmen auftauchen, deren Funktions- umfang nicht so stark vergr”žert wird wie der Preis. Die Shareware-Versionen werden dann nicht mehr gepflegt. Wenn Sie das Programm weitergeben, sollten sie folgendes beachten: Im Ordner CHEMCALC mssen sich folgende Dateien befinden, die nicht ver„ndert werden drfen: CHEMCALC.ACC CHEMCALC.RSC CHEMCALC.TXT CHEMCALC.ASC CHEMIE.ACC CHEMIE.RSC HANDBOOK.ACC HANDBOOK.RSC KOMPLEXE.ACC KOMPLEXE.RSC PERIODEN.ACC PERIODEN.RSC README20.TXT README20.ASC Zus„tzlich sollten die Dateien CHEMCALC.INF und HANDBOOK.INF vorhanden sein, die jedoch auf pers”nliche Bedrfnisse angepažt werden drfen. Weiterhin sollten alle Daten-Dateien (*.DAT und *.HBK) vorhanden sein. Erweiterungen und Korrekturen sind zul„ssig. Gepatchte Versionen von Chemie-Daten, HANDBOOK und HANDBOOK+, die mit Hilfe des Patch-Programms (oder eines Disketten-Monitors) erstellt wurden, drfen NICHT weitergegeben werden! Ich bernehme keine Haftung fr eventuelle Folgesch„den, die durch den Gebrauch der Programme auftreten. Ebenso wenig kann ich garantieren, daž die Programme in jeder Hardware oder Softwareum- gebung laufen. CHEMCALC l„uft in jeder Aufl”sung, sofern sie gr”žer als 640 * 200 Pixel ist. Die Programme wurden in GFA-Basic 3.5E geschrieben. CHEMCALC, Perioden-System und Chemie-Daten wurden mit einer LINE_A-freien Bibliothek kompiliert. Alle Programme sind auch als PRG lauff„hig. Meine Adresse: Lothar Buchen Vorm Holz 4/135 5600 Wuppertal 1 E-Mail: Lothar Buchen, Maus @DO Fr šberweisungen: Stadtsparkasse Wuppertal Konto-Nr: 1902154 BLZ: 33050000 Žnderungen vorbehalten! 2. Bedienung 2.1 Bedienungselemente 2.1.1 Die Anzeige Hier werden alle Eingabewerte und Ergebnisse angezeigt. Die Eingaben werden mit der Tastatur des Computers eingegeben, nur bestimmte Konstanten werden durch Anklicken der entsprechenden Tasten unter der Anzeige eingegeben. In der Anzeige haben 56 Zeichen Platz, sollten mehr ben”tigt werden, so k”nnen durch Anklicken des Cursors rechts nochmal 56 Zeichen zur Verfgung gestellt, insgesamt kann eine 560 Zeichen lange Formel verarbeitet werden. Dabei muž der letzte Teil der Formel in der Anzeige stehen. Die kleine Anzeige rechts oben gibt Auskunft ber die L„nge der Formel. šber der grožen Anzeige befinden kleine Anzeigen, die Informa- tionen ber den Status des Rechners geben. 2.1.2 Tasten CHEMCALC hat nur Tasten fr bestimmte Funktionen, wobei man unter Funktionen keine mathematischen Funktionen verstehen sollte, sondern Programmfunktionen, die die Auswahl bestimmter Konstanten erm”glichen, die CHEMCALC zur Verfgung stellt oder sogar von anderen Accessories zur Verfgung gestellt werden. Wer CHEMCALC zum ersten Mal sieht, dem f„llt auf, daž Zahlentasten, wie sie bei vielen anderen Taschenrechner-Accessories zu finden sind (teilweise mit Mehrfachbelegung wie bei einem echten Taschen- rechner) fehlen. Diese sind bei CHEMCALC nicht notwendig, da alle Eingaben (bis auf einige Ausnahmen) mit Hilfe der Tastatur des Computers get„tigt werden. Daher ist die Bezeichnung "Taschenrechner" fr CHEMCALC eigentlich falsch (gibt es einen echten Taschenrechner mit externer Tastatur?), man sollte viel- leicht eine andere Bezeichnung fr derartige Programme finden. Mangels allgemein verbreiteter Alternative bleibe ich vorerst bei Taschenrechner. Die Tasten fr Konstanten und Funktionen befinden sich in 2 Reihen unter der Anzeige. Nach Bedeutung sind diese durch unterschiedliche Raster getrennt. Links befinden sich vier Tasten F1 bis F4. Durch Anklicken kann man dort eine gespeicherte Formel in die Anzeige bringen. Mit der n„chsten Vierergruppe k”nnen bestimmte Funktionen aufgerufen werden. SYM: Die Punktgruppe eines Molekls kann bestimmt werden. KON: Viele Naturkonstanten sind verfgbar. UM: Es k”nnen Einheiten umgerechnet werden. STAT: Daten fr statistische Berechnungen k”nnen eingegeben werden. ã und e: Mathematische Konstanten. (e=EXP(1)) Die Konstanten brauchen nur angeklickt werden, sie werden dann in die Anzeige bertragen. Cursor links und Cursor rechts: Damit kann lange Formeln bearbeiten. AC: L”scht die Anzeige. ANS: Bringt die letzte Formel auf die Anzeige. Auf die Tasten INST und die brigen fnf wird sp„ter eingegangen. 2.2 Rechnen 2.2.1 Einfache Rechnungen Zum Rechnen muž der zu berechnende Ausdruck in die Anzeige getippt werden. Return oder Enter starten die Berechnung. Klammern k”nnen beliebig gesetzt werden. Eingabe: 12*9+8*(7-9)*-1 Ergebnis: 124 Eingabe: 2^(2+3)/3 Ergebnis: 10.66666666667 2.2.2 Funktionen 2.2.2.1 šbersicht Tab. 1: šbersicht der Funktionen Funktionsbezeichnung Format . Trigonometrische Funktionen sin x sin(x) cos x cos(x) tan x tan(x) cot x cot(x) Umgekehrte Trigonometrische Funktionen arsin x arsin(x) arcos x arcos(x) artan x artan(x) arcot x arcot(x) Hyperbelfunktionen sinh x sinh(x) cosh x cosh(x) tanh x tanh(x) coth x coth(x) Areafunktionen arsinh x arsinh(x) arcosh x arcosh(x) artanh x artanh(x) arcoth x arcoth(x) Quadratwurzel sqr x sqr(x) Kubikwurzel cur x cur(x) Quadrat x2 sqa(x) Kubik x3 cub(x) Exponentialfunktion ex exp(x) Natrlicher Logarithmus ln x ln(x) Zehnerlogarithmus log x log(x) Betragsfunktion |x| abs(x) Ganzahliger Teil int x int(x) Dezimalstellen frac x frac(x) Vorzeichen sgn x sgn(x) Bogenmaž in Grad deg x deg(x) Grad in Bogenmaž rad x rad(x) Winkel von Dezimal in Sexagesimal dms(x) Winkel von Sexagesimal in Dezimal smd(x,y,z) Kartesische Koordinaten in Polarkoordinaten rpc(x,y,z) Polarkoordinaten in Kartesische prc(x,y,z) Funktionen (Fortsetzung) . Funktionsbezeichnung Format . Umrechnen in Dezimalzahlen dec(x) Umrechnen in Bin„rzahlen bin(x) Umrechnen in Oktalzahlen oct(x) Umrechnen in Hexadezimalzahlen hex(x) Tage zwischen zwei Daten day(ttmmjjjj,ttmmjjjj) Logische Verknpfungen and x,y and(x,y) or x,y or(x,y) xor x,y xor(x,y) imp x,y imp(x,y) eqv x,y eqv(x,y) Kombinatorik [1] Fakult„ten x! x! Variationen ohne Wiederholung Vn,i var(n,i) Kombinationen ohne Wiederholung Cn,i com(n,i) Kombinationen mit Wiederholung Cn,i comr(n,i) Statistik [2] Binominalverteilung W(x;p,n) wbn(x,p,n) Poissonverteilung Wa(x) wpo(a,x) 2.2.2.2 Trigonometrische Funktionen Die Trigonometrischen Funktionen ben”tigen als Argument einen Winkel in Grad. Gibt man "mode 3" ein, so kann man auch Winkel in Bogenmaž eingeben. Mit "mode 2" wird der Rechner wieder auf Gradeingabe umgestellt. "rad(x)" rechnet einen Winkel in Bogenmaž um, "deg(x)" rechnet Bogenmaž in Winkel um. So kann man Grad und Bogenmaž in einer Formel verwenden. Beispiel: sin(deg(ã/2)) = sin(180) = 1 Aus einem Wert fr einen Sinus kann man leicht den dazugeh”rigen Winkel berechnen. Beispiel: sin(x) = 0.5 x = arsin(0.5) x = 30 Die Funktionen arsin(x) und arcos(x) akzeptieren fr x nur Werte zwischen -1 und 1. Winkel k”nnen von Dezimalzahlen in Grad, Minuten und Sekunden umgerechnet werden. Dazu dient die Funktion dms(x). Beispiel: dms(7.356)=7ø21'21.6" Nur die Sekundenbruchteile werden dezimal dargestellt. Umgekehrt kann man Grad, Minuten und Sekunden wieder in die dezimale Darstellung umwandeln. Dazu gibt es die Funktion smd(grad,min,sek) Beispiel: smd(7,21,21.6)=7.356 2.2.2.3 Koordinatentransformation Mit Hilfe der Funktionen rpc(x,y,z) kann man kartesische Koordi- naten in Polarkoordinaten umrechnen. Die Funktion prc(r,í,é) hat die umgekehrte Wirkung. Beispiel: Umrechnung des Punktes mit den Koordinaten x=1, y=1, z=1 in Polarkoordinaten Eingabe: rpc(1,1,1) Ergebnis: 1.732050807569,45,54.73561031725 Rechnet man mit zweidimensionalen Koordinaten, so muž man z = 0 bzw. die Poldistanz é = 90ø setzen. Bei diesen Rechnungen wird bercksichtigt, ob der Rechner auf Grad (mode 2) oder Bogenmaž (mode 3) eingestellt ist. Den Radius r kann man in eine beliebige Variable setzen, die Werte í und é werden in den reservierten Variablen "phi" und "theta" gespeichert. So kann man mit diesen Werten weiterrechnen. Eingabe: r=rpc(1,1,1) = 1.732050807569,45,54.73561031725 r*10 = 17.32050807569 dms(phi) = 45ø0'0" dms(theta) = 54ø44'8.1971421" 2.2.2.4 Tage zwischen zwei Daten Mit der Funktion day(ttmmjjjj,ttmmjjjj) kann man die Anzahl der Tage zwischen zwei Daten berechnen. Beispiel: Wieviele Tage liegen zwischen den 22.5.1972 und dem 31.7.1990? Eingabe: day(22051972,31071990) Ergebnis: 6644 Diese Funktion ist abh„ngig vom eingestellten Datumsformat. Unter eingestellten US-Format (mode 13) muž die gleiche Aufgabe wie folgt eingegeben werden (Format: mmttjjjj): Eingabe: day(05221972,07311990) Ergebnis: 6644 Wird das Datumsformat auf schwedisch (mode 14) eingestellt, so wird muž das Jahr zuerst eingegeben werden (Format: jjjjmmtt): Eingabe: day(19720522,19900731) Ergebnis: 6644 2.2.2.5 Kombinatorik Die Berechnung von Fakult„ten ist sehr einfach. Es sind Fakult„- ten bis 170! m”glich. Beispiel: 8! Eingabe: 8! = 40320 Variationen von n Elementen zur i-ten Klasse ohne Wiederholung sind definiert als Vn,i = n!/(n-i)! Beispiel: Wieviele dreistellige Zahlen lassen sich aus den Ziffern 1 bis 9 schreiben, wenn jede Ziffer nur einmal vorkommen darf? Dazu muž man die Zahl der Variationen von 9 Elementen zur 3. Klasse bestimmen. Man erh„lt: var(9,3) = 504 Kombinationen von n Elementen zur i-ten Klasse ohne Wiederholung sind definiert als Cn,i = n!/i!(n-i)! oder abgekrzt Cn,i = n²i (lies "n ber i") Beispiel: Wieviele M”glichkeiten gibt es, sechs Richtige im Lotto tippen? com(49,6) = 13983816 Weiterhin ist kann man die Zahl der Kombinationen von n Elementen zur i-ten Klasse mit Wiederholung bestimmen. Die Formel lautet: Cn,i = n+i-1²³i Beispiel: Wieviele verschiedene Augenzahlen kann man beim Wrfeln mit drei Wrfeln erhalten? L”sung: Jeder der drei Wrfel kann eine Augenzahl zwischen eins und sechs aufweisen. Ein Wurf mit drei Wrfeln ist also dadurch gekennzeichnet, daž man aus der Menge von sechs verschiedenen Augenzahlen drei herausgreift, wobei es auf die Reihenfolge nicht ankommt und jede Augenzahl mehrfach vorkommen kann. Die Zahl der Wrfe ist also gegeben durch: C6,3 = 6+3-1³²3 Eingabe: comr(6,3)=56 Fr die Zahl der Variationen von n Elementen zur i-ten Klasse mit Wiederholung gilt einfach: Vn,i = ni x, n, i kann auch ein mathematischer Ausdruck sein. Beispiel: com(6+3-1,3) Ergebnis: 56 2.2.2.6 Binominalverteilung [2] Wenn man eine Mnze n-mal wirft, so wird eine Seite n/2-mal oben liegen. Will man beispielsweise die Wahrscheinlichkeit bestimmen, mit der bei 10 Wrfen die Zahl 10-mal oben liegt, so kann dazu die Binominalverteilung zu Hilfe nehmen. Die Binominalverteilung ist definiert als W(x;p,n) = (n²x)px(1-p)n-x Dabei ist x die Anzahl der auftretenden Ereignisse, p die Wahrscheinlichkeit des Einzelereignisses und n die Anzahl der Versuche. Bei einem Mnzwurf ist die Wahrscheinlichkeit, daž bei einem Wurf die Zahl oben liegt, 1/2 (p=1/2). Die Wahrscheinlichkeit, daž 10 Wrfen (n=10) die Zahl 10 mal (x=10) oben liegt ist: W(10;0.5,10) Eingabe: wbn(10,0.5,10) Ergebnis: 0.0009765625 = 1/1024 Die Wahrscheinlichkeit, daž bei 10 Wrfen die Zahl 5-mal oben liegt, ist: wbn(5,0.5,10) = 0.24609375 2.2.2.7 Poissonverteilung [2] Die Binominalverteilung geht fr sehr grože n und sehr kleine p in die Poissonverteilung ber, wobei gilt: a ax Wa(x) = lim W(x;-,n) = - e-a ; a = n*p n->ß n x! Ein Beispiel: Bei der Produktion elektronischer Bauteile treten mit einer Wahrscheinlichkeit von p=0.001 defekte Teile auf. Mit welcher Wahrscheinlichkeit findet man in einem Karton mit 800 Bauteilen 2 defekte? p = 0.001, n = 800 a = n*p = 0.8 Einstellung: round f4 wpo(0.8,2) = 0.144 2.2.2.8 Molmassenbestimmung Neben den mathematischen Funktionen gibt es die Funktion "mol", die zur Berechnung der Molmasse einer chem. Verbindung ben”tigt wird. Dieses wird mit Hilfe dieser Funktion sehr einfach. Als Beispiel hier die Bestimmung der Molmasse von Schwefels„ure: Eingabe: mol(H2SO4) Ergebnis: 98.6536 Es ist nicht n”tig die Summenformel zu bestimmen, man kann die Formel auch als vereinfachte Strukturformel eingeben, wie sie in der organischen Chemie blich sind. Will man zum Beispiel die Molmasse von p-Toluolsulfonylchlorid bestimmen, so braucht man nur die Summenformeln aller Moleklteile kennen. Eingabe: mol(CH3C6H4SO2Cl) Ergebnis: 191.1548 Im Argument dieser Funktionen k”nnen Komplexliganden oder andere, mehrfach vorhandene Gruppen in eckige Klammern gesetzt werden. Dabei ist nur eine Klammerebene erlaubt. Beispiel: Molmasse von [Ni(H2O)2(NH3)4](NO3)2 Eingabe: mol(Ni[H2O]2[NH3]4[NO3]2) Ergebnis: 286.8752 Viele Gruppen k”nnen durch Abkrzungen ersetzt werden. Dadurch wird die Molmassenberechnung vieler Komplexe einfacher. Im Falle der Nickelverbindung heižt dies: Eingabe: mol(NiAq2Amm4[NO3]2) Ergebnis: 286.8752 Die meisten Abkrzungen sind der Literatur [3] entnommen, bei Gleichheit mit Elementsymbolen hat das Element Vorrang. Abweichend von der Literatur wird daher Acetyl mit Ace statt Ac abgekrzt. Jedes neue Symbol beginnt mit einem Grožbuchstaben, daher muž auf Grož- und Kleinschreibung geachtet werden. Tab. 2: Abkrzungen fr Funktion MOL Abkrzung Substanz Formel . Ace Acetyl CH3CO Acac Acetylacetonat-Anion CH3COCHCOCH3 Adp Adenosindiphosphat C10H12N5O10P2 Amm Ammoniak NH3 Aq Wasser H2O Atp Adenosintriphosphat C10H12N5O13P3 Bipy 2,2'Bipyridin (C5H4N)2 Bu Butyl C4H9 Bz Benzyl C6H5CH2 Cfl Trifluormethyl CF3 Cn Cyanid CN Cp Cyclopentadienyl, C5H5 Cy Cyclohexyl C6H11 D Deuterium Diars o-Phenylenbis(dimethylarsin) o-C6H4(AsMe2)2 Dien Diethylentriamin H2H(CH2CH2NH)2H Diop [(2,2-Dimethyl-1,3-dioxolan-4,5- (Ph2PCH2HCO)2CMe2 diyl)bis(methylen)]bis(diphenylphosphin) Dmpe 1,2-Bis(dimethylphosphino)ethan (CH3)2PC2H4P(CH3)2 Dppe 1,2-Bis(diphenylphosphino)ethan (Ph)2PC2H4P(Ph)2 Dppm Bis(diphenylphosphino)methan (Ph)2PCH2P(Ph)2 En Ethylendiamin H2NCH2CH2NH2 Hfa Hexafluoracetylacetonat-Anion CF3COCHCOCF3 Me Methyl CH3 Mes Mesityl (CH3)3C6H2 Oh Hydroxyl OH Ox Oxalat-Anion C2O4 Pc Phtalocyanin (C6H4(CN)2)4 Ph Phenyl C6H5 Phe Phenylen C6H4 Phen 1,10-Phenanthrolin C12H8N2 Pnp Bis(2-diphenylphosphinoethyl)amin (((Ph)2P)2C2H3)2NH Pro Propyl C3H7 Py Pyridin C5H5N Pyl Pyridyl C5H4N Pz Pyrazolyl C3H3N2 Qas Tris(2-diphenylarsinophenyl)arsin As(C6H4AsPh2)3 Scn Rhodanid SCN T Tritium Tan Tris(2-diphenylarsinoethyl)amin N(CH2CH2AsPh2)3 Tap Tris(3-dimethylarsinopropyl) P(CH2CH2CH2AsMe2)3 phosphin Tas Bis(3-dimethylarsinopropyl) MeAs(C3H6AsMe2)2 methylarsin Tcne Tetracyanoethylen (CN)2C2(CN)2 Tn 1,3-Diaminopropan H2NCH2CH2CH2NH2 Zus„tzlich zu den bisher verfgbaren Formelmakros k”nnen jetzt bis zu 512 Makros selbst definiert werden. Dazu wurde die Betriebsart 1 (bisher: Formeln eingeben) erweitert. Es gilt jetzt: Eingabe Anzeige Wirkung mode 1,0 WRITE Formeln eingeben mode 1,1 MAKRO Makros eingeben Statt mode 1,1 kann man auch defmacro eingeben. Rechts neben "MAKRO" ist angegeben, wieviel Markros bisher gespeichert wurden. Mit Hilfe der Tasten fr ã und e kann man sich vorhandene Makros ansehen und ggf. „ndern. Neben der Anzeige fr die Makroanzahl kann man sehen, an welcher Stelle man sich im Makrospeicher befindet. Die Makros werden auf folgende Weise eingegeben: Name,masse Der Name kann bis zu 8 Buchstaben lang sein. Er muž mit einem Grožbuchstaben beginnen, sonst kleingeschrieben sein und darf keine Zahlen enthalten. Die Makros werden in der Reihenfolge ihrer Eingabe gespeichert und ausgewertet, daher mssen bei der Eingabe einige Dinge beachtet werden. Gibt man „hnliche Makros ein, so muž man die l„ngsten zuerst eingeben, wenn der Anfang des l„ngeren Namens mit dem krzeren identisch ist. Im Beispiel von NADH und NAD heižt dies: Nadh vor Nad eingeben. Masse kann eine Zahl oder ein mathematischer Ausdruck sein. Es ist dabei m”glich, die Molmasse eines vorher eingegebenen Makros zu bestimmen. Beispiel: Eingabe eines Makros fr tert-Butoxycarbonyl Abkrzung: Boc Eingabe: Boc,mol(BuOCarb) Bu ist ein festes Makro, Carb wurde vorher als Carb,mol(CO) definiert. Noch etwas zur Arbeitsweise der Funktion "mol". Sie untersucht die Formel zeichenweise, wobei sie bei jedem Zeichen prft, ob das Zeichen rechts ein Grožbuchstabe oder eine Zahl ist. So wird ein Symbol ermittelt, das aus einem oder zwei Buchstaben besteht. Zu diesen Zweck werden alle selbstdefinierten Makros durch Zwei- zeichencodes ersetzt. Gleiches gilt auch fr die langen festen Makros. Ist ein Kleinbuchstabe zuviel, der Rest aber sonst gltig und vorhanden, so wird der Kleinbuchstabe ignoriert und die Formel bestimmt. Ein Beispiel soll dieses verdeutlichen. Sie haben statt der korrekten Formel fr Selens„ure H2Se4 H2SeeO4 eingegeben. Die falsche Formel H2SeeO4 wird wird zu H2Se4 korrigiert, vorausgesetzt, See ist kein Makro. Geben Sie aber H2SaaO4 ein so wird zuerst versucht, H2SaO4 bestimmen, da weder Saa noch Sa als Makro definiert sind. Da aber Sa ein m”gliches Symbol ist, wird nach einer Molmasse fr Sa gesucht. Wird diese nicht gefunden, so wird eine Warnmeldung ausgegeben. In der Version 1.0 war die Molmasse fr ein nicht vorhandenes Symbol einfach 0. Wegen dieser Arbeitsweise muž bei der Definition von Makros Folgendes beachtet werden: Stimmt ein Makro mit den ersten Teilen eines zweiten berein, so muž das zweite zuerst definiert werden. Ein Beispiel: Es sollen Glu als Symbol fr Glutamin und Glucose als Symbol fr Glucose definiert werden. Das Symbol "Glu" stimmt mit dem ersten Teil von Glucose berein, daher muž Glucose zuerst definiert werden. Mit "save macro" k”nnen die Definitionen gesichert werden. Sichert man sie in die Datei "CHEMCALC.MOL", so werden sie beim n„chsten Booten mitgeladen. Mit "load macro" kann man neue Makros laden. 2.2.3 Formeln speichern Im Rechner k”nnen bis zu 4 Formeln gespeichert werden. Zum Speichern gibt man "mode 1" ein. Links in der Statusanzeige steht "write". Durch Anklicken einer der Tasten F1 - F4 kann man bestimmen, wo die Formel gespeichert wird. Die aktuelle Formel wird in der Statuszeile angezeigt. Weiterhin steht dort, welche Formelspeicher schon belegt sind. Mit "clr" kann man eine Formel l”schen. Formeln k”nnen entweder komplett oder als Term eingegeben werden. Beispiel: Dreiecksberechnung nach Pythagoras Formel: sqr(a*a+b*b) a=3, b=4 Formel holen und rechnen. Ergebnis: 5 2.2.4 Statistische Berechnungen Der Rechner kann einfache statistische Rechnungen durchfhren. Vor Beginn der Rechnungen muž der Statistikspeicher mit "sac" gel”scht werden. Die Eingabe kann fr andere Rechnungen unterbrochen werden. 2.2.4.1 Berechnung der Standardabweichung Nach der Eingabe jedes Datenwertes muž die "STAT"-Taste angeklickt werden. Die Anzahl der Daten wird in der Statuszeile angezeigt. Beispiel: Daten: 10, 11, 9, 12, 12, 8, 11, 10, 11, 9, 9 Standardabweichung ån-1: Eingabe: sdx Ergebnis: 1.328019715078 Standardabweichung ån: Eingabe: sdxn Ergebnis: 1.266217116108 Summe der Daten äxi: Eingabe: sx Ergebnis: 112 Summe der Quadrate äxi2 Eingabe: sx2 Ergebnis: 1158 Mittelwert: Eingabe: mx Ergebnis: 10.18181818182 Eine fehlerhafte Eingabe kann korrigiert werden. Dazu gibt man "del wert" ein und klickt die Stat-Taste an. Angenommen, die letzte 9 in dem obigen Beispiel sei falsch und soll durch eine 8 ersetzt werden. Eingabe: del 9 Eingabe: 8 Nach beiden Eingaben die STAT-Taste anklicken. 2.2.4.2 Lineare Regression Nach Eingabe jedes Datenpaares muž die "STAT"-Taste angeklickt werden. Die Werte sind mit Komma zu trennen. Beispiel: 1,2 2,3 3,4 4,5 5,6 6,8 Die Standardabweichung fr die x-Werte kann wie oben beschrieben berechnet werden. Fr die y-Werte gibt es die entsprechenden Funktionen sdy, sdyn, sy, sy2, my In diesem Beispiel gilt fr sdy: 2.160246899469 sdyn: 1.972026594367 Summe der Produkte äxiyi: Eingabe: sxy Ergebnis: 118 Die Regressionsgleichung lautet y = a + bx Die Koeffizienten a und b werden wie folgt ermittelt: Koeffizient a: Eingabe: lra Ergebnis: 0.6666666666667 Koeffizient b: Eingabe: lrb Ergebnis: 1.142857142857 Der Korrelationskoeffizient kann natrlich auch berechnet werden. Eingabe: cor Ergebnis: 0.9897433186108 Die Regressionsgleichung beschreibt eine Gerade. Mit Hilfe der Koeffizienten a und b k”nnen Sch„tzwerte fr x und y berechnet werden. Der Koeffizient a ist der Schnittpunkt der Geraden mit der y-Achse. Wo schneidet die Gerade aber die x-Achse? Es ist der Wert fr x, an dem y = 0 ist. Dieser wird mit der Funktion "eox" berechnet. Eingabe: eox(0) Ergebnis: -0.5833333333333 Werte fr y lassen sich mit der Funktion "eoy" bestimmen. Beispiel: x = 10 Eingabe: eoy(10) Ergebnis: 12.09523809524 Fehlerhafte Eingaben k”nnen wie schon bei der Standardabweichung beschrieben korrigiert werden. 2.2.5 Einheiten umrechnen Die Taste mit der Aufschrift "UM" liefert die Umrechnungsfaktoren fr verschiedene Einheiten. Es erscheint eine Box mit verschie- denen Druck, Energie und Zeiteinheiten. Um einen Umrechnungs- faktor zu bekommen, muž man zuerst die vorhandene Einheit und anschliežend die gewnschte anklicken. Der Faktor wird dann in die Anzeige bertragen. 2.2.6 Naturkonstanten Die im Rechner implementierten Naturkonstanten sind jetzt auch als Abkrzungen verfgbar, wobei als Abkrzungen die in [1] und [3] verwendeten Symbole dienen. Bei Symbolen, die nicht ber die Tastatur verfgbar sind, gibt es allerdings Abweichungen. Alle Symbole mssen bei der Eingabe mit einem # beginnen. Tab. 3: Naturkonstanten Gr”že Symbol Eingabe Zahlenwert . Elementarladung e #e 1.60219*10-19C Faradaykonstante F #F 9.64846*104C Boltzmannkonstante k #k 1.38066*10-23JK-1 Gaskonstante R #R 8.31441 Molvolumen idealer Gase v0 #v0 22.41383 l Bohrscher Radius a0 #a0 5.29177*10-11m Planksche Konstante h #h 6.2618*10-34Js h quer h/2ã #hq 1.05459*10-34Js Bohrsches Magneton æB #mB 9.27408*10-24JT-1 #æB Kernmagneton #mN 5.05082*10-27J/T Avogadrosche Zahl NA #NA 6.02205*1023 Atomare Masse mu #mu 1.66056*10-27kg Elektronenmasse me #me 9.10953*10-31kg Protonenmasse mp #mp 1.67265*10-27kg Neutronenmasse mn #mn 1.67495*10-27kg Dielektrizit„tskonstante e0 #e0 8.85419*10-12 Rydbergkonstante Rß #Ry 109737 cm-1 Feinstrukturkonstante à #a 0.00729735 #à Gravitationskonstante G #G 6.672*10-11 Lichtgeschwindigkeit c #c 299792500 ms-1 Magnetisches Moment æe #me 9.284832*10-24JT-1 des Elektrons #æe Tab. 3: Naturkonstanten (Fortsetzung) Gr”že Symbol Eingabe Zahlenwert . Land‚-g-Faktor des ge #ge 2.0023193134 freien Elektrons Dielektrizit„tskonstante 4ãe0 #4pie0 1.11265*10-10J-1C2m-1 des Vakuums * 4ã #4ãe0 Elementardauer ç #t 4.408362*10-24s #ç Pi ã #pi 3.14159265359 ã Eulersche Zahl e #eu 2.718281828459 ‰ Weiterhin sind jetzt dezimale Vielfache und Teile als Konstanten verfgbar. Tab. 4: Dezimale Vors„tze Vorsatz Bedeutung Eingabe Vorsatz Bedeutung Eingabe . Deka 101 #deka Dezi 10-1 #dezi Hekto 102 #hekto Zenti 10-2 #zenti Kilo 103 #kilo Milli 10-3 #milli Mega 106 #mega Mikro 10-6 #mikro Giga 109 #giga Nano 10-9 #nano Tera 1012 #tera Piko 10-12 #piko Peta 1015 #peta Femto 10-15 #femto Exa 1018 #exa Atto 10-18 #atto 2.2.7 Punktgruppen Klickt man den Knopf mit der Aufschrift "SYM" an, kann man die Punktgruppe eines Molekls bestimmen. Der Rechner fragt dabei Eigenschaften ab, die bejaht (Eingabe "j") oder verneint (Eingabe "n") werden. Als Beispiele werden hier die Molekle Wasser und Benzol untersucht. 1. Wasser Frage: Molekl linear? Antwort: nein Frage: 2 oder mehr Cn, nò3? Antwort: nein Frage: Cn vorhanden? Antwort: ja Frage: Wie grož ist n? Antwort: 2 Frage: Gibt es n C2 senkrecht zu Cn mit gr”žten n? Antwort: nein Frage: åh vorhanden Antwort: nein Frage: Sind nåv vorhanden? Antwort: ja Ausgabe des Rechners: Punktgruppe: C2v 2. Benzol Frage: Molekl linear? Antwort: nein Frage: 2 oder mehr Cn, nò3? Antwort: nein Frage: Cn vorhanden? Antwort: ja Frage: Wie grož ist n? Antwort: 6 Frage: Gibt es n C2 senkrecht zu Cn mit gr”žten n? Antwort: ja Frage: Ist ein åh vorhanden Antwort: ja Ausgabe des Rechners: Punktgruppe: D6h Zum Verst„ndnis dieser Funktion wird hier auf Lehrbcher der Gruppentheorie verwiesen. 2.3 Weitere Befehle 2.3.1 Rundungsarten Das Ergebnis kann auf zwei Arten gerundet werden. Gibt man "round f4" ein, so wird das Ergebnis auf vier Nachkommastellen gerundet und in Dezimalschreibweise ausgegeben. Mit round e4 wird das Ergebnis in Exponentialschreibweise mit 4 Nachkommastellen ausgegeben. Beispiel: 2*ã = 6.2832 bei round f4 2*ã = 6.2832E0 bei round e4 Die Rundungsart wird in der Statuszeile angezeigt. "round" stellt den Rechner wieder auf normale Anzeige um. Die Zahl im Rundungsbefehl gibt die Anzahl der Nachkommastellen an. M”glich sind 1 - 12 Nachkommastellen. 2.3.2 Betriebsarten Bisher wurden schon einige Modi angesprochen. Hier kommt eine šbersicht. Tab. 5: Betriebsarten Eingabe Anzeige Wirkung . mode 0 CALC Normaler Rechenmodus mode 1,0 WRITE Formeln speichern mode 1,1 MACRO Formelmakros speichern (fr Funktion "mol") mode 2 DEG Winkel in Grad mode 3 RAD Winkel in Bogenmaž mode 4 PRINT Ergebnis wird gedruckt mode 5 Drucken aus mode 6 KEY Ergebnis nach Schliežen als Tastendruck mode 6,n KEY n Leerzeichen vor dem Ergebnis mode 7 Tastendruck aus mode 8 Ergebnis als Dezimalzahl mode 9 BIN Ergebnis als Bin„rzahl mode 9,n BIN Ergebnis als n-stellige Bin„rzahl mode 10 OCT Ergebnis als Oktalzahl mode 10,n OCT Ergebnis als n-stellige Oktalzahl mode 11 HEX Ergebnis als Hexadezimalzahl mode 11,n HEX Ergebnis als n-stellige Hexadezimalzahl mode 12 D Datumsformat fr Funktion "day" deutsch mode 13 US Datumsformat englisch (mmttjjjj) mode 14 S Datumsformat schwedisch (jjjjmmtt) H„ufig ben”tigte Modi k”nnen durch leicht zu merkende Befehle eingestellt werden. Hier sind alle Befehle: Tab. 6: Befehle Befehl Modus Wirkung . defmacro mode 1,1 Makros definieren, s. o. printer on mode 4 Ergebnis wird gedruckt printer off mode 5 Drucken aus keyboard on mode 6 Ergebnis als Tastendruck keyboard on,n mode 6,n n Leerzeichen vor dem Ergebnis keyboard off mode 7 Tastendruck aus Die alten Befehle sind weiterhin m”glich. Mit "save" k”nnen Modi 2-14 in der Datei "CHEMCALC.INF" gespeichert werden. "reset" setzt den Rechner auf die Modi 2, 5, 7, 8 und 12 und schaltet das Runden aus. "free" zeigt den freien Speicher im Computer an. "dfree x" zeigt den freien Speicher auf Laufwerk x an. Mit mode 6 kann man das Ergebnis in ein anderes Programm bertragen. Der Rechner simuliert dazu fr jedes Zeichen einen Druck auf die entsprechende Taste. Auf diese Weise erspart man sich das l„stige Notieren der Ergebnisse auf einen Zettel, wie das bei vielen anderen Taschenrechner-Accessories n”tig ist. Manche Programme ignorieren die ersten Zeichen des Ergebnis- ses. Mit mode 6,n kann man n Leerzeichen vor das Ergebnis setzen, die dann ignoriert werden. Auf diese Weise kann aber das Ergebnis vollst„ndig bertragen werden. Versteht das Programm das XACC- Protokoll ab Stufe 1, so wird das Ergebnis als Text bertragen. S„mtliche Ergebnisse der Beispiele in dieser Anleitung wurden auf diese Weise in das Dokument bertragen. "vac" l”scht alle Variablenspeicher. Mit "dump" kann man sich die Variablen ausdrucken lassen, mit "dump macro" die Makros fr die Funktion "mol" 2.3.3 Rechnen mit anderen Zahlensystemen Der Rechner ist in der Lage, Bin„r-, Oktal- und Hexadezimalzahlen zu verarbeiten. Bin„rzahlen sind Zahlen zur Basis 2 und werden durch die Ziffern 0 und 1 dargestellt. Sie sind durch % gekennzeichnet. Oktalzahlen benutzen die Basis 8 und werden durch die Ziffern 0-7 dargestellt. Die Kennzeichnung erfolgt durch &O. Hexadezimalzahlen sind Zahlen zur Basis 16. Sie werden durch die Ziffern 0-9 sowie den Buchstaben A-F dargestellt und durch $ gekennzeichnet. Das Zahlensystem der Ausgabe kann man durch einen Modus einstellen. Dabei gilt: mode 9: Ausgabe als Bin„rzahl mode 9,n Ausgabe als Bin„rzahl mit n Stellen (maximal 32) mode 10 Ausgabe als Oktalzahl mode 10,n Ausgabe als Oktalzahl mit n Stellen (maximal 11) mode 11 Ausgabe als Hexadezimalzahl mode 11,n Ausgabe als Hexadezimalzahl mit n Stellen (maximal 8) mode 8 stellt den Rechner wieder auf Dezimale Darstellung um. Das eingestellte Zahlensystem wird in der Statuszeile angezeigt. Es werden nur Integerzahlen im Bereich -2147483648 - 2147483647 verarbeitet. Beispiele: 1. Bin„rzahlen (mode 9,8) Verknpfung zweier Bin„rzahlen and(%11111000,00011111) = %00011000 or(%11111000,00011111) = %11111111 eqv(%11110001,00011111) = %00010001 2. Oktalzahlen (mode 10,5) and(&O12345,&O75310) = &O10300 3. Hexadezimalzahlen (mode 11) and($aa,$ff00) = $5300 Die Modi 9-11 sind bei den Funktionen bin, oct, dec und hex nicht wirksam. 2.4 Erweiterungen In der Anleitung sind bisher die Funktionen von sechs Tasten offen geblieben. Diese sollen jetzt erk„rt werden. Die Taste mit der Aufschrift "Inst" dient zur Installation weiterer Accessories. Nachdem man sie angeklickt hat, muž man eine der unbeschrifteten Tasten anklicken. Danach wird man nach dem Namen eines Accessorys gefragt. Es muž der Dateiname des Accessorys ohne Extender eingegeben werden. Dann wird nach einer Tastenaufschrift gefragt, die maximal vier Buchstaben lang sein darf. Diese wird in der unbeschrifteten Taste eingetragen. Anschliežend wird nach dem Typ der Daten gefragt, den dieses Accessory liefern sein. Hier kann man zwischen Fliežkommazahl und Formel w„hlen. Die letzte Frage gilt der Funktionsnummer. Diese ist wichtig fr Accessories wie Handbook Plus, die auf verschie- dene Weisen aufgerufen werden k”nnen. Beispiel: Installation des Accessorys Periodensystem. "Inst" anklicken Unbeschriftete Taste anklicken Name des Accessories: perioden Tastenaufschrift: PSE Datentyp: 1 (Float) Funktionsnummer: 0 Auf der gew„hlten Taste steht jetzt PSE, klickt man diese an, so wird das Accessory gestartet, wenn man es beim Booten geladen hat. Verl„žt man das Accessory, so wird der dort gew„hlte Wert in die Anzeige des Rechners bertragen. Zum Entfernen eines Accessorys klickt man "Inst" an, dann die Taste, die das Accessory aufruft. Mit "save" kann man die Installation in der Datei CHEMCALC.INF sichern, beim n„chsten Booten stehen die Accessories sofort zur Verfgung. Natrlich mssen diese Accessories mitgebootet werden. 3. Zusatzaccessories 3.1 Perioden-System Perioden-System ist ein Accessory, das Daten ber chemische Elemente enth„lt. Es kann unabh„ngig von CHEMCALC benutzt werden, ist aber in der Lage, Daten an andere Programme zu schicken. Startet man das Accessory, so erscheint das Periodensystem auf dem Bildschirm. W„hlt man ein Element aus, so erscheint eine Tafel mit verschiedenen atomaren und physikalischen Daten. Sucht man ein Datum aus und klickt auf das Ok-Feld, so wird der Wert, falls ein anderes Programm das Accessory aufgerufen hat, an das Programm geschickt. Klickt man in der ersten Daten-Tafel dem Weiter-Button an, so erscheint eine weitere Tafel mit Isotopen- daten, wo man Daten wie Masse, H„ufigkeit, Spin, Gyromagnetisches Verh„ltnis, magnetisches Moment und Quadrupolmoment findet. Klickt man diese an, so werden diese nach Anklicken des Ok- Buttons an das aufrufende Programm geschickt. Klickt man die Titelbox an so wird wird der ausgew„hlte Wert bei Verlassen von Perioden-System als Tastenfolge simuliert. Diese Einstellung ist dauerhaft, sie kann durch nochmaliges Anklicken des Titelbuttons abgestellt werden. Sie ist natrlich nur wirk- sam, wenn Periodensystem ber das Desktop aufgerufen wird. Bei Programmen, die das XACC-Protokoll der Stufe 1 verstehen, wird das Ergebnis als Text verschickt. 3.2 Chemie-Daten Chemie-Daten ist ein Accessory, das Daten ber chemische Substan- zen enth„lt. Wie Perioden-System kann es eigenst„ndig benutzt werden. Zur Bedienung braucht nicht viel gesagt werden. Man ruft es auf, holt sich die ben”tigten Daten und verf„hrt genau so wie bei Perioden-System. Im Gegensatz zu Perioden-System kann man kann die Daten „ndern und neue eingeben. Beim Aufruf von Chemie-Daten erscheint eine Tafel mit Daten von 20 verschiedenen Substanzen, beim gelieferten Accessory sind es die Dichten organischer Substanzen. Es k”nnen maximal 100 Daten in 5 Tafeln aufgenommen werden. Jederzeit k”nnen neue Daten von Diskette geladen werden, beim Booten werden die Daten aufge- nommen, die in der Datei CHEMIE.DAT gespeichert sind. Fehlt die Daten-Datei, so kann man Daten beim ersten Aufruf erzeugen, indem man dabei die Control-Taste drckt. Bei diesen Daten handelt es sich um die Dichten organischer Substanzen. Klickt man die Titelbox an, so wird die Textbertragung in ein anderes Programm eingeschaltet. Diesen Modus kann man auf die gleiche Weise wieder abstellen. 3.3 Handbook 3.3.1 Allgemeines Handbook ist der grože Bruder von Chemie-Daten. Hier sind Daten von verschiedenen Substanzen in Tabellenform eingetragen. Daten, die beim Programmstart geladen werden, mssen sich in der Datei HANDBOOK.HBK oder in der in HANDBOOK.INF angemeldeten Datei befinden. Das Programm wird durch Pulldown-Mens bedient, die bis auf einige Abweichungen wie die des Desktops arbeiten. Zum Herunterklappen eines Mens muž dazu der Mentitel angeklickt werden. Abweichend vom Desktop wird der Menpunkt unter dem Mauszeiger nicht automatisch invertiert, sondern erst beim An- klicken. Das Men verschwindet, wenn man den leeren Teil der Menzeile anklickt. Man kann sich in der Datei mit Hilfe des Schiebereglers an der rechten Seite umsehen. Das ist auch mit Hilfe der Cursortasten m”glich. Die Cursortasten bewegen die Datei seitenweise, Shift-Cursor zeilenweise. Mit Clr Home kommt man an den Anfang der Datei, mit Shift Clr Home an das Ende. 3.3.2 Desk Hier befindet sich wie bei jedem GEM-Programm das Programm-Info. Weiterhin k”nnen hier weitere Accessories eingetragen werden. Diese Accessories mssen mit CHEMCALC zusammenarbeiten k”nnen. 3.3.3 Datei Hier werden die Dateioperationen geregelt. "Neue Datei" dient dazu, eine neue Datei anzulegen. Weiterhin kann man eine andere Datei laden sowie die aktuelle Datei sichern und drucken. Mit "Block lesen" kann man Daten an eine bestehende Datei anh„ngen. Mit "Block schreiben" und "Block drucken" kann man einen Block auf Diskette schreiben bzw. drucken. Mit "Block als Text" kann man einen Block direkt in einen Text bernehmen. Dabei muž man auf das eingestellte Programm im Optionen-Men achten. Klickt man "Ende" an, kann man das Accessory verlassen. Handbook kann man auch durch Drcken der ESC-Taste verlassen. 3.3.4 Edit 3.3.4.1 Eingeben Hier kann man neue Daten eingeben, wobei man zwischen Eigen- schaften und Werte eingeben w„hlen muž. Eigenschaften werden bei der Neuanlage einer Datei eingegeben. Dabei werden der Eintrag im Desktop, eine zweizeilige šberschrift und die einzelnen Eigen- schaften mit den dazugeh”rigen Einheiten eingegeben. Der Eintrag im Desktop wird beim n„chsten Booten in das Deskmen des Computers eingefgt. Die Daten kann man eingeben, wenn man "Werte eingeben" anklickt. Nach der Eingabe muž man den Button "Eingabe richtig" anklicken, um die Daten in die Datei aufzunehmen. Mssen Daten aus anderen Accessories geholt werden, klickt man eines der unter "Desk" eingetragenen Accessories an. Das gelieferte Ergebnis wird dann an der Stelle, wo der Cursor steht eingetragen. Mit dem Menpunkt "Sonderzeichen" k”nnen bei der Bearbeitung von Handbook-Daten Zeichen eingegeben werden, die ber die Tastatur nicht verfgbar sind. 3.3.4.2 Žndern Will man Daten „ndern, so klickt man das zu „ndernde Datum und anschliežend den Menpunkt „ndern an. Die weitere Bedienung ist die Gleiche wie bei "Eingeben". 3.3.4.3 Block markieren Ein Block kann man markieren, indem man ein Datum anklickt und "Block Anfang" anklickt. Hat man das Ende des Blocks markiert, wird dieser angezeigt und man kann ihn drucken oder auf Diskette schreiben. 3.3.4.4 Suchen Man kann Eintr„ge in der ersten Spalte suchen. Dazu klickt man "Suchen" an und gibt den Suchbegriff ein. Der erste gefundene Datensatz wird in der ersten Zeile angezeigt. "?" kann als Wildcard benutzt werden. Mit "Weiter suchen" kann die Suche fortgesetzt werden. 3.3.5 Optionen 3.3.5.1 Sortieren Die Daten k”nnen sortiert werden, wobei Sortierschlssel die erste Spalte ist. Hat man eine Sortierung gew„hlt, werden die Daten nach jeder Ver„nderung sortiert. Ver„ndert man die Daten oder gibt neue ein, sollte man "Unsortiert" w„hlen, dann man sonst die Daten suchen muž, wenn man sie nochmal berprfen will. 3.3.5.2 Chemcalc-Module anmelden, abmelden Hier kann man die Accessories anmelden, die im Desk-Men erschei- nen. Dazu gibt man den Dateinamen ohne Extender sowie den Typ der Daten ein, den das Accessory liefern soll. Der Dateiname wird im Desk-Men eingetragen. Will man ein Accessory abmelden, so braucht man nur den Namen anklicken. 3.3.5.3 Default-Datei anmelden Welche Daten beim Programmstart geladen werden, kann man unter "Default-Datei anmelden" einstellen. 3.3.5.4 Ziffernblock einstellen Mit "Ziffernblock einstellen" kann man angeben, fr welche Spalte bei der Ergebnisausgabe Ziffern, Klammern und Operatoren (*/+-) als Tastendruck auf die entsprechende Taste im Ziffernblock ausgegeben werden. Das ist fr die Anwender von Textverarbei- tungen interessant, bei denen der Ziffernblock mit anderen Zeichen (kleinere Zahlen als Indices) belegt werden kann. Zur Zeit kann man zwischen ASCII-Editoren, Script und Wordplus 3.15 w„hlen. Fr ASCII-Editoren und Wordplus sind alle Zeichen des Atarizeichensatzes verfgbar, also auch die Sonderzeichen. Bei Wordplus 3.15 wird dabei ein Tastendruck auf die Funktionstaste F6 simuliert. Mit "Optionen sichern" kann man die Anmeldungen sichern, so daž sie beim n„chsten Booten sofort verfgbar sind. 3.4 Handbook+ Fr Leute, die Chemcalc, Perioden-System, Handbook und Chemie- Daten (wom”glich mehrfach) st„ndig mitbooten und denen die 6 Meneintr„ge fr Accessories knapp werden gibt es jetzt Hand- book+. Handbook+ besteht aus Handbook, Perioden-System und Chemie-Daten und ben”tigt als ein Accessory natrlich nur einen Meneintrag. Die Bedienung ist die gleiche wie die der einzelnen Accessories. Klickt man Handbook+ vom Desktop an, so gelangt man in den schon bekannten Teil von Handbook. In der Menzeile befindet sich der zus„tzliche Eintrag "Andere Daten". Klickt man ihn an, so erscheinen die Eintr„ge fr Periodensystem und Chemie- Daten. Dabei ist Chemie-Daten acht Mal vorhanden und kann entsprechend umfangreich genutzt werden. Welche Daten beim Pro- grammstart geladen werden, kann man im Optionen-Men unter "Default-Dateien anmelden" einstellen. Das Datei-Format ist mit dem von Chemie-Daten identisch. Die einzelnen Teile von Handbook+ k”nnen von Chemcalc gezielt aufgerufen werden. Handbook+ wertet dabei die Funktionsnummer der Nachricht $6502 aus. Dabei gilt: 0 = Handbook 1 = Perioden-System 2 - 9 = Chemie-Daten 3.5 Komplexe Komplexe ist ein Demo-Accessory, das lediglich dazu dient, die šbertragung von Formeln zu demonstrieren. Es liefert die Formeln von einigen chemischen Substanzen. Von CHEMCALC kann es mit der Nachrichtennummer $6602 aufgerufen werden und die angeklickte Formel mit der Meldung $6603 zurckschicken. Die Funktion "mol" des Rechners kann damit etwas anfangen. 3.6 Patch Patch ist ein Programm, mit dem man die Namen der Default-Dateien von Chemie-Daten, Handbook und Handbook+ „ndern kann. Dadurch k”nnen diese Accessories mehrfach mit verschiedenen Dateien installiert werden. Bei Chemie-Daten wird der Name der Daten- Datei ge„ndert, bei Handbook und Handbook+ die Namen der INF- Dateien. Nach erfolgter Žnderung mssen die Namen der Programm- Dateien und der Resource-Dateien ge„ndert werden. Die Resource- Datei muž bis auf den Extender den gleichen Namen wie die Default-Datei haben. Ein Beispiel: Es soll Chemie-Daten zweimal installiert werden, und zwar mit den ebullioskopischen und kryoskopischen Konstanten. Diese Konstanten findet man in den Dateien EBULLIO.DAT und KRYO.DAT. Jetzt braucht man nur zwei Kopien von Chemie-Daten unter den Namen EBULLIO.ACC, EBULLIO.RSC sowie KRYO.ACC und KRYO.RSC auf die Bootdiskette spielen und mit Patch die Namen der Default-Dateien auf EBULLIO bzw. KRYO „ndern. Den Extender .DAT fgt das Accessory selber hinzu. Am Ende mssen sich auf der Bootdiskette die Dateien EBULLIO.ACC, EBULLIO.RSC, EBULLIO.DAT, KRYO.ACC, KRYO.RSC und KRYO.DAT befinden. Installiert man Handbook zweimal, so muž das Ergebnis beispielsweise so aussehen: HANDBOOK.ACC, HANDBOOK.RSC, HANDBOOK.INF und HANDBUCH.ACC, HANDBUCH.RSC, HANDBUCH.INF. Die ursprnglich vorgesehene Methode, einfach den Namen der Accessories zu „ndern ist nicht m”glich, da man auf legale Weise nicht ermitteln kann, unter welchen Namen ein Accessory gestartet wurde. 4. Einzelheiten fr Programmierer 4.1 Allgemeines Es ist natrlich klar, daž an die zus„tzlichen Accessories gewisse Anforderungen gestellt werden. Sie mssen Nachrichten vom Rechner empfangen, darauf reagieren und Antworten schicken k”nnen. Wie das funktioniert soll im folgenden beschrieben werden. 4.2 Das Nachrichtensystem [4] Die Accessories tauschen mit Hilfe der AES-Funktionen APPL_WRITE (AES 12) und APPL_READ (AES 11) Nachrichten aus. Zuerst wird die Identifikationsnummer (ap_id) des angesprochenen Accessorys mit der AES-Funktion APPL_FIND (AES 13) ermittelt. Wird das Accessory nicht gefunden, so wird der Dialog abgebrochen und eine entsprechende Meldung ausgegeben. Wird das Accessory gefunden, so erh„lt man mit APPL_FIND dessen ap_id. 4.2.1 Ablauf des Dialoges Zuerst mssen einige Dinge ber Nachrichten, die fr Accessories bestimmt sind, gekl„rt werden. In vielen Bchern oder Zeit- schriften, die sich mit diesem Thema befassen heižt es, daž die Nachrichten AC_OPEN (40) und AC_CLOSE (41) nur von Accessories empfangen werden kann. Das stimmt so nicht, AC_OPEN und AC_CLOSE wird auch von anderen Programmen empfangen, wenn man ihnen diese Nachrichten schickt. Klickt man den Meneintrag eines Accessorys an, so schickt der Screenmanager, eine Task, die parallel zum Hauptprogramm l„uft und sich um die Pulldownmens und Fenster- elemente kmmert, an das Accessory die Nachricht AC_OPEN. Man kann es aber auch so einrichten, daž ein Accessory mit einer selbstdefinierten Nachricht aktiv wird, wenn man diese dem Accessory schickt. Alle in diesem Handbuch beschriebenen Acces- sories werden daher auch bei anderen Nachrichten aktiv. CHEMCALC benutzt zwei Typen von Nachrichten. Nachrichten mit einer ungeraden Nachrichten-Nummer werden nicht beantwortet, solche mit einer geraden Nummer werden mit der folgenden unge- raden Nummer beantwortet. CHEMCALC versteht ab Version 1.9 das XACC-Protokoll der Stufe 1, daher mužten die Nachrichtennummern ge„ndert werden. Weiterhin wurden bei dieser Gelegenheit einzelne Nachrichten ge„ndert. Folgende Nachrichtennummern werden zur Zeit benutzt: Tab. 7: Nachrichtennummern $6400 Anfrage, ob Rechner installiert ist $6401 Quittierung einer Nachricht (wird immer gesendet) $6403 Moduseinstellung von einem Programm $6404 - $64FE Systemnachrichten, noch nicht benutzt $64FF Fataler Fehler ist aufgetreten, ACC meldet sich ab $6502 Fliežkommazahl wird angefordert $6503 Fliežkommazahl wird gesendet $6504 - $65FF noch nicht benutzt $6602 Formel wird angefordert $6603 Formel wird gesendet $6604 - $66FF noch nicht benutzt $6702 Ankndigung einer Formel $6704 Formel wird an CHEMCALC gesendet und sofort berechnet $6705 Antwort auf $6704 Bei den Nachrichten $6400, $6403, $6702, $6704 arbeitet CHEMCALC unsichtbar, es gibt also keine Ausgabe auf den Bildschirm. Diese muž das aufrufende Programm erledigen. Da die Beantwortung vieler Fragen eine nicht vorherzusehende Zeit in Anspruch nimmt, mssen sie erst einmal mit $6401 best„tigt werden. Erst wenn diese Best„tigung ankommt, kann auf die Antwort gewartet werden. Dadurch wird vermieden, daž man auf eine Antwort wartet, die niemals kommt, weil die Frage nicht verstanden wird. Installiert man beispielsweise das Kontrollfeld als Accessory, das eine Konstante liefern soll, kann man lange auf die Antwort warten. Um das weiter zu verdeutlichen, soll der Dialog mit dem Accessory Perioden-System beschrieben werden. Perioden-System ist ein Accessory, das fr jedes chemische Element eine Menge Konstanten liefert, die man fr viele Berechnungen in der Chemie braucht. Wenn eine Konstante verlangt wird, so sendet CHEMCALC an Perioden-System eine Nachricht mit der Nummer $6502. Das ist eine gerade Nachrichtennummer, muž also beantwortet werden. Jetzt wartet CHEMCALC 2 Sekunden auf die Best„tigung. Vergehen die 2 Sekunden, ohne das etwas passiert, kann Perioden-System nicht antworten und CHEMCALC gibt eine entsprechende Meldung aus. Das geschieht z. B. in dem Fall, wenn man das Kontrollfeld als Perioden-System ausgibt. Das Gleiche, aber schneller geschieht dann, wenn bei der Nachricht $6401 message&(3)=0 ist. Das bedeutet, daž eine Antwort mit $6503 verweigert wird, aus welchen Grnden auch immer. Perioden-System kann die Nachricht $6502 verstehen, best„tigt sie mit der Nachricht $6401 an den Absender (message&(3)=1) und kann sich jetzt mit der Antwort $6503 beliebig Zeit lassen. Fr den Anwender heižt das, man kann sich Perioden-System genau ansehen oder zwischendurch etwas anderes machen. CHEMCALC wartet geduldig, bis man fertig ist. Hat man eine Konstante ausgew„hlt und verl„žt Perioden-System, so wird diese mit der Nummer $6503 an CHEMCALC geschickt. 4.2.2 Aufbau der Nachrichten Nachrichten wie $6400, $6401, $6502 und $6503 haben die GEM- Standardl„nge von 16 Bytes, die in 8 Worte aufgeteilt sind. Die ersten 3 Worte sind zur Organisation des Dialoges reserviert, so daž fr eigene Zwecke 5 Worte brigbleiben. CHEMCALC ist in GFA-BASIC 3.5 geschrieben, die programmiertechnischen Einzel- heiten beziehen sich auf diese Sprache. Die folgende Tabelle zeigt den Aufbau einer Standardnachricht. message&(0) Nachrichtennummer message&(1) ap_id des Absenders message&(2) Zus„tzliche Bytes der Nachricht; bei Standardl„nge von 16 Bytes 0 message&(3) - message&(7) Nachricht Es ist sehr wichtig, daž das sendende Programm seine ap_id in message&(1) eintr„gt, da sonst der Empf„nger nicht weiž, wohin die Antwort geschickt werden soll. Im Folgenden wird der Aufbau der einzelnen Nachrichten beschrieben. Da der Aufbau der ersten 3 Worte in allen Nach- richten gleich ist, wird nur bei Besonderheiten darauf einge- gangen. $6400 Anfrage, ob Rechner installiert ist message&(3) - message&(7) reserviert, immer 0 $6401 Allgemeine Best„tigung einer Anfrage message&(3) Wenn <> 0, Anfrage wird bearbeitet, 0: Bearbeitung verweigert message&(4) - message&(7) reserviert, immer 0 $6403 Moduseinstellung message&(3) Modus message&(4) Submodus (bei Modi 9 - 11) message&(5) - message&(7) immer 0 $64FF Ein schwerer Fehler ist aufgetreten message&(3) Fehlernummer (GFA-Basic) message&(4) - message&(7) nicht benutzt $6502 Fliežkommazahl im IEEE-Double-Format anfordern message&(3) Funktionsnummer message&(4) - message&(7) reserviert, 0 $6503 Fliežkommazahl ohne Best„tigung senden message&(3) reserviert, immer 0 message&(4) Fliežkommazahl im IEEE-Double-Format (8 Bytes) message&(5) " message&(6) " message&(7) " $6602 Formel anfordern message&(3) Funktionsnummer message&(4) - message&(7) nicht benutzt $6603 Formel ohne Best„tigung senden message&(2) L„nge der Formel (=šberl„nge der Nachricht) message&(3) - message&(7) nicht benutzt message&(8) - message&(63) Formel Eine Formel kann maximal 112 Zeichen lang sein. Die šber- tragung von Formeln unterscheidet sich von der šbertragung von Zahlen, da hier Nachrichten mit šberl„nge verschickt werden. Der Anfang des Dialoges gleicht dem Nachrichtenaustausch CHEMCALC - Perioden-System. Empf„ngt CHEMCALC die Nachricht $6603, prft er den Inhalt von message&(2). Ist dieser gr”žer als 0, so wird mit der Funktion APPL_READ der Rest der Nachricht ausgelesen. GFA-BASIC Fliežkommazahlen werden auf folgende Weise in das Integerfeld message&() bertragen: DOUBLE{V:message&(4)}=ergebnis (GFA-BASIC 3.x und IEEE- Double Fliežkommazahlen sind 8 Bytes lang) umgekehrt: ergebnis=DOUBLE{V:message&(4)} Formeln werden auf folgende Weise in das Feld message&() bertragen: BMOVE V:formel$,V:message&(8),LEN(formel$) und zurck: formel$=SPACE$(message&(2)) BMOVE V:message&(8),V:formel$,message&(2) Offensichtlich ist die Message-Pipe 128 Bytes grož, daher k”nnen mit der Funktion APPL_READ maximal 112 Bytes ausgelesen werden. Von den 128 Bytes bilden die ersten 16 Bytes die Standard- nachrichten. 4.3 CHEMCALC als Programmerweiterung 4.3.1 Konstanten von Hand berechnen Am Anfang dieser Anleitung wurde schon gesagt, das der Name dieses Accessorys nicht ge„ndert werden soll. Die Begrndung soll jetzt nachgeholt werden. CHEMCALC ist in der Lage, Konstanten oder Formeln aus fremden, aber dafr geeigneten Accessories zu holen. Dazu werden an die Accessories spezielle Nachrichten verschickt. Jetzt kann aber ein beliebiges Programm CHEMCALC dazu aufordern, einen Wert zu berechnen und zurckzuschicken. Der inaktive CHEMCALC versteht daher aužer der Nachricht 40 von Desktop die spezielle Nachricht $6502, die ihn auffordert, einen Wert zu berechnen und an das Programm zurckzuschicken. Der Aufbau des Dialoges ist der gleiche wie der von CHEMCALC und Perioden-System, d. h. CHEMCALC best„tigt die Anfrage mit $6401 und kann sich dann mit der Berechnung Zeit lassen. Das fragende Programm kann dann nach Empfang der Meldung $6401 sicher sein, daž sein Anliegen bearbeitet wird. CHEMCALC schickt die Antwort ab, wenn sein Schliežfeld angeklickt wird. Man kann das Ganze noch ausweiten, in dem man sich dabei aus anderen Accessories Formeln und Konstanten holt, CHEMCALC damit rechnen l„žt und das Ergebnis an das Programm zurckschickt. Es muž doch sch”n sein, viele zu besch„ftigen. Damit das Ganze in Gang gesetzt werden kann, muž das Programm die ap_id von CHEMCALC ermitteln. Das geschieht so: ap_id&=APPL_FIND("CHEMCALC") ap_id& muž jetzt gr”žer oder gleich 2 sein, und das ist nur der Fall, wenn der Rechner als CHEMCALC.ACC gestartet wurde. (Die ap_id des laufenden Programms ist 0, die des Screenmanagers, zu finden mit APPL_FIND("SCRENMGR"), ist 1). Damit jedes Programm, das CHEMCALC benutzen kann den Rechner auch findet, unab- h„ngig davon woher man ihn hat, sollte man den Namen auf keinen Fall „ndern. Damit ist aber nur sichergestellt, daž das Programm die ap_id eines Accessorys mit Namen "CHEMCALC" kennt. Um sicher zu gehen, mit diesem CHEMCALC zu arbeiten, kann das Programm mit der Nachricht $6400 nachfragen. Wenn jetzt eine Antwort mit der Nummer $6401 kommt (message&(3)=1!), drften wohl keine Zweifel an der Indentit„t von CHEMCALC offen bleiben. Das Programm kann aus der Antwort weitere Schlsse ziehen und beispielsweise bestimmte Einstellungen vornehmen, den Anwender informieren oder was man auch immer fr diesen Fall vorsehen mag. Die Modi 9-11 sowie die Rundungseinstellungen sind bei Anfragen mit $6503 nicht wirksam. Das Ergebnis den eigenen Anforderungen entsprechend aufzubereiten bleibt dem aufrufenden Programm vorbe- halten. Mit der Nachricht $6403 kann ein Programm eine der Betriebsarten 2-14 einstellen. Dadurch k”nnte beispielsweise ein Programm- editor, bevor er CHEMCALC aufruft, diesen auf Rechnungen mit Hexadezimal oder Bin„rzahlen einstellen. Mssen mehrere Betriebs- arten eingestellt werden, muž die Nachricht entsprechend oft wiederholt werden. 4.3.2 Konstanten im Hintergrund berechnen CHEMCALC kann seinen Formelparser anderen Programmen zur Verfgung stellen, ohne selber dabei in Erscheinung zu treten. Das Programm schickt dazu an CHEMCALC eine Formel, dieser berechnet sie und schickt diese an das Programm zurck. Wie das funktioniert, soll hier beschrieben werden. Da Formeln meistens l„nger als die freien 10 Bytes einer Standardnachricht sind, ist der Dialog zwischen CHEMCALC und dem Programm etwas komplizierter, zumal hier zum reibungslosen Funktionieren auch noch Sicherungen eingebaut werden mssen. Der Austausch der Nachrichten soll hier kurz skizziert werden: PRG an CHEMCALC $6702 Ankndigung einer l„ngeren Nachricht L„nge der Nachricht in message&(3) CHEMCALC an PRG $6401 Nachricht best„tigen, wenn Nachricht empfangen werden kann PRG an CHEMCALC $6704 Formel mit šberl„nge wird gesendet. message&(8)-message&(x): Formel CHEMCALC an PRG $6705 Ergebnis Der erste Teil dient der Vorbereitung der Nachrichtenber- mittlung. Das Programm teilt CHEMCALC in der Nachricht $6702 mit, daž es eine Formel mit einer bestimmten L„nge berechnet haben m”chte. Sollte CHEMCALC dazu in der Lage sein, best„tigt er die Ankndigung mit der Nachricht $6401. Wenn das Programm die Best„tigung bekommt, dann und nur dann darf es CHEMCALC die Formel senden. CHEMCALC verweigert die Annahme von Formeln, die l„nger als 112 Bytes sind oder wenn er vorher aufgrund eines unvorhergesehenen Fehlers abgestrzt ist. In allen anderen F„llen wird eine Berechnung durchgefhrt. Das Verfahren erscheint kompliziert, ist aber nicht grundlos so gew„hlt. Wenn man Nachrichten mit šberl„nge verschickt, sollte man sicher sein, das diese Nachrichten gelesen werden k”nnen. Nachrichten mit der Standardl„nge von 16 Bytes kann man an jedes Programm schicken, ohne daž etwas passiert. Bei Nachrichten mit šberl„nge kann jedes Programm 16 Bytes empfangen, nur steckt dann der Rest noch in der Message-Pipe, und wenn diese nicht ausge- lesen werden, hat das sehr schnell verheerende Folgen und man kann schon mal den Reset-Knopf des Computers suchen. Bei Versuchen mit Perioden-System wurde bei einer Anfrage mit šber- l„nge diese zwar best„tigt, als aber die Daten verschickt werden sollten, rhrte sich nichts mehr. Daher sollte man etwas vorsich- tig sein, wenn man Nachrichten mit šberl„nge verschickt. Unange- kndigt an irgendein Programm sollte man das nicht tun. Eine zweite M”glichkeit, Hintergrundberechnungen durchzufhren steht den Programmen offen, die das XACC-Protokoll der Stufe 1 verstehen. Schickt ein derartiges Programm CHEMCALC einen Text, der nicht l„nger als 512 Zeichen lang sein darf, so wird dieser als mathematischer Ausdruck gewertet, der, sofern m”glich, berechnet wird. Das Ergebnis wird auf die gleiche Weise an das Programm zurckgeschickt. 4.4 Die letzten Worte Bei den letzten Worten handelt es sich nicht um die letzten Worte dieser Anleitung, sondern um die letzten Worte des Calcula- tors. Diese gibt er n„mlich von sich (er versucht es zu mindest, wenn das nicht klappt ist ohnehin alles vorbei), wenn beim Betrieb ein unvorhergesehener Fehler auftritt. Die Fehlerbehand- lung bei kompilierten GFA-BASIC-Programmen ist (zu mindest bei mir) ein Kapitel fr sich, jedenfalls ist es kaum m”glich, das Programm wieder in Gang zu bringen. Startet man den Rechner als PRG, so terminiert er nach einem Fehler, als Accessory darf er das aber nicht. Da es aber keine fehlerfreien Programme gibt, und das gilt natrlich auch fr CHEMCALC, mssen die Folgen eines Fehlers so klein wie m”glich gehalten werden. Bei CHEMCALC wird in derartigen F„llen wie folgt verfahren: Tritt ein Fehler auf, wird eine Fehlernummer ausgegeben. Anschliežend wird, wenn der Rechner von einem anderen Programm aufgerufen wurde, die Nachricht $64FF mit der Fehlernummer an das Programm geschickt. Danach legt sich der Rechner in einer endlosen EVNT_TIMER()-Funktion mit passender Schleife zur ewigen Ruhe. 4.5 Probleme mit dem GEMINI und XACC-Protokoll In allen Accesories wurde das GEMINI-AV-Protokoll schon implemen- tiert und funktionierte zufriedenstellend, da trat bei einem Test, bei dem CHEMCALC mit 3 Zusatz-Accessories (HANDBOOK, HANDBOOK+ und Perioden-System) installiert wurde ein h„žlicher Fehler auf. Nachdem ich mir eine Datei auf dem Desktop angesehen hatte wurde der Desktop nach dem Ende nicht wieder aufgebaut. Nach dem Zeichnen der Fensterelemente der ersten Fensters war Schluž, es mužte neu gebootet werden. GEM-Programme stellten beim Versuch ein Fenster zu ”ffnen ihre T„tigkeit ein. Wurden nur 3 CHEMCALC-Accesories installiert, funktionierte alles zufrieden- stellend, vorausgesetzt im Desktop waren h”chstens 2 Fenster offen. Bei mehr Fenstern stellte sich wieder der Fehler ein. Gemini mit 7 offenen Fenstern lief nicht, wenn CHEMCALC als einziges Accesory installiert war. Nachdem der Fehler in CHEMCALC nicht gefunden werden konnte installierte ich versuchsweise TREEVIEW mehrfach, und siehe da, 5 TREEVIEWs und der Desktop mit 4 Fenstern waren eine Kombination mit Absturzgarantie. Bei Gemini mit 7 Fenstern reichten schon 2 TREEVIEWs (1 TREEVIEW und 1 XACC-f„higes Accessory oder 2 XACC- f„hige Accessories auch) zum Absturz aus. Der Fehler kann nur behoben werden, wenn die Identifizierungs- prozedur beider Protokolle ge„ndert wird. Accessories, die das XACC- oder GEMINI-Protokoll beherrschen identifizieren sich beim Hauptprogramm, nachdem sie eine AC_CLOSE-Mitteilung vom Desktop erhalten haben. Dazu senden sie an das Hauptprogramm die Nach- richten ACC_ID (XACC) oder AV_PROTOKOLL (GEMINI). L„uft kein Programm, ist der Desktop das Hauptprogramm. Wenn der Desktop Fenster ”ffnet, bekommt er von Screenmanager fr jedes Fenster eine Redraw-Nachricht geschickt. Da aber in den Message-Puffer nur 8 Standardnachrichten Platz haben, l„uft der Puffer ber, wenn 6 Accessories ihre Nachrichten schicken und fr 4 oder mehr Fenster Redraw-Nachrichten ankommen. Noch schwieriger wird es, wenn die Accessories beide Protokolle vestehen. CHEMCALC ist fr den Betrieb mit Anwender-Programmen wie bei- spielsweise Textprogramme, Datenbanken, spezielle Chemie-Pro- gramme u.s.w. vorgesehen, daher kann auf das GEMINI-Protokoll verzichtet werden, da ohnehin nur der Aufruf vom GEMINI-Desktop vorgesehen war. Die M”glichkeit der Ergebnisbertragung in Pro- gramme wie Thats-Write ist hier wichtiger. Hat man das gesamte Paket und m”glicherweise weitere Accessories, die das GEMINI oder XACC-Protokoll beherrschen, installiert, sollte man folgendes beachten: Die Summe von installierten Accessories und offenen Desktop- fenstern darf nicht gr”žer als 8 werden. Accessories, die beide Protokolle beherrschen, z„hlen doppelt. Unter WINX kann das anders aussehen, aber da ich das Programm nicht besitze, (Rechner mit TOS 1.02) kann ich das nicht prfen. Die Bedenken, die Herr Andreas Kromke bezglich Nachrichten mit šberl„nge in seinem Artikel in der C'T [5] „užert, kann ich nicht teilen. Wer sich bei Nachrichten mit šberl„nge an die in Kapitel 4.3.2 genannten Bedingungen h„lt, drfte keine Probleme damit haben. Applikationen, die mittels berlanger Nachrichten mitein- ander kommunizieren, sollten dieses ohne Auswirkungen auf den Bildschirm erledigen, um der Gefahr einer eventuellen Redraw- Mitteilung des Screenmanagers zu entgehen. 4.6 Zuknftige Entwicklungen Der Chemie-Calculator ist in dem jetzigen Stadium sicher nicht am Ende der Entwicklung angelangt. Es wird bestimmt Wnsche zu einer Erweiterung geben. Was die Zusatzaccessories angeht, stehen im Rahmen des bestehenden Nachrichtensystems alle M”glichkeiten offen. Diese Zusatzaccessories mssen auch nicht von mir program- miert werden. CHEMCALC selbst soll weiterentwickelt werden. Fr die weitere Zukunft sind Matrixberechnungen vorgesehen, die ja unter GFA- BASIC 3.5 besonders leicht sind. Das Tempo dieser Arbeiten ist allerdings auch vom Echo der Anwender abh„ngig. Registrierte Anwender werden auf jeden Fall als erste in den Genuž verbes- serter Versionen kommen. CHEMCALC 2.0 ist bereits fertig. Diese Version ist besser fr Zusatzaccessories eingerichtet, die wie HANDBOOK+ mehrfach installiert werden k”nnen. Weiterhin wurde versucht, mit Hilfe der in der ST-COMPUTER 9/91 beschriebenen Methode die Resource- Datei in das Programm einzubinden, um CHEMCALC auch TT-tauglich zu machen, da bei einem Aufl”sungswechsel der Speicherbereich, den die Resourcen belegen nicht freigegeben wird. Dieses Problem gibt es auch beim ST, jedoch wird hier selten die Aufl”sung gewechselt. Das beschriebene Verfahren funktioniert auch, jedoch tritt eine merkwrdiger Fehler auf. Das Accessory wird beim Booten korrekt installiert, es fehlt jedoch der Eintrag in der Menzeile. Dieser wird erst installiert, wenn ein Programm gestartet wird. Diesen Fehler habe ich bisher nicht gefunden, daher gibt nach wie vor die separate *.RSC-Datei. Wer dazu eine L”sung (bitte keinen Wechsel der Programmiersprache) gefunden hat, kann mir diese ja mitteilen. 5 Literatur [1] H. G. Zachmann, Mathematik fr Chemiker, 3. Aufl., Verlag Chemie, Weinheim 1977 [2] Werner Schmidt, Lehrprogramm Statistik, 1. Aufl., Verlag Chemie, Weinheim 1976 [3] F. A. Cotton, G. Wilkinson, Anorganische Chemie, 4. Aufl., Verlag Chemie, Weinheim 1982 [4] Pipes, die letzte Grenze, Tom Hudson, ST-Magazin 6/1988 [4] Soft Flirt, Andreas Kromke, C'T 11/1991