Erschienen in 64'er Magazin, Ausgabe Sonderheft 68 · Originaldatei: TABULA.TXT
Hinweis: Dies ist das an die Redaktion eingereichte Manuskript, nicht der gedruckte Endtext. Layout, Bildunterschriften, Korrekturen und Kürzungen der Redaktion können in der veröffentlichten Fassung abweichen.
Tabula Rasa 64 - Tabellenkalkulation für gehobene Ansprüche
Die Darstellung komplexer mathematischer Zusammenhänge und die Simulation etwa wirtschaftlicher Vorgänge wird zum Kinderspiel, wenn Sie mit einem Tabellenkalkulations-Programm arbeiten. »Tabula Rasa« ist ein modernes Programm in reiner Maschinensprache, das auch gehobene Ansprüche befriedigt. Das Programm, es liegt inzwischen in der zweiten Version vor, kann sich durchaus mit kommerziellen Programmen messen, es überzeugt durch sehr sichere Bedienung, Komfort und Schnelligkeit.
Nikolaus M. Heusler
1. Vorwort
Tabellenkalkulationen sind Programme, die es dem Anwender ermöglichen, seine Berechnungen vom Papier in den Computer zu übertragen. Es stellt dem Anwender den Rahmen zur Verfügung, der zum Erzeugen eines »Arbeitsblattes« (engl. »spreadsheet«) benötigt wird. Durch dieses offene Konzept ist die Art der Anwendung nicht auf ein bestimmtes Gebiet beschränkt. Der Aufbau eines Spreadsheets gliedert sich in Spalten und Zeilen. Jedes Feld daraus kann einen festen Wert, eine Formel oder einen Text enthalten. Dabei können Werte und Formeln beliebig miteinander verknüpft werden.
Was aber bringt das in der Praxis? Tabula Rasa, ein Musterbeispiel für ein Tabellenkalkulationsprogramm auf dem C 64, soll dem Anwender den Papierkram ersetzen, der zwangsläufig anfällt, wenn mehr oder weniger umfangreiche Berechnungen durchgeführt werden müssen. Da das ganze im Computer stattfindet, können Berechnungen oder auch Änderungen sofort durchgeführt werden und sind mit ihren Auswirkungen auf das restliche Arbeitsblatt sofort sichtbar. Man kann mit den Werten experimentieren (lassen), bis das errechenbare Optimum gefunden ist. Zu diesem Zweck stellt das Programm neben allen mathematischen Rechenarten auch logische und statistische Operationen und sogar verschiedene Zahlensysteme (dezimal, binär, hexadezimal) zur Verfügung. Ebenfalls enthalten sind Iterationen, ein absolutes Novum für diesen Computer. Der Computer rechnet ein Arbeitsblatt auf Wunsch so lange immer wieder neu durch, bis sich - bei zirkulären Rückschlüssen - ein stabiles Ergebnis ergibt. Damit man den Überblick nicht verliert, können Texte zur Übersicht und zur Benutzerführung in das Spreadsheet eingebaut werden. Die Textfelder können in drei verschiedenen Formaten auf dem Bildschirm ausgegeben werden, die Wertfelder erlauben sogar neun Formate mit verschiedenen Arten der Zahlendarstellung, und das alles in 15 Farben. Das Programm ist ziemlich sicher in der Bedienung, eventuell auftretende Fehler werden sofort im Klartext gemeldet. Die Druckerausgabe, neuer Zeichensatz inklusive deutsche Sonderzeichen, variable Spaltenbreiten sowie Möglichkeiten des Disketten-Handlings vervollständigen das reichhaltige Angebot, das dem Anwender hier geboten wird. Als Arbeitsblatt stehen 208 Zeilen mit je 26 Spalten zur Verfügung, das entspricht 5408 Feldern, in einem Speicherbereich von 25960 Bytes (ca. 25 Kilobyte). Dadurch, daß das gesamte Programm in reiner stark optimierter Maschinensprache verfaßt ist, hält sich die Rechengeschwindigkeit auch beim Nachrechnen größerer Dateien in durchaus erträglichen Grenzen weniger Sekunden. Für normale große Berechnungen wie zum Beispiel Umsatzplanung und -analyse, Produktionsplanung, Berechnung von Steuern oder anderen Finanzen und der Auswertung von Wettkämpfen eignet sich das Programm daher. Mit Tabula Rasa kann jeder Anwender vom Gemüsehändler bis zum Kleinbetrieb seine Rechenprobleme bequem abwickeln.
Zwar kann man bei Tabula Rasa weitgehend »intuitiv« arbeiten, jedoch empfehlen wir Ihnen, sich vor der ersten Benutzung die Anleitung wenigstens grob durchzulesen, um sich mit den wichtigsten Eigenschaften vertraut zu machen.
2. Laden, Starten
Obwohl das Programm, wie bereits erwähnt, aus Gründen der Geschwindigkeit und des Komforts vollständig in Maschinensprache geschrieben ist, benötigen Sie keinerlei Programmierkenntnisse, um damit arbeiten zu können. Tabula Rasa kann wie ein normales Basicprogramm geladen, gestartet und ggf. kopiert werden:
LOAD "TABULA RASA V2",8
RUN
führt Sie in das Programm. Auf dem Bildschirm erscheint das Arbeitsblatt und darüber ein Kasten mit den Programm-Kenndaten. Dieser verschwindet auf Tastendruck, und der Arbeit mit Tabula Rasa steht nichts mehr im Wege. An diese Stelle kommen Sie übrigens immer, wenn Sie im Verlauf des Programmes die Taste RESTORE drücken. Diese ist allerdings nur als Notbremse für dringende Fälle gedacht und wird im Normalfall nicht zur Anwendung kommen: Betätigen Sie RESTORE, während eine Funktion läuft, die das Arbeitsblatt ändert oder umorganisiert (etwa Nachrechnen, Löschen eines Feldes, Global-Format), ist es nicht ausgeschlossen, daß Sie dann unliebsame Überraschungen erleben. Das Programm ist so aufgebaut, daß Abstürze ausgeschlossen sind, alle Funktionen können außerdem wie weiter unten beschrieben auf Tastendruck jederzeit abgebrochen werden.
3. Bildschirmaufbau
Der Bildschirm ist bei Tabula Rasa in drei Zonen aufgeteilt. Die ersten drei Bildschirmzeilen stellen die Informations- und Eingabezone dar. Ganz oben steht der Name und die Versionsnummer des Programms sowie der Autor. Darunter lesen Sie links die Position des Cursors in Koordinatendarstellung ab. Die Koordinaten werden bei diesem Programm wie folgt gebildet: Die Zeilen werden von 1 bis 208 durchnumeriert, den Spalten werden die Buchstaben A bis Z zugewiesen. Man gibt nun erst den Spalten-Kennbuchstaben an, dahinter die Nummer der Zeile. Das erste Feld links oben hat die Koordinate A1, das letzte Feld rechts unten heißt Z208. Neben der Koordinate zeigt der Computer den Feldtyp an: LEER für Felder ohne Inhalt oder gelöschte Felder, WERT für numerische Wert- oder Formelfelder und TEXT für alphanumerische Textfelder. In der Mitte finden Sie ggf. den Titel des momentan bearbeiteten Arbeitsblattes, den Sie wie unten beschrieben mit <f1> eingeben. Rechts daneben informiert Sie das Programm über den freien Speicherplatz in Prozent. Ist dieser Wert auf unter ca. 0,5 % gesunken, werden weitere Eingaben nicht mehr angenommen. Sie können - aus technischen Gründen - also etwa 99,5 % des freien Speicherplatzes von 25 Kilobyte nutzen. Der Verbrauch hängt dabei wesentlich von der Länge des Feld-Inhalts ab. Lange Felder belegen mehr Platz als kurze Felder. Den Speicherplatz eines Feldes in Byte errechnen Sie aus 9 Verwaltungsbytes + Länge des Feldinhalts in Zeichen. In der dritten Bildschirmzeile wird der Inhalt des Feldes, auf dem sich der Cursor momentan befindet, vollstädig ohne Rücksicht auf die Breite der Spalte angezeigt. Außerdem erfolgen in dieser Zeile alle Eingaben des Benutzers und Fehlermeldungen und Kommentare des Programms.
Die zweite Zone nimmt fast den gesamten Bildschirm in Anspruch. In ihr werden immer in Teil des Arbeitsblattes sowie in Fenstern weitere Informationen (z.B. das Disketten-Inhaltsverzeichnis) angezeigt. Das Arbeitsblatt wird von zwei Skalen, die zur Unterteilung dienen, umschlossen. Die linke senkrechte Skala gibt die Zeilennummern wieder, die obere waagerechte informiert über die Spalten. Wertfelder, deren numerischer Inhalt nicht bekannt ist, werden hier mit einem Fragezeichen ausgegeben. Es ist aber auch möglich, auch bei Wertfeldern wie bei Textfeldern grundsätzlich nicht das numerische Ergebnis, sondern die enthaltene Formel auszugeben. Dieser Modus wird im Darst.-Menü (siehe unten) eingeschaltet.
In diesem Bereich erscheint auch der Cursor, der in Form eines inversen Balkens in der Breite der Spalte, in der er sich befindet, zu sehen ist. Der Cursor wird mit den Cursortasten in vier Richtungen bewegt, erreicht er die Fenstergrenzen, wird das Arbeitsblatt entsprechend gescrollt (Full-Screen-Editor). Näheres zur Cursorbewegung folgt.
In der untersten Bildschirmzeile ist immer das aktuelle Menü oder - besser gesagt - die momentane Funktionstastenbelegung zu sehen. Dies erhöht den Komfort ungemein, da Sie mit einem Blick erfahren, welche Funktion welcher Taste zugeordnet ist. Während einer Eingabe finden Sie hier zum Beispiel Informationen, mit welchen Funktionstasten die Umlaute und Sonderzeichen erreicht werden. Betätigen Sie die SHIFT-Taste, wird die Darstellung der Menüzone in einigen Fällen umgeschaltet. Sie sehen dann nicht mehr die Belegung der Tasten <f1>, <f3>, <f5> und <f7>, sondern entsprechend <f2>, <f4>, <f6> und <f8>. Ist die Umschaltung mit SHIFT nicht möglich, sind die geshifteten Tasten nicht belegt.
4. Cursorbewegungen
Wie Sie gelernt haben, wird am Bildschirm immer nur ein Ausschnitt aus dem riesigen Arbeitsblatt gezeigt. Möchten Sie ein Feld auf dem Bildschirm sehen, das außerhalb des Bildschirms liegt, so muß der Bild-Cursor darauf bewegt werden. Dazu gibt es zwei Möglichkeiten. Die erste besteht darin, den Cursor durch Betätigung der Cursortasten (wie in Basic) im Arbeitsblatt zu bewegen. Beim Erreichen der Fenstergrenzen wird dieses automatisch gescrollt. Da das Scrollen vor allem bei stark gefüllten Arbeitsblättern jedoch recht langsam werden kann, können Sie jedes Feld mit der Taste <f3> auch direkt anwählen. Wie das geht, wird weiter unten bei den Menüs genauer beschrieben. Die Taste HOME führt bei der ersten Betätigung nach links oben an das Fenster (lokales Home) und bei der zweiten Betätigung nach links oben auf das erste Feld A1 des Arbeitsblattes (globales Home). Drücken Sie CLR, finden Sie sich ganz rechts unten im Feld Z208 wieder.
5. Eingabe von Feldern
Damit Tabula Rasa überhaupt etwas berechnen kann, müssen Sie Felder mit Inhalt belegen. Um ein Textfeld zu erzeugen, drücken Sie einfach einmal die Leertaste. Ganz oben erscheint ein blinkender Eingabe-Cursor. Sie können nun einen maximal 38 Zeichen langen Text eingeben, der nach Beendigung der Eingabe mit RETURN in das Feld übernommen wird, auf dem der Bildcursor momentan steht. Ein eventuell vorhandener Feldinhalt wird zuvor gelöscht. Korrekturen der Eingabe sind nur mit der DEL-Taste möglich. Haben Sie versehentlich die Space-Taste gedrückt, verlassen Sie diesen Modus, indem Sie nur RETURN drücken, ohne etwas einzugeben. Textfelder dienen nur zur Benutzerführung im und zur Kommentierung des Arbeitsblattes und gehen nicht in die Berechnungen ein.
Anders ist das bei den wichtigen Wertfeldern. Um ein solches einzugeben, drücken Sie einfach die Taste mit dem ersten Zeichen des gewünschten Feldinhaltes. Oben erscheint wieder der Eingabe-Cursor, und nach RETURN wird der neue Inhalt in das Wertfeld übernommen, nachdem ggf. der alte Inhalt gelöscht wurde. Nach der Eingabe eines neuen Wertfeldes wird automatisch das ganze Arbeitsblatt neu nachgerechnet. Dies kann jedoch abgeschaltet werden, näheres dazu siehe unten.
Ist der zur Verfügung stehende Speicher voll, nimmt das Programm keine neuen Felder mehr an. Sie müssen dann ggf. erst ein nicht mehr benötigtes Feld löschen.
6. Format der Wertfelder, Funktionen
In den Wertfeldern können im Prinzip beliebige Zeichen stehen. Da das Programm allerdings versucht, in ihnen eine Formel wiederzuerkennen, sollten Sie die Basic-Syntax einhalten. Die Formeln können nicht nur Zahlen, Koordinaten und Rechenzeichen, sondern auch Funktionsaufrufen enthalten. Prinzipiell unterstützt Tabula Rasa alle aus dem Basic bekannten numerischen Funktionen. Sie können an jeder Stelle innerhalb einer Formel angesprochen werden. Für die Funktionen gilt die gewohnte Basic-Syntax:
Funktionsname (Ausdruck)
Bei dem Ausdruck kann es sich natürlich wiederum um eine Formel handeln, die ggf. neue verschachtelte Funktionsaufrufe beinhaltet. Eine Auswahl der zur Verfügung stehenden Funktionen:
SIN berechnet den Sinus
INT rundet auf Ganzzahl ab
EXP potenziert e mit dem Ausdruck
RND liefert Zufallszahl zwischen 0 und 1
SQR berechnet die Quadratwurzel
Sie können auch direkt Felder ansprechen, indem Sie einfach die Feldkoordinate einfügen. Beispiel: Der folgende Ausdruck berechnet das Doppelte des numerischen Inhaltes von Feld C/13:
2*c13
Die Koordinaten sollen hier in Kleinbuchstaben ohne Schrägstrich eingegeben werden. Ist der Inhalt des bezogenen Feldes noch nicht bekannt, kann der Ausdruck nicht berechnet werden, das entsprechende Wertfeld erhält dann im Arbeitsblatt ein Fragezeichen.
Weiterhin gibt es verschiedene Funktionen, die sich auf einen Block von Feldern beziehen. Die Syntax dieser Funktionen lautet:
[K1 Operator K2]
Zwischen den eckigen (!) Klammern wird also erst die Koordinate der linken oberen Ecke des Bereiches geschrieben, dann ein Operator (Rechenzeichen nach untenstehender Tabelle), dann die Koordinate der rechten unteren Ecke des angesprochenen Bereichs. Für den Operator gibt es folgende Möglichkeiten:
+ addiert das mathematische Ergebnis aller im Bereich enthaltenen berechneten Wertfelder
/ berechnet den Durchschnitt der matischen Ergebnisse aller im Bereich enthaltenen berechneten Wertfelder
# ergibt die Anzahl aller im Bereich enthaltenen berechneten Wertfelder
< berechnet das Minimum der mathematischen Ergebnisse aller im Bereich enthaltenen berechneten Wertfelder
> berechnet das Maximum der mathematischen Ergebnisse aller im Bereich enthaltenen berechneten Wertfelder
* berechnet das Produkt der mathematischen Ergebnisse aller im Bereich enthaltenen berechneten Wertfelder
Einige Beispiele:
[a1+c3] berechnet die Summe der Felder a1, a2, a3, b1, b2, b3, c1, c2, c3
[a1#z1] ergibt die Anzahl der in der ersten Zeile enthaltenen Wertfelder
[d1>d208] ermittelt das Maximum der in der vierten Spalte (D) enthaltenen Wertfelder
[a1/z208] berechnet den Durchschnitt aller Wertfelder im gesamten Arbeitsblatt
[n3+n3] ergibt den Inhalt des Feldes n3
[n3/a1] führt zu Fehlfunktionen, da a1 nicht rechts unten von n3 liegt
[c6:m4] ist nicht erlaubt, da der Operator »:« nicht bekannt ist
Es ist möglich, neben den normalen dezimalen Zahlen auch hexadezimale und binäre zu verwenden. Hexadezimale Werte werden durch vorgestelltes Dollarzeichen markiert, das Prozentsymbol leitet Binärwerte ein. Beispiele:
%10010 ergibt 18
$ab1e ergibt 43086
$abcdef ergibt einen SYNTAX ERROR, da hier das Basic-Befehlswort DEF enthalten ist. Um diese Zahl korrekt zu wandeln, müssen Sie ein Leerzeichen zwischen D und E einfügen:
$abcd ef ergibt das richtige Ergebnis 11259375.
Bei den Berechnungen werden im übrigen die selben Regeln wie in Basic verwendet. Es wird also beispielsweise Punkt vor Strich gerechnet, wenn nicht durch runde Klammern eine andere Reihenfolge vorgegeben wurde. Rechenoperationen, Funktionen, Ziffern, Koordinaten, Blockfunktionen können im Rahmen der erlaubten Syntax beliebig verschachtelt werden.
7. Das Hauptmenü
Während Sie mit dem Programm arbeiten, wird, wie bereits erwähnt, laufend unten das aktuelle Menü eingeblendet. Nach dem Start ist dies das Hauptmenü mit folgenden Möglichkeiten:
f1 - titel f2 - druck
f3 - gehezu f4 - darst
f5 - disk f6 - lösche
f7 - rechne f8 - ende
Die einzelnen Funktionen werden also einfach durch Betätigung der zuständigen Funktionstaste aufgerufen. Drücken Sie zum Beispiel <f8>, wenn Sie beabsichtigen, das Programm zu verlassen (welch abartige Idee). Auf dem Bildschirm erscheint eine Sicherheitsabfrage, die Sie mit Ja oder Nein beantworten. Welche Funktionstaste (hier: <f1>) »Ja« bedeutet und welche »Nein« (hier: <f7>), entnehmen Sie dann wieder der Menüzeile ganz unten. Es folgt eine genauere Beschreibung der einzelnen Funktionen.
7.1. Titel
Mit der Funktionstaste <f1> wird im Hauptmenü die Titeleingabe aufgerufen. Es besteht die Möglichkeit, dem im Speicher befindlichen Arbeitsblatt einen beliebigen Titel zu geben. Etwa können Sie hier das Datum erfassen, den Namen des Bearbeiters, den Titel Ihrer Berechnungen (»Steuer 1991«) oder Kombinationen daraus, zum Beispiel »15.05.1991/nh«. Nach <f1> will der Computer in der Eingabezeile einen maximal 13 Zeichen langen beliebigen Text wissen. Drücken Sie nur RETURN, ohne etwas einzugeben, wird der alte Titel beibehalten. Der Titel wird vom Programm ständig in der Mitte der zweiten Bildschirmzeile angezeigt. Der Titel hat für das Programm keine weitere Bedeutung, sondern wird nur am Bildschirm und später auch auf dem Drucker ausgegeben und beim Speichern des Arbeitsblattes wie unten erklärt auf Diskette mit abgelegt.
7.2. Gehezu - schnelle Cursorbewegungen
Da das Scrolling besonders bei gefülltem Arbeitsblatt und bei Verwendung der Attribute »Festkomma« oder »Tausenderpunkte« teilweise recht langsam werden kann, besteht die Möglichkeit, jedes Feld schnell ohne Scrollen zu erreichen. Drücken Sie im Hauptmenü <f3> und geben dann in der Eingabezeile die Koordinate des gewünschten Feldes ein (wahlweise mit oder ohne Schrägstrich, in Groß- oder Kleinbuchstaben). Der Bildcursor befindet sich dann direkt nach Beendigung der Eingabe mit RETURN auf dem gewünschten Feld. Beispiele für erlaubte Koordinaten: U8, c/13, n203, H/001.
7.3. Disk - das Diskettenmenü
Es ist natürlich wichtig, daß Arbeitsblätter auch auf Diskette gespeichert und später wieder geladen werden können. Dazu dient das Disk-Menü, das im Hauptmenü mit <f5> angewählt wird. Dieses Untermenü bietet die Funktionen:
f1 - Arbeitsblatt von Diskette laden
f3 - Arbeitsblatt auf Diskette speichern
f5 - Anzeige des Disketteninhalts (Directory)
f7 - Diskbefehl
f8 - zurück zum Hauptmenü
Die Funktionen werden wieder mit der entsprechenden Funktionstaste gewählt. Beim Laden und Speichern ist ein Filname (maximal 13) Zeichen einzugeben, der automatisch durch die Kennung »TR/« ergänzt wird. Drücken Sie nur RETURN, ohne etwas einzugeben, wird nicht gespeichert bzw. geladen. Nach dem Vorgang wird automatisch der Disketten-Fehlerkanal ausgelesen und angezeigt. Auf Diskette werden nicht nur alle Felder nach Inhalt, Typ, Format, Farbe und Position abgelegt, sondern auch der Titel und die übrigen Vereinbarungen wie Spaltenbreite, senkrechte Striche, automatisches Nachrechnen ein/aus und Formelausgabe ein/aus.
Soll die Speicherung unter einem Namen erfolgen, den es als File auf der Diskette schon gibt, muß das alte File erst gelöscht werden. Dazu verwenden Sie die Diskbefehl-Funktion, die mit <f7> aktiviert wird. Geben Sie den Diskettenbefehl (maximal 27 Zeichen) ein und drücken RETURN. Eine Liste der erlaubten Diskettenbefehle finden Sie zum Beispiel in Ihrem Disketten-Handbuch.
Das Directory wird mit <f5> abgerufen und angezeigt. Die Anzeige erfolgt in einem Fenster in der mitteleren Bildschirmzone. Nach jeder Seite kann mit <f1> weitergeblättert oder mit <f7> abgebrochen werden.
Wenn Sie mit Tabula Rasa experimentieren möchten, sollten Sie einmal die vorgefertigten Beispieldateien von Diskette laden. Als Filenamen geben Sie ein: »iteration« bzw. »blockdemo«.
7.4. rechne - Spreadsheet nachrechnen
Zwar erfolgt das Nachrechnen eines Feldes gewöhnlich nach der Eingabe eines Wertfeldes automatisch. Dennoch kann es vorkommen, daß Sie das Nachrechnen selbst auslösen möchten. Drücken Sie dann <f7>, erscheint ein Untermenü. Es gibt zwei Arten des Nachrechnens: Das normale und das iterative. Entscheiden Sie sich, indem Sie <f1> (normal) oder <f3> (iterativ) drücken. Mit <f7> kehren Sie zum Hauptmenü zurück. Beim normalen Nachrechnen rechnet der C 64 das gesamte Arbeitsblatt nur einmal durch. Wählen Sie das iterative Nachrechnen, rechnet Tabula Rasa das Arbeitsblatt so lange nach, bis ein stabiles Ergebnis erzielt wird. Dann zeigt der Computer rechts oben in der Form »i=xxx« den laufenden Iterationsschritt an. Dieser Modus kann durch Drücken von RUN STOP oder <f7> abgebrochen werden (bitte halten Sie eine dieser Tasten so lange gedrückt, bis das Nachrechnen abbricht). Nach 254 Iterationsschritten wird ebenfalls abgebrochen, falls kein stabiles Ergebnis gefunden wurde.
Wozu das iterative Nachrechnen gut ist? Das läßt sich an einem einfachen Beispiel erläutern (das dazugehörige Arbeitsblatt findet sich auf der Diskette unter dem Namen »iteration«). Es geht um eine so alltägliche Sache wie dem Herausrechnen der Mehrwertsteuer aus dem Ladenpreis (Bruttopreis = Nettopreis + Mehrwertsteuer). Hier können wir Tabula Rasa aufs »Glatteis« führen. In das erste Feld der ersten Spalte kommt das Wort »Bruttopreis«, darunter in die zweite Zeile »Steuer« und in der dritten Zeile »Nettopreis«. Daneben soll das Programm die Werte anzeigen. Ins oberste Feld tippen wir den Ladenpreis, in die darunterliegenden Felder die Formeln, die Steuer und Nettopreis errechnen. Die Mehrwertsteuer beträgt bekanntlich 14% des Nettopreises (0,14), und der Nettopreis ist der Bruttopreis abzüglich Steuer. Unsere Felder heißen B1, B2 und B3, wir schreiben für B2 »b3*0.14« und für B3 »b1-b2«:
***│ a │ b
───┼─────────────┼────────
1│Bruttopreis │
2│Steuer │ b3*.14
3│Nettopreis │ b1-b2
Nun merken Sie aber schon den »Unsinn«: Um in b2 die Steuer zu berechnen, müßte das Programm ja schon den Nettopreis in b3 kennen - den aber könnte es nur ausrechnen, wenn es schon den Wert der Steuer in b2 kennt! (Die vernünftige Lösung würde den Steueranteil aus dem Bruttopreis herausrechnen und dann diesen Anteil vom Bruttopreis abziehen, was den Nettopreis ergibt).
Aber wie kommt Tabula Rasa mit diesem Unfug zurecht? Wenn Sie das Beispiel ausprobieren und etwa einen Bruttopreis von 100 bei b1 eintragen, erscheinen in b2 und b3 nur Fragezeichen. Der C 64 hat also die Falle entdeckt. Es gibt aber die Möglichkeit, trotzdem durch Iteration den korrekten Wert zu berechnen! Dazu müssen wir jetzt erst einmal einen Schätzwert für die Mehrwertsteuer in b2 eintragen, einen völlig absurden Wert, der mit der Realität überhaupt nichts zu tun haben muß, zum Beispiel 0. Bewegen Sie also den Bildcursor auf b2 und geben 0 ein. Sofort berechnet das Programm den falschen Nettopreis: 100, denn 100-0 ist 100. Nun tragen wir bei b2 wieder die Formel b3*0.14 ein. Das Programm wirft bei dem anschließenden Nachrechnen einen unsinnigen Wert aus: 14 für die Mehrwertsteuer (berechnet aus 0,14 mal 100 - stimmt also) und 86 als Nettopreis. Das Ergebnis ist zwar unsinnig, denn es basiert auf dem falschen Nettopreis 100, aber es stimmt EDV-technisch gesehen. Wir könnten nun probieren, immer wieder den Befehl zum Nachrechnen zu geben (<f3> <f1>) und zu sehen, was passiert. Probieren Sie es aus, und sehen, was passiert: Nach dem vierten Schritt zeigt das Programm als Mehrwertsteuer 12,28 an und als Nettopreis 87,72 - und das stimmt!!!! Bei weiteren Rechenrunden ändern sich diese Werte nicht mehr.
In der Tat hat sich Tabula Rasa - obwohl wir es doch zu Beginn zu Unfug verleitet haben - doch Schritt für Schritt an die richtige Lösung herangetastet: Ein Prinzip, das die Mathematiker »Iteration« nennen - und mit dem man gerade bei Tabula Rasa noch weitaus komplexere Zusammenhänge, die sich ähnlich unserem simplen Beispiel »in den Schwanz beißen«, verfolgen kann. Bei Tabula Rasa wurde diese Art von »Unfug« sogar legalisiert, nämlich durch das iterative Nachrechnen. Der mutige Nutzer kann diese Tabellenkalkulation so lange »orgeln« lassen, bis sich eine stabile Lösung ergibt. Bei dem obigen Beispiel (es ist übrigens egal, welchen unsinnigen Startwert Sie für die Mehrwertsteuer eingeben, früher oder später taucht immer die korrekte Endlösung auf) müßten Sie nach dem ersten Schritt nur auf iteratives Nachrechnen schalten (<f7> <f3>), und das Programm meldet sich kurz später mit dem richtigen Ergebnis zurück.
Da es bei anderen Versuchen je nach Formel durchaus vorkommen kann, daß sich nach einer bestimmten Schrittzahl kein kostantes Ergebnis einstellt (man sagt, es »konvergiert«), sondern die Folge ständig zwischen mehreren Werten schwankt oder ins Unendliche tendiert (»divergiert«), wurde die Sicherung eingebaut, die spätestens nach dem 254. Versuch die Iteration automatisch abbricht. Die Bedingungen dafür, daß ein »stabiles« Ergebnis gefunden wurde, sind: Bei erneutem Nachrechnen darf sich in keinem Wertfeld mehr der Inhalt ändern, und das Programm darf auf keine nicht berechneten Wertfelder mehr stoßen (solche enthalten auf dem Bildschirm nur ein Fragezeichen).
Ein Beispiel für das Berechnen der Iteration enthält die Datei "TR/ITERATION".
Sicherlich ist Ihnen durch diesen Exkurs der Sinn dieser interessanten Funktion klar geworden, und wir können mit der Funktionsbeschreibung fortfahren.
7.5. druck - Ausgabe auf den Drucker
Ist ein Drucker angeschlossen, können Sie die im Arbeitsblatt enthaltenen Formeln und Texte schwarz auf weiß ausgeben lassen. Dazu genügt im Hauptmenü ein gezielter Druck auf <f2>, sofern der Drucker betriebsbereit ist. Prompt erfolgt daraufhin die Ausgabe, bei der nach der Überschrift mit Blatt-Titel alle belegten Felder mit formalem Inhalt gedruckt werden. Textfelder erkennen Sie daran, daß der Inhalt in Anführungszeichen erscheint. Bei der Druckerausgabe werden Umlaute, sofern Sie sie im Feld verwendet haben, automatisch in »ae«, »Ae«, »oe«, »ss« usw. gewandelt, dies gilt jedoch nicht für den Titel des Arbeitsblattes! Das Programm sollte daher mit allen Druckern zusammenarbeiten, die unter der Geräteadresse 4 und Sekundäradresse 7 normalen CBM-AscII-Code verstehen. Das sind zum Beispiel alle Commodore MPS-Drucker.
Bei dieser Druckfunktion handelt es sich nur um eine Notlösung, die während der Entwicklung einer Tabelle einen raschen Überblick über den Stand geben kann. Einen »seriösen« Ausdruck, wie es sich für ein Kalkulationsprogramm gehört, wird mit Hilfe des Zusatzprogramms »Tabula Print« ermöglicht, das weiter unten erklärt wird. Aus Speicherplatzgründen war es leider nicht möglich, diese Druckroutine in das Hauptprogramm zu implementieren.
7.6. darst - das Darstellungsmenü
Dieses wichtigste Menü nimmt eine Zentralstellung in Tabula Rasa ein. Sie können hier weitgehend das Aussehen des Spreadsheets bestimmen, festlegen, ob die senkrechten Striche die Spalten unterteilen sollen, das automatische Nachrechnen sowie die Formelausgabe ein- und ausschalten, exakt das Format einzelner und/oder aller Felder festlegen und vieles mehr. Diese Formatvereinbarungen werden beim Speichern eines Arbeitsblattes auf Disk mit abgelegt. Das Untermenü belegt die acht Funktionstasten wie folgt:
f1 - aut.nr f2 - formel
f3 - global f4 - typ
f5 - einzel f6 - tabstr
f7 - spalte f8 - zurück
Teilweise unverständliche Abkürzungen, die im folgenden besprochen werden.
7.6.1. aut.nr. - Automatisches Nachrechnen
Diese Funktion schaltet das automatische Nachrechnen nach der Eingabe eines Wertfeldes abwechselnd ein und aus (wird in der Informationszeile angezeigt). Abschalten sollten Sie zum Beispiel dann, wenn Sie in Folge viele Wertfelder neu erfassen und Zeit sparen wollen. Das Rechnen ist bei ausgeschalteter Automatik nur im Hauptmenü über <f7> möglich. Nach dem Programmstart ist das automatische Nachrechnen eingeschaltet.
7.6.2. formel - Formelausgabe
Normalerweise werden in Wertfeldern nicht die darin enthaltenen numerischen Ausdrücke (Formeln) ausgegeben, sondern das mathematische Ergebnis (Wert). Ist es erwünscht, daß stattdessen die Formeln in den Wertfeldern erscheinen (dadurch geht u.a. das Scrollen durch das Arbeitsblatt viel schneller), schalten Sie die Formelausgabe mit diesem Menüpunkt ein. Erneute Anwahl des Menüpunktes schaltet die Formelausgabe wieder ab (wird in der Informationszeile gemeldet).
Nach dem Programmstart ist die Formelausgabe abgeschaltet, es werden also die Werte ausgegeben, nicht die Berechnungsgrundlagen.
7.6.3. global - Alle Felder umformatieren
Mit Hilfe der globalen Darstellungsfunktion können Sie mit einem Schlag allen Wert- und/oder Textfeldern ein anderes Format geben. Außerdem wird bei Neueingaben z.B. mit der Leertaste als Format dasjenige verwendet, das bei der letzten Global-Definition vereinbart wurde. Sämtliche vorhergehende Formatvereinbarungen gehen bei der Global-Funktion verloren, weshalb später eine Sicherheitsabfrage erfolgt. Zunächst wählen Sie, ob nur alle Textfelder (<f1>), nur alle Wertfelder (<f3>) oder beide (<f5>) bearbeitet werden sollen. Auf Wunsch (<f7>) ist auch der Rücksprung ins Menü möglich.
Nachdem Sie sich entschieden haben, will Tabula Rasa wissen, welches Format verändert werden soll. Zur Auswahl stehen folgende Funktionen:
f1 - farbe die Farbe wird neu festgelegt
f3 - tauspk (nur bei Wertfeldern) die Tausenderpunkte werden ein- oder ausgeschaltet
f5 - posit. die Position wird neu festgelegt
f7 - zahlen (nur bei Wertfeldern) das Zahlenformat wird definiert
f8 - zurück
Entscheiden Sie sich, indem Sie eine Taste drücken. Haben Sie die Farbveränderung angewählt, soll daraufhin in der Eingabezeile die neue gewünschte Farbcodenummer eingegeben werden. Geben Sie eine Zahl zwischen 0 und 14 (nicht erlaubt ist die Farbe Nr. 15, da dies die Hintergrundfarbe ist) ein. Eine Tabelle mit den Farben finden Sie beispielsweise im Handbuch Ihres C 64.
Die Tausenderpunkte finden vor allem im Geldgeschäft Verwendung. Die Zahl neunzehntausendvierhundertzwanzig liest sich 19.420,00 viel besser als 19420.00. Mit den Tasten J (Ja) oder N (Nein) werden diese Punkte ein- oder ausgeschaltet. Sind die Tausenderpunkte eingeschaltet, fügt das Programm nach der Millionen- und Tausenderstelle einer Zahl einen Punkt ein. Außerdem dient als Trennzeichen der Nachkommastellen ein Komma, nicht wie im Englischen üblich der Punkt.
Unter der Position verstehen wir die Position des Feldinhaltes im Feld. Zur Verfügung stehen linksbündig (für allgemeine Texte geeignet), rechtsbündig (vor allem bei Zahlen) und zentriert (z.B. Überschriften). Wählen Sie eine Darstellung, indem Sie <f1> (links), <f3> (rechts) oder <f5> (mittenzentriert) drücken. <f7> führt eine Menüstufe zurück.
Von wesentlicher Bedeutung schließlich ist die vierte Wahlmöglichkeit, die Darstellung der Zahlen (nur bei Wertfeldern wirksam). Zahlen können im Festkomma-Format ausgegeben werden, der Computer rundet dann auf die gewünschte Genauigkeit und fügt an die Zahl exakt so viele Nachkommastellen an, wie Sie es wünschen. Diese Darstellung ist am zeitaufwendigsten. Nach der Wahl einer Festkomma-Formatvereinbarung müssen Sie noch eingeben, wie viele Nachkommastellen dieses Feld erhalten soll. Dazu drücken Sie einfach eine Zifferntaste von 0 bis 9, je nach Anzahl. Zahlen können aber auch im Maximum-Format ausgegeben werden. Das ist das pure C 64-Format, mit so vielen Nachkommastellen, wie erforderlich. Dieses Format wird am schnellsten angezeigt, aus diesem Grund ist es nach dem Start des Programms aktiv. Neben der Darstellung im Festkomma- und Maximumformat existiert noch das Integerformat. Der Unterschied zur Festkommaformatdarstellung mit 0 Nachkommastellen ist, daß hier nicht 4/5 gerundet wird, sondern immer abgerundet. Ein Beispiel: Die folgende Tabelle enthält ganz links die Zahl, daneben die Zahl in verschiedenen Darstellungen.
Zahl Maximum Integer Nachkommastellen: 2 0
15 15 15 15.00 15
17.8 17.8 17 17.80 18
Pi 3.14159265 3 3.14 3
In dieser Tabelle wurden alle Zahlen rechtsbündig ausgegeben. Bleibt noch zu erwähnen, daß Zahlen über 10 hoch 10 grundsätzlich im Maximumformat ausgegeben werden, da der C 64 hier das wissenschaftliche Format anwendet (etwa 13E+14 = 13 * 10 14 = 1300000000000000)
Haben Sie ein Global-Format gewählt, erscheint eine Sicherheitsabfrage, die mit <f1> bejaht oder mit <f7> verneint werden soll. Bejahen Sie, wird das neue Format - je nach Vorwahl - in allen Text- und/oder Wertfeldern neu gesetzt, wobei andere Formatierungen unbeeinflußt bleiben. Sie können etwa alle Wertfelder rot (Code 2) färben und alle Textfelder weiß (Farbnummer 1), ohne daß die übrigen Formatierungen (Position, Tausenderpunkte und so weiter) sich ändern. Bei einer Neueingabe wird immer die letzte Global-Vereinbarung verwendet, bei Programmstart oder nach »alles löschen« (siehe unten) sind folgende Einstellungen aktiv:
Textfeld: Farbcode 11 = dunkelgrau
Position linksbündig
Wertfeld: Farbcode 11 = dunkelgrau
Position rechtsbündig
Tausenderpunkte aus
Zahlenformat Maximum
7.6.4. typ - Umschalten des Feldtyps
Es besteht die Möglichkeit, aus einem Textfeld nachträglich ein Wertfeld zu machen oder umgekehrt, wobei alle sonstigen Formatvereinbarungen dieses Feld betreffend erhalten bleiben. Um den Typ eines Feldes zu wechseln, wählen Sie im Darst-Menü diesen Punkt. Sofern sich der Bildcursor auf einem nicht leeren Feld befindet, wird dieses prompt wie gewünscht geändert. Diese Funktion sollte im Normalfall nicht eingesetzt werden, da unter Umständen in sehr seltenen Fällen bei der Konvertierung von einem Text- in ein Wertfeld Störungen beim Format auftreten.
7.6.5. einzeln - Format eines einzelnen Feldes ändern
Während der Menüpunkt Global das Format aller Felder im Arbeitsblatt ändert, ist es mit diesem Punkt möglich, nur ein einziges Feld umzuformatieren. Bewegen Sie den Bildcursor auf ein nicht leeres Feld und wählen diesen Punkt. Es erscheint das selbe Untermenü wie oben bei Global, das auch analog bedient wird. Allerdings ist es hier verboten, eine Funktion auf ein Textfeld anzuwenden, die für Wertfelder reserviert ist (zum Beispiel Tausenderpunkte ein/aus). Wählen Sie die Änderung der Tausenderpunkte, wird der Zustand dieses Flags nur invertiert, eine Abfrage wie bei Global erübrigt sich. Auch entfällt bei »einzeln« die Sicherheitsabfrage, da ein fehlerhaft eingegebenes Format ohne weiteres sofort wieder storniert werden kann.
7.6.6. tabstr - senkrechte Striche ein/ausschalten
Auf Wunsch blendet Tabula Rasa die senkrechten Striche, die normalerweise nach dem Programmstart die einzelnen Spalten voneinander trennen, aus. Dazu wählen Sie diese Funktion an. Die Striche verschwinden sofort. Sollen sie wieder erscheinen, schalten Sie einfach ebenso nochmal um.
7.6.7. spalte - Spaltenbreite festlegen
Als besonderes »Bonbon« ist es möglich, die Breite jeder einzelnen Spalte in weiten Grenzen fast stufenlos einzustellen. Wählen Sie zunächst, ob Sie nur die Spalte, in der der Bildcursor steht, ändern wollen (Taste <f1>) oder global alle Spalten (<f3>). Mit <f7> kehren Sie ins Hauptmenü zurück. Nach der Wahl soll in der Eingabezeile die neue Spaltenbreite eingegeben werden. Geben Sie eine Zahl im Bereich 1 (Spalte ein Zeichen breit) bis 29 (Spalte 29 Zeichen breit) ein. Die Eingabe wird mit RETURN abgeschlossen. Sofort ändert sich die Breite der aktuellen Spalte, oder die Breite aller Spalten. Auch dieses Format wird beim Speichern auf Disk mit gesichert. Der Bildcursor hat immer die Breite der Spalte, in der er momentan steht.
7.7. lösche - Feld oder Spreadsheet löschen
Mit dieser Funktion wird entweder nur ein Feld oder das gesamte Arbeitsblatt gelöscht. Wählen Sie entsprechend durch Tastendruck:
<f1> - Feld löschen, auf dem der Bildcursor steht
<f3> - gesamtes Arbeitsblatt löschen
<f7> - zurück zum Hauptmenü
Soll nur ein Feld gelöscht werden, erfolgt der Einfachheit halber keine Sicherheitsabfrage. Beachten Sie aber, daß in diesem Fall der Inhalt des Feldes samt Formatvereinbarung rettungslos verloren geht. Soll das gesamte Spreadsheet gelöscht werden, erfolgt eine Sicherheitsabfrage, die in gewohnter Manier mit <f1> bejaht oder mit <f7> verneint wird. Wird alles gelöscht, stellt der Computer außerdem die Formatvereinbarungen zu Programmstart wieder her, etwa werden das automatische Nachrechnen und die senkrechten Striche ein- und die Formelausgabe ausgeschaltet. Tabula Rasa verhält sich exakt so wie nach dem Start.
7.8. ende - Tabula Rasa beenden
Vergessen Sie nicht, vor der Beendigung der Arbeit mit Tabula Rasa ggf. das bearbeitete Arbeitsblatt auf Diskette zu sichern! Nach Anwahl dieses Menüpunktes erscheint die Sicherheitsabfrage. Bejahen Sie, wird ein Reset ausgelöst. Das Programm kann im Falle eines Falles ggf. mit SYS 3276 ohne Datenverlust wieder gestartet werden. Der reguläre Start erfolgt mit SYS 2212, wobei alle gespeicherten Daten und Vereinbarungen gelöscht werden.
8. Fehlermeldungen
Treten bei der Arbeit mit Tabula Rasa Bedienungsfehler auf, meldet das Programm diese blinkend in der dritten Bildschirmzeile, außerdem ist ein Warnsignal zu hören. Drücken Sie nach Erscheinen der Fehlermeldung eine Taste, kehren Sie ins Hauptmenü zurück.
Bei der Berechnung des Arbeitsblattes können die üblichen Basic-Fehler auftreten, die ganz normal (auf Englisch) angezeigt werden. Falls möglich, erscheint auch die Anzeige, in welchem Feld der Fehler auftrat. Haben Sie etwa in Feld N4 die Formel 0/0 stehen, beschwert sich Tabula Rasa mit Division by zero in Feld N/4. Das Auftreten von Diskettenfehlern wird ebenfalls auf diese Weise gemeldet. Darüberhinaus sind folgende Fehlertexte vorgesehen, die das Programm bei Bedarf auswirft:
Koordinate falsch: Die eingegebene Koordinate kann nicht bearbeitet werden, beispielsweise weil der Bereich der Zeilen von 1 bis 208 überschritten wurde oder weil ein Groß- anstelle eines Kleinbuchstaben gesetzt wurden, oder weil Sie die Zeilenangabe vergessen haben.
Feld leer: In einem leeren Feld kann kein Format vereinbart werden, außerdem können Sie hier zum Beispiel keine Typenwandlung vornehmen.
Fehleingabe: Diese Meldung erscheint unter anderem bei Fehleingaben auf die Frage nach der Anzahl der Nachkommastellen oder der gewünschten Spaltenbreite, oder bei Eingabe einer unsinnigen Farbcodenummer.
Textfeld verboten: Diese Meldung erscheint, wenn Sie versuchen, in einem Textfeld das Format zu ändern, das Wertfeldern vorbehalten ist (Tausenerpunkte bzw. Zahlenformat).
Speicher leer: Diese Meldung erscheint in vielen Fällen, wenn Sie eine Funktion anwählen, die nur dann arbeitet, wenn Sie Daten im Arbeitsblatt befinden (zum Beispiel beim Drucken, Speichern, Format, Berechnen).
Speicher voll: Dieser Hinweis besagt, daß keine Daten mehr aufgenommen werden, da der zur Verfügung stehende Speicherplatz von ca. 25 Kilobyte verbraucht ist. Achten Sie auf die Prozent-Anzeige rechts oben!
Operator unbekannt: Weist auf einen fehlerhaften Operator in einer Blockfunktion hin. Erlaubt sind nur die Zeichen +*<>/ und #.
Bereich leer: Soll der Durchschnitt eines Bereichs gebildet werden, in dem sich keine berechneten Wertfelder finden, erscheint diese Meldung.
Drucker nicht bereit: Sie haben vergessen, den Drucker einzuschalten oder anzuschließen. Der C 64 kann keinen Kontakt mit dem Printer aufnehmen.
9. Interna
Im folgenden finden Sie eine Speicherbelegungstabelle. Der fortgeschrittene Anwender kann mit ihrer Hilfe Erweiterungen oder Ergänzungen an Tabula Rasa vornehmen.
Die Speicherbelegung erfolgt in hexadezimaler Notation.
0002-0003 Feld-Adresse
0007 Zwischenspeicher X-Register
0008 Zwischenspeicher Y-Register
000c-000e Hilfsspeicher für ASCII-Wandlung einer Zahl
000f Zeichen
003f erste Reihe für Blockfunktion
0040 erste Spalte für Blockfunktion
0041 letzte Reihe für Blockfunktion
0042 letzte Spalte für Blockfunktion
0043 Nummer der Blockfunktion
0044-0045 Anzahl der Wertfelder im untersuchten Bereich
008b-008e AND und OR-Masken für Global-Format
0092 Flag für Cursor right
0096 Zähler: aktuelle Zeile
0097 Zähler: aktuelle Spalte
009b letzte Zeile
009c letzte Spalte
009e Flag: Rechenmodus
009f Fehlernummer
00a4 Iterationszähler (255 = keine)
00a5 Flag: Änderung (für Iteration)
00a6-00a9 temporär
00aa Cursorspalte
00ab Cursorzeile
00b0 Fensterspalte
00b1 Fensterzeile
00b2 erste Bildschirmspalte des Cursors
00b3 Cursorbreite
00b4 Flag: nicht berechnet
00b5-00b6 Zeiger auf Ende des Arbeitsblattes
00bd Zahlentyp 1
00be Zahlentyp 2
00bf Anzahl Nachkommastellen
00c3 Position Dezimalpunkt
00c4 Länge des Feldes/Druck-Flag: Textfeld
00f7 Nummer des aktiven Menüs
00f8-00fd IRQ-Hilfsspeicher
02c0-02ce FLP-Speicher
0334-03ff Puffer
0400-06ff Umrechnungstabelle binär -> ASCII
0801-3a97 Programm Tabula Rasa
0801-08a3 Basic-Kopf
08a4-08c8 Initialzündung
08c9-0cc8 Zeichensatzvorlage
0cc9-3a97 Code
0cc9 Sprung in Löschroutine $1ab7
0ccc Sprung ins Hauptprogramm $1bcb
3a98-9fff Arbeitsblattbereich, Startadresse des Spreadsheet-Files
3a98-3ab1 Breiten der 26 Spalten
3ab2 Flag: Formelausgabe (1 = ja)
3ab3 Flag: automatisches Nachrechnen (1 = ja)
3ab4 Default: Format 1 Wertfeld (Nachkommastellen)
3ab5 Default: Format 2 Wertfeld (Position, Farbe, Zahlenformat)
3ab6 Default: Format 2 Textfeld (Position, Farbe)
3ab7 Flag: senkrechte Striche (1 = ein)
3ab8-3ac6 Titel (ASCII-Code, Ende = Nullbyte)
3ac7-9fff die einzelnen Felder wie folgt:
x Zeile 1 - 208 (0 = Speicherende)
x+1 Spalte 1 - 26
x+2 numerischer Wert im FLP-Format
x+7 Format 1:
Bit 7: 1 = Wert, 0 = Text
Bit 6: 1 = berechnet
Bit 5: 1 = Tausenderpunkte
Bit 4: unbenutzt
Bit 3-0: Anzahl Nachkommastellen
x+8 Format 2:
Bit 0-3: Farbe
Bit 4/5: 10 = rechts, 01 = links, 00 = Mitte
Bit 6/7: 10 = Maximum, 01 = Festkomma, 00 = Integer
x+9 Text/Formel im ASCII-Code, Ende = Nullbyte
danach: weiter bei x für nächstes Feld
a000-b51f Descriptor: Low-bytes der Adressen der 5408 Felder
b520-ca3f Descriptor: Highbytes der Adressen der 5408 Felder (0 = leer)
ca40-cbe0 Zeiger für jede der 208 Zeilen in Tabellen ab $a000
cbe1-cbff unbenutzt
cc00-cfff Bildschirmspeicher
d000-efff unbenutzt
f000-f7ff Zeichensatz
f800-ffff unbenutzt
»Tabula Rasa« lernt drucken!
Bringen Sie mit diesem nur acht Blocks kurzen Zusatzprogramm der Tabellenkalkulation »Tabula Rasa« das formatierte Drucken bei! Viele Wahlmöglichkeiten lassen Ausdrucke endlich richtig professionell erscheinen.
Nikolaus M. Heusler
Es kann schon überzeugen, unser »Tabula Rasa«, das Tabellenkalkulationsprogramm. Als erstes Programm in dieser Leistungsklasse für den C 64 bietet es besondere Features, wie man sie sonst nur von PCs kennt. Als Zubehör gibt es hier noch ein Zusatzprogramm, das einen ordentlichen, formatierten Druck erlaubt: »Tabula Print«. Durch die Anwendung von schmaler Schrift, wenn der Anwender das wünscht, können je nach Spaltenbreite sehr viele Spalten des Spread-Sheets gedruckt werden.
Nun zur Anwendung. Soll ein Arbeitsblatt formatiert gedruckt werden, so speichern Sie es ggf. von Tabula Rasa aus auf Diskette. Wählen Sie einen beliebigen Filenamen. Verlassen Sie danach Tabula Rasa. Jetzt wird das Zusatzprogramm nachgeladen:
LOAD "TABULA PRINT",8
Besitzer von am Userport parallel angeschlossenen Druckern schreiben stattdessen:
LOAD "TABULA PRINT PAR",8
Der Start erfolgt in beiden Fällen mit RUN. Legen Sie jetzt die Diskette mit der gerade gespeicherten Datei oder eben dem Arbeitsblatt ein, das gedruckt werden soll. Der Filename wird über Tastatur eingegeben und mit RETURN bestätigt. Sollten darin Umlaute oder Sonderzeichen vorkommen, geben Sie an deren Stelle bitte Fragezeichen ein, da außerhalb von Tabula Rasa keine deutschen Sonderzeichen zu erhalten sind. Statt »Zähneputzen« geben Sie also ein: »Z?hneputzen«.
Nach Druck auf RETURN will das Programm wissen, ob der Ausdruck einen linken Rand, z.B. zum Abheften, bekommen soll. Der kleinste Wert ist 1, dann wird kein Rand gedruckt. Ansonsten erzeugt der Computer bei Eingabe von n einen (n-1) Zeichen umfassenden linken Rand. Im Normalfall können Sie mit RETURN die Vorgabe 5 übernehmen. Geben Sie keinen Wert über 70 ein!
Jetzt wird der Ausschnitt bestimmt, den das Programm zu drucken hat. Geben Sie als erstes die Nummer der obersten Zeile des Arbeitsblattes ein. Die Voreinstellung 1 kann auch hier oft übernommen werden. Danach ist die unterste Zeile des Ausschnitts anzugeben. Die Vorgabe lautet aus technischen Gründen 16. Ihnen sind hier nur folgende Grenzen gesetzt: Die unterste Zeile darf nicht kleiner als die oberste und nicht größer als 208 (mehr Zeilen hat ein Arbeitsblatt von Tabula Rasa nicht) sein. Ansonsten kann der Ausschnitt vertikal beliebig groß sein, nur genug Papier sollte vorhanden sein.
Nachdem diese Eingaben jeweils mit RETURN bestätigt wurden, erfolgen die letzten vier Eingaben nur durch Tastendruck. Als erstes ist die Startspalte des Ausschnitts anzugeben, irgend ein Buchstabe von A bis Z. Analog geben Sie bitte die Bezeichnung der letzten zu druckenden Spalte an. Dazu eine Bemerkung: Das Programm schneidet, falls der Ausdruck zu breit wird, automatisch unter Berücksichtigung der eingestellten Schriftart (siehe unten) den nicht mehr druckbaren rechten Rand ab. Sie brauchen sich also darum bei der Wahl des Ausschnitts keine Gedanken zu machen.
Viele Drucker bieten die Möglichkeit, Texte mit halber Schriftbreite zu drucken. Von Tabula Print aus können Sie jetzt mit J oder N diese Option ein- oder ausschalten.
Zuletzt fragt das Programm, ob in Wertfeldern die Formel oder das Ergebnis, also der numerische Wert gedruckt werden soll. Diese Umschaltung kennen Sie bereits vom Hauptprogramm Tabula Rasa. Antworten Sie mit W, wenn die errechneten Zahlen gedruckt werden sollen, oder mit F, um die Berechnungsformel zu Papier zu bringen.
Alle weiteren Angaben holt sich das Programm aus dem Arbeitsblatt, das nun nachgeladen wird. Findet das Programm nichts unter dem vorgegebenen Namen auf Diskette, erscheint eine entsprechende Fehlermeldung. Ebenso wird ein nicht betriebsbereiter Drucker erkannt und gemeldet. In diesem Fall schalten Sie den Drucker ein, versorgen ihn mit Papier und drücken eine Taste, um weiterzumachen.
Tabula Print druckt jetzt erst eine Überschrift, in der ganz rechts auch der im Arbeitsblatt enthaltene Titel enthalten ist. Darunter wird der gewünschte Ausschnitt formatiert, also tabellarisch ausgegeben.
Und wenn Ihr Drucker es nicht tut? Tabula Print wurde für einen Fujitsu DL 900 Matrixdrucker in der Fujitsu-Emulation mit Wiesemann-Interface 92000 geschrieben, müßte aber mit allen Epson-kompatiblen Druckern am seriellen Port zusammenarbeiten. Der Betrieb mit den Druckern der MPS-Serie von Commodore ist dagegen wahrscheinlich nicht möglich.
Sollten Sie Ihren Drucker am Userport angeschlossen haben, laden Sie bitte die geeignete Druckroutine, eine spezielle Version von Tabula Print, die Userport-Drucker direkt anspricht: Sie wird mit
LOAD "TABULA PRINT PAR",8
geladen.
Werden alle Zeilen übereinander gedruckt, schalten Sie Ihren Drucker in den Auto-Linefeed-Modus, da das Programm am Zeilenende nur ein CR, kein LF sendet.
Um die Schmalschrift einzuschalten, wird der SI-Code (CHR$(15)) gesendet. Vorher schaltet das Programm in jedem Fall den Drucker mit ESC 2 auf einen Zeilenabstand von 1/6 Zoll. Weitere Druckerbefehle kommen nicht vor. Es empfiehlt sich, vor dem Ausdruck den Printer in jedem Fall kurz aus- und wieder einzuschalten, damit ggf. voreingestellte Sonderfunktionen oder -schriften gelöscht werden. Tabula Print initialisiert das Gerät nicht.
Der Drucker muß, wenn er auch die Umlaute und die eckigen Klammern korrekt wiedergeben soll, im IBM-Zeichensatz »page 437, Set II« arbeiten. Haben Sie den »german« Zeichensatz eingestellt, werden zwar wahrscheinlich die Umlaute richtig gedruckt, aber die eckigen Klammern nicht. Den Ascii-Code des senkrechten Tab-Striches (Originalwert 124), der ggf. zwischen den Spalten erscheint, können Sie bei Bedarf in Speicherzelle 2708 ändern. POKE 2708,33 (nach dem Laden, vor dem Start von Tabula Print) bewirkt, daß ein Ausrufezeichen gedruckt wird. Das Copyright-Symbol, das unter Tabula Rasa existiert, wird beim Ausdruck in den Kleinbuchstaben »c« gewandelt.
Da das Programm nach dem Druckvorgang nicht die Schmalschrift abschaltet, sollten Sie ggf. nach Beendigung der Ausgabe Ihren Drucker kurz aus- und wieder einschalten.
Sollte es Probleme geben, können Sie mit folgenden POKE-Befehlen das Programm an Ihre Bedürfnisse anpassen:
POKE 3149,Sekundäradresse (Normalwert: 1)
POKE 3147,Geräteadresse (Normalwert: 4)
Diese Kommandos (gültig nur für die Programmversion 1, verständlicherweise nicht gültig für die parallele Version) sind nach dem Laden und vor dem Start (mit RUN) von Tabula Print einzugeben. Stellen Sie für die Sekundäradresse den Kanal ein, bei dem das Interface alle ankommenden Daten ohne jegliche Änderung zum Drucker weiterleitet (vgl. Interface-Handbuch, oft Linear- oder Transparentkanal oder auch Drucker-Direkt-Modus genannt). Die Geräteadresse muß im Normalfall nicht geändert werden.