Daß eine gute Textverarbeitung nicht unbedingt mehrere hundert Mark kosten muß, zeigt das selbstgeschriebene Programm Quicktext. Auf dem Commodore 64 mit der entsprechenden Hardware bietet es den Komfort, den man manchmal bei den »Professionellen« vermißt.
Ouicktext ist ein vielfältig einsetzbares Textverarbeitungsprogramm für den Commodore 64 in Verbindung mit der Floppy 1541 und einem Matrixdrucker (zum Beispiel Epson MX-80/82, FX 80 mit Data Becker Interface). Das Programm benötigt zirka 12 KByte Speicherplatz; es bleiben also etwas mehr als 25 KByte zur Texteingabe übrig. Der einzige Nachteil ist eine relativ langsame Textausgabe auf dem Drucker, die sich aber durch Compilieren des Programms beschleunigen läßt.
Zeilenlänge frei definieren
Vorgegebenes Textformat übernehmen
Neue Texteingabe
Zeilen ändern, einfügen, löschen und kopieren
Buchstaben oder Wörter im Text suchen und gegen neue Wörter oder Buchstaben austauschen
Beliebiges Ausdrucken von Texten (Zeilen oder Blöcke)
Variabler Zeilenabstand (1, 1,5, 2)
Textformatierung (rechter Randausgleich)
Seitennumerierung
Briefkopf und Adresse nach DIN 676
Unterstreichen, Fettdruck und Breitschrift in allen möglichen Kombinationen
Wahlweiser Ausdruck auf Endlospapier oder Einzelblatt
Druck der Sonderzeichen ä, ö, ü, Ä, Ü, Ö, ß
Druck von hoch- und tiefgestellten Textteilen
Umfangreiche Diskettenbefehle (siehe Bild 1).
Nach dem Laden und Starten meldet sich Quicktext mit dem Hauptmenü (Bild 2). Von dort aus werden die einzelnen Unterprogramme sowie das Diskettenmenü angewählt. Kehrt das Programm nicht von selbst ins Hauptmenü zurück, so ist dies jederzeit durch Betätigen der »Pfeil-Links-Taste« möglich (auch während der Texteingabe). Erläuterungen zu den einzelnen Unterprogrammen:
1. Text eingeben
Zunächst fragt das Programm, ob man neuen Text eingeben oder an einem bereits im Speicher befindlichen Text weiterschreiben will. Danach wird die Zeilenlänge bestimmt. Nach Eingabe der Zeilenlänge schaltet der Computer auf den Textmodus um, was am Farbwechsel des Bildschirms und dem neuen Cursor zu erkennen ist. Jetzt kann mit der Texteingabe begonnen werden. Der Wagenrücklauf wird mit der »Return«-Taste betätigt oder von selbst ausgelöst, wenn die maximale Zeilenlänge erreicht ist.
Die Cursorsteuertasten funktionieren im Texteingabemodus nicht. Der Textcursor kann mit Hilfe der INST/DEL-Taste rückwärts bewegt werden. Größere Fehler können aber immer noch mit Hilfe des Editierprogrammes korrigiert werden.
Zur Eingabe von Sonderzeichen und Sonderfunktionen wird die Commodore-Taste in Verbindung mit der jeweiligen Buchstabentaste gedrückt (Bild 3).
Nach Beendigung der Texteingabe erfolgt die Rückkehr in das Hauptmenü durch Drücken der »Pfeil-Links-Taste«.
2. Text ändern
Zunächst fragt das Programm nach dem Textbereich, der gezeigt werden soll. Dieser wird jeweils zusammen mit zwei Befehlszeilen am unteren Bildschirmrand angezeigt. Die einzelnen Editierfunktionen sind in Bild 4 erläutert.
3. Text formatieren
Der Text wird auf Basis der eingegebenen Zeilenlänge formatiert (rechter Randausgleich).
4. Text ausdrucken
Das Programm fragt den Benutzer nun nach seinen Wünschen hinsichtlich Briefkopf, Zeilenabstand, Seitennumerierung, Länge des Ausdrucks, Linker Randabstand, Endlospapier oder Einzelblatteinzug.
In einem weiteren Durchgang werden nochmals alle gewünschten Funktionen angezeigt. Änderungen der Parameter sind vor der Ausgabe möglich. Dies ist wichtig, falls zum Beispiel vergessen wurde, den Briefkopf einzugeben. Nach Beendigung der Druckausgabe fragt das Programm, ob noch ein weiterer Druck gewünscht wird. Wenn ja, so geht es zurück zu den Einzelfragen. Wenn nein, so kehrt man ins Hauptmenü zurück.
5. Diskettenverwaltung
Vom Diskettenmenü (Bild 1) aus werden die einzelnen Unterprogramme angewählt, die in Bild 5 erläutert werden.
Sonderzeichen und Sonderfunktionen für
Druckausgabe
9100-9110
Auslesen des Fehlerkanals der Diskette
9200-9250
Datei auf Diskette überschreiben
10000-10080
Hauptmenü
11000-11110
Eingabe des Briefkopfes
Bild 5. Programmbeschreibung anhand der Zeilennummern
6. Briefkopf eingeben
Es gibt zwei Möglichkeiten, einen Briefkopf einzugeben: mit oder ohne Adreß-feld für einen Fensterbriefumschlag nach DIN 676. Das Programm fragt nach der gewünschten Form der Eingabe des eigentlichen Briefkopfes. Soll die betreffende Zeile des Briefkopfes oder der Adresse im Adressenfenster leer bleiben, so ist einfach die »Return«-Taste einzugeben.
7. End
Ausstieg aus dem Programm. Diese Funktion ist mit Vorsicht zu genießen, denn ein eventuell vorhandener Text bleibt zwar im Speicher zunächst erhalten; wird Quicktext jedoch neu gestartet, werden alle Variablen (auch der Text in Z$) unwiederbringlich gelöscht.
Für das einwandfreie Funktionieren des Programms sind natürlich noch einige Dinge zu berücksichtigen:
Die maximale Zeilenlänge beträgt 80 Zeichen. Bei der Eingabe von Sonderfunktionen erscheinen auf dem Bildschirm Grafikzeichen, die zwar nicht abgedruckt, jedoch im Text mit abgespeichert werden. Bei der Eingabe von Sonderfunktionen erhöht das Programm die Zeilenlänge jeweils entsprechend, aber nur bis maximal 80 Zeichen/Zeile.
Wenn der Zeilenabstand über mehrere Zeilen hinweg verändert werden soll, so ist das Sonderzeichen an den Beginn jeder Zeile zu stellen. Dies ist zum Beispiel bei längeren Zitaten erforderlich, die sich über mehrere Zeilen hinziehen. Das Unterprogramm in den Zeilen 8500 bis 8560 verändert dann die Variable t (Zeilen pro Seite).
Das Programm akzeptiert nur die Eingabe von maximal 500 Zeilen. Sind 90 Prozent des Speichers vollgeschrieben, kehrt das Programm ebenfalls ins Hauptmenü zurück. Der Text kann anschließend noch geändert und abgespeichert werden.
Die RUN/STOP-Taste ist durch einen POKE-Befehl in Zeile 10 ausgeschaltet, um zu vermeiden, daß das Programm durch versehentliches Betätigen dieser Taste aussteigt.
Die Verwendung von Anführungszeichen ist nicht möglich. Sie werden durch das Hochkomma (’) gesetzt.
Editiermöglichkeiten
-A- Das Programm fragt nach der zu ändernden Zeile. Diese wird auf den Bildschirm gebracht und kann nun beliebig geändert werden. Das Fragezeichen und die Anführungsstriche dürfen nicht geändert werden, da sonst Fehler auftreten. Mit der »Return-Taste« kehrt man ins Hauptmenü zurück.
-L- Die betreffende Zeile wird gelöscht.
-E- Das Programm fragt, vor welcher Zeile eingefügt werden soll und schaltet dann in den Texteingabemodus um. Es können nur 60 Zeilen auf einmal eingefügt werden. Rückkehr mit der »Pfeil-Links-Taste«.
-T- Hier kann ein Buchstabe oder ein Wort im ganzen Text ausgetauscht werden. Das Programm fragt bei jeder einzelnen Möglichkeit, ob ausgetauscht werden kann. Ist dies nicht möglich, so wird »Tausch nicht möglich« eingeblendet. Wird bei der Bereichseingabe ’0’ eingegeben, so wird der gesamte Text nach Änderungsmöglichkeiten durchsucht.
-B- Beim Blocktausch können ganze Textblöcke mit beliebiger Länge versetzt werden. Auch eine Kopie ist möglich, wenn der alte Block einfach nicht gelöscht wird.
’+‘ Mit dieser Taste wird der Text nach vorne geblättert ‘-’ Mit dieser Taste wird der Text zurückgeblättert
Mit der »Pfeil-Links-Taste« schließlich kehrt man ins Hauptmenü zurück.
Diskettenfunktionen
1. Text speichern
Das Programm initialisiert die Diskette, liest den Fehlerkanal aus und fragt dann den Benutzer nach dem Dateinamen. Anschließend wird der Fehlerkanal wieder ausgelesen. Wenn alles in Ordnung ist, wird der Text gespeichert und das Programm kehrt ins Hauptmenü zurück. Ist ein Text mit gleichem Dateinamen vorhanden, wird gemeldet: »File exists«, und das Programm fragt, ob die alte Datei überschrieben werden soll. Wenn ja, wird die alte Datei überschrieben und durch die neue ersetzt. Wenn nein, muß man sich einen neuen Dateinamen überlegen.
2. Text einlesen
Das Programm fragt nach dem Dateinamen und liest den Text ein.
3. Text löschen
Der gewünschte Text wird gelöscht.
4. Neuer Dateiname
Mit Hilfe dieses Befehls kann ein Text einen neuen Filenamen erhalten. Das Programm fragt nach dem alten und dem neuen Dateinamen und führt die Operationen aus.
5. Directory lesen
Das Directory (Inhaltsverzeichnis) der Diskette wird gelesen, ohne daß das Programm gelöscht wird; wichtig zum Auffinden von Dateinamen.
6. Texte verketten
Mit Hilfe dieser Subroutine können bis zu vier Programme verknüpft werden.
7. Hauptmenü
Mit diesem Befehl kehrt man ins Hauptmenü zurück, wenn dies nicht schon vom Programm erledigt wurde.
(Joachim Schaller)
u
Zeilenlänge
z
Gesamtzahl der Zeilen
z$(x)
Zeilennummer
t$
normale Get-Abfrage nach Zeichen
fr
freier Speicherraum
l
Anzahl der geschriebenen Zeichen
t
Zahl der Zeilen pro Seite
a
erste Zeile, die ausgedruckt werden soll
b
letzte Zeile, die ausgedruckt werden soll
P
Druckstartposition
za
Zeilenabstand
ma$
Variable für Sonderzeichen
ul
Seitenzähler
ma
Zeilenzähler
ip$
zu druckendes Zeichen
cb$
Dateiname
Bild 6. Zusammenstellung der wichtigsten Variablen