GET ist nicht gleich GET
Das hier
vorgestellte Programm ist eine etwas modifizierte ROM-Routine,
die den GET-Befehl mit blinkendem Cursor ermöglicht. Nicht nur BASIC-Dialekt, sondern auch die Art und Weise der Ausführung von Befehlen variiert von System zu System. Was beim GET des Apple II-Basic unter Umständen als störend empfunden wird - es erscheint der Cursor und wartet auf eine Eingabe - sucht man beim Commodore vergebens; hier wird bei leerem Tastaturspeicher ein Leerzeichen übernommen. Beide Lösungen haben Vor- und Nachteile. Es ergibt sich aber oft, daß im Programm Abfragen eingebaut sind, die narrensicher sein sollen. Das geht mit keinem INPUT-Befehl. Versucht man sich mit GET, muß in mühsamer »Handarbeit« ein Cursor simuliert werden. Diese Hilfsroutine in Versionen für alle Commodore-Computer liefert uns ein GET mit Cursor. Nach dem SYS erhält man den ASCII-Wert der gedrückten Taste durch den angegebenen PEEK-Befehl; nach dem USR-Aufruf steht er in der Variablen. Der Eingabe kann nun wie bei ganz normalem GET eine Abfrage auf Zulässigkeit des Wertes folgen (zum Beispiel können alle oder bestimmte Control-Codes unterdrückt werden; kein unbedachtes »CLR HOME« etc.). Die Ausgabe des Zeichens erfolgt über PRINT. (Reinhard Kratzberg)
Dieser Artikel ist auch als eingescanntes PDF-Dokument (233 KB) verfügbar. Hinweis: Die im Artikel (s.u.) angegebenen verschiedenen ROM-Einsprungadressen für GETIN und CHROUT können auch durch die für alle hier aufgeführten Systeme gemeinsamen Adressen in der Kernalsprungtabelle ($FFXX) ersetzt werden: $FFE4: GETIN $FFD2: CHROUT |
|
|||||||
|