★ APPLICATIONS ★ DIVERS ★ SIMULATIONS-PLOT (CPC AMSTRAD INTERNATIONAL) ★ |
Simulations-Plot (CPC Amstrad International) | Applications Divers |
In den meisten Fällen reicht der Geldbeutel für einen Plotter nicht aus. Deshalb braucht man nicht zu verzagen, es gibt auch eine Lösung für den schmalen »Geldsäckel«. Dieses Unterprogramm simuliert auf einem CPC und Drucker DMP 2000 oder kompatiblen einen Plotter. Bevor man diese Routine aufrufen kann, müssen einige Wertzuweisungen für den Druckerkopf vorgenommen werden. Die Variablen dafür sind: as% =n : qopos% =0 wobei n gleich die y Position, auf der sich der Druckkopf gerade befindet, und gleichzeitig auch die Größe des Papiers bestimmt. Der Nullpunkt berechnet sich aus der Formel as%*2.54/72 cm unter dem Druckkopf. Um ein DIN A4 Papier voll ausnützen zu können, muß as% den Wert 730 haben und das obere Papierende direkt unter dem Druckkopf eingespannt sein. Die Benutzung der Routine ist sehr einfach: In den Variablen x1%,y1% müssen der Startpunkt, in den Variablen x2% ,y2% der Endpunkt der Linie gespeichert werden. Der Ursprung liegt, wie auf dem Bildschirm, links unten. Nun muß die Routine mit »GOSUB 60000« aufgerufen werden. Auf dem Drucker wird nun eine Linie zwischen den beiden Punkten gedruckt. Befindet sich die Linie außerhalb des Druckfensters, welches die Position (0-575/0-as%) hat, so wird nur der Teil der Linie gedruckt, der sich innerhalb befindet. Das Demoprogramm (Zeilen 100 -280) druckt eine kleine Grafik aus, welches zeigt, wie die Routine funktioniert. Beim DMP 2000 muß man sich schon etwas gedulden, denn er ist ca. 13 Minuten damit beschäftigt. Da das Unterprogramm vollständig in BASIC geschrieben ist, läßt es sich leicht in bestehende BASIC-Programme einbinden und auch erweitern. Man kann z.B. ein Unterprogramm schreiben, welches einen Kreis ausdruckt, usw. Der Fantasie sind keine Grenzen gesetzt. Da alle Variablennamen der Routine mit »q« beginnen, werden wahrscheinlich keine Variablen aus dem Hauptprogramm zerstört. Durch Ändern der Druckercodes in den Zeilen 60040 - 60070 läßt sich die Routine leicht an andere Matrixdrucker anpassen.
|