★ APPLICATIONS ★ PROGRAMMATION ★ STRINGS ALS BASIC-KOMMANDOS ★![]() |
Strings als Basic-Kommandos | Applications Programmation |
Ein unscheinbares RSX-Komman-do eröffnet auf dem CPC 464 neue Dimensionen des Programmierer. Es gibt eine ganze Reihe von Programmier-Situationen, wo man auch bei einem so komfortablen Basic wie dem des Schneiders an die Grenzen des Machbaren stößt. Man denke nur an ein auf den ersten Blick triviales Problem wie das der Eingabe von Funktionen bei laufendem Programm. Da hat man nun einen wunderschönen Funktionenplotter oder sonst ein mathematisches Programm entworfen und will es für verschiedene Funktionen benutzen. Bei laufendem Programm ist das aber nicht möglich, denn per INPUT können nur Zahlen oder Strings (Zeichenketten) eingelesen werden — keine Chance, irgendeine Art von zu berechnender Formel an das Programm zu übergeben. Mit einer kleinen Basic-Erweiterung (Listing 1) kann man in diesen und noch vielen anderen Fällen Abhilfe schaffen. Der nach dem Laden und Initialisieren (»CALL &A400«) zur Verfügung stehende RSX-Befehl DO, führt einen als Parameter angegebenen String wie ein ganz normales Basic-Kommando aus. Dabei muß allerdings auf die bei RSX-Befehlen allgemein etwas gewöhnungsbedürftige Syntax geachtet werden. Ein Beispiel: »A$= "Y= 4*X + 3”:DO,@A$«. Der Inhalt der Stringvariablen A$ wird durch den DO-Befehl als Basic-Kommando interpretiert. Wenn beispielsweise die Variable X den Wert 2 hatte, dann erhält Y durch den DO-Befehl den Wen 11 (=4*2 + 3). Die Anwendung des DO-Kommandos ist nicht auf Wertzuweisungen beschränkt. Natürlich kann jeder beliebige Basic-Befehl ausgeführt werden. Listing 2 zeigt eine weitere interessante Anwendung, nämlich einen indirekten GOTO-(GOSUB-)Befehl, der den in vielen Fallen doch recht umständlich zu handhabenden »ON...GOTO«-Befehl komfortabel ersetzen kann. Eine ganze Reihe weiterer Anwendungen sind denkbar bis hin zu ganzen in String-Feldern abgelegten Unterprogrammen. die sich selbst modifizieren und verändern können. Zwei Einschränkungen müssen jedoch gemacht werden: Es wird immer nur ein Befehl pro String ausgeführt, ein durch Doppelpunkt getrennter zweiter Befehl wird immer ignoriert. Außerdem eignet sich der DO-Befehl nicht zur Erzeugung neuer Programmzeilen, indem etwa einfach eine Zeilennummer vor dem Befehl gesetzt wird. Ein solcher Versuch endet immer mit einer Fehlermeldung. Volker Everts/hg, HAPPY COMPUTER
|