APPLICATIONSPROGRAMMATION ★ MID$, die zweite Möglichkeit mit CPC 464 ★

MID$ (Computer Schau)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Auch bei diesem Befehl schweigt sich das Handbuch des CPC 464 teilweise aus. Zwar wird die normale Anwendung des Befehles erläutert, aber dieser Befehl ist noch viel stärker und mächtiger als dort beschrieben. Es können nämlich mittels dieses Befehles Teile von bereits existierenden Strings ausgetauscht und ersetzt werden. Ein entsprechendes Beispielprogramm zeigt allen CPC-Besitzem auf, wie dieser Befehl eingesetzt werden kann und auch was er bewirkt Da das Programm aber einige identische und auch einige fast übereinstimmende Basiczeilen beinhaltet, wird auch gleich die überaus komfortable Kopiertechnik mittels des COPY-Cursors beschrieben.

Diese nun aufgezeigte „Betriebstechnik“ des Befehles MID$ hat gegenüber anderen Methoden den Vorteil, daß keine „Müll“-Strings anfallen und dadurch die von vielen so gefürchteten Wartezeiten der sogenannten „Garbage collection“, also der „Müllstringbeseitigung“ während des Programmlaufes reduziert werden können. Da das Programm mittels der Windowtechnik arbeitet, können auch hier viele Leser nachsehen, wie diese programmiert und gehandhabt werden. Aber auch noch weitere kleine Kniffe sind in diesem Programm enthalten, die für andere Programme sinnvoll sein können.

Die Programmbesiliieibung

In Zeile 120 wird der Mode 2, also auf 80-Zeichendarstellung geschaltet. Außerdem werden gleich Variable definiert, die im Programmlauf des öfteren auftreten. Wie zu sehen ist, sind zwei dieser Variablen Adressen von Firmware-Routinen. Diese Definition hat den Vorteil, daß man nicht bei jedem Auf ruf einer derartigen Routine im Firmware-Handbuch nachschlagen muß, welche Adresse nun zu programmieren ist. Außerdem sind während der Programmerstellung die Variablen invers oder warte leichter zu merken als vierstellige hexadezimale Zahlen.

Einmal nachgesehen im Firmwarehandbuch, den Routinen leicht merk- und identifizierbare Namen zugewiesen, die ersten Basiczeilen damit versehen und einiges geht leichter. Auch das Lesen des Programmes ist dadurch sehr viel einfacher. Ich habe mir für meine Programmierarbeiten ein Grundprogramm erstellt, welches einige dieser Routinen enthält. Dieses lade ich mir bei Programmierbeginn ein. Diese Methode hat für mich den
Vorteil, daß die gebräuchlichen Namen der Routinen immer gleich sind und sich mir außerdem im Laufe der Zeit einprägen und ich wesentlich schneller programmieren kann. Ist das Programm fertiggestellt, wird der überflüssige Teil einfach wieder entfernt.

Die Zeilen 130 und 140 legen die Fenster für die Ausgaben fest. Die erforderlichen Erklärungen können Sie Ihrem Handbuch entnehmen. Beachten Sie aber, daß in diesem Programm kein Window mit der Nummer Null definiert wurde.

In Zeile 160 wird nun bereits der gesamte Bildschirm invertiert und auch gelöscht, denn erst dann ist wirklich die Invertierung (Austausch der Farben für PEN und PAPER) durchgeführt.

Die Zeilen 170 bis 190 bewirken eine Textausgabe in Window Null. Da bei diesem Programm eine Wiederholung gleicher bzw. stark ähnlieher Abläufe vorkommt, war es am einfachsten, diese Teile mittels der „Kopiertechnik“ zu vervielfältigen. Dies betrifft beispielsweise die Zeilen 200, 300, 460 oder auch 220, 340, 480. Da ich bei vielen Gesprächen mit Lesern immer wieder feststellen konnte, daß viele CPC-Besit-zer diese Kopiertechnik nicht in vollem Umfange beherrschen, will ich nun, da das Programm sonst keine großen Besonderheiten mehr beinhaltet, näher auf diese Technik eingehen.

Die Kopiertechnik

Bei normalen Arbeiten mit den CPC's sieht man immer nur einen Cursor, der an der Stelle zu sehen ist, an welcher die nächsten Eingaben erfolgen. Dieser Cursor kann normalerweise mittels der Cursorsteuertasten auf jede (mögliche) beliebige Bildschirmposition gebracht werden. Wird dann die COPY-Taste betätigt, dann werden die entsprechend unter dem Cursor stehenden Zeichen übernommen. Ändert man nun beispielsweise eine Nummer einer auf dem Bildschirm stehenden Basiczeile um sie zu duplizieren, dann wird bei Kopierversuchen akustisch mitgeteilt, daß dies vom CPC nicht akzeptiert wird. Nun besteht die Möglichkeit, da sich der Cursor ja nicht mehr nach rechts weiterbewegen läßt, durch Betätigung der RETURN- oder ENTER-Taste diese Situation zu meistern.

Der CPC hat aber diese Zeile nicht angenommen und teilt dies durch „Line does not exist“ mit. Dem CPC wurde nämlich eine Zeilennummer mitgeteilt, die in diesem Falle ja noch gar nicht existiert. Fährt man nun mit dem Cursor wieder auf den Zeilenanfang dieser Zeile und betätigt dann (bis zum Ende des zu kopierenden Teiles] die COPY-Taste, dann kann diese Zeile übernommen werden. Aber diese eben beschriebene Methode ist nicht die wirkliche Kopiertechnik. Viel besser und auch wesentlich komfortabler ist die nachfolgend beschriebene Methode.

Am besten ist es, wenn Sie sich ein kleines Programmlisting auf dem Bildschirm ausgeben lassen, um gleich praktisch alles mitvollziehen zu können.

Nach der Listingausgabe steht der Cursor unter dem „R“ von Ready. Damit Sie nun nicht Ihr Listing zerstören, geben Sie als erstes eine Ziffer ein, die über der ersten Ziffer der höchsten Zeilennummer (also der zuletzt ausgegebenen) liegt. Wohlgemerkt nicht eine komplette Zeilennummer, sondern nur die erste Ziffer.

Nun halten Sie die SHIFT-Taste gedrückt und betätigen die Cursor-Steuertaste Pfeil nach oben. Sie werden daraufhin feststellen können, daß nun plötzlich ein zweiter Cursor auf dem Bildschirm zu sehen ist. Dies ist der COPY-Cursor. Solange Sie nun die SHIFT-Taste gedrückt halten, können Sie auch diesen mittels Cursorsteuerung frei über den Bildschirm bewegen. Setzen Sie diesen Copycursor nun z. B. auf die zweite Ziffer der letzten Basiczeilen-Nummer. Nun lassen Sie die Shift-Taste wieder los und betätigen die COPY-Taste. Wie Sie sehen, wird nun jeweils das Zeichen unter dem Copycursor an die Position des Normalcursors kopiert. Wenn Sie dies nun bis zum Ende der Basiczeile durchführen, haben Sie mit Ausnahme der Zeilennummer eine völlig identische Basiczeile auf dem Bildschirm stehen. Durch Betätigung der ENTER-Taste übernehmen Sie dann diese Basiczeile in Ihr Programm.

Dies ist aber nur die einfachste Art, dieses Kopiertechnikeinsatzes. Sie können nämlich auch verschiedene Basiczeilen oder auch Teilinhalte beliebig bis zur maximal erlaubten Zeilenlänge zusammenfügen. Sie brauchen lediglich wieder die SHIFT-Taste gedrückt zu halten und können nun wieder mittels der Cursorsteuertasten „umeinanderfahren“ um dann wieder an der von Ihnen gewünschten Stelle mit dem Kopiervorgang fortzufahren.

Wenn Sie diese Technik etwas geübt haben, dann werden Sie von dieser Möglichkeit so begeistert sein, daß Sie bei fast allen Arbeiten am Computer darauf zurückgreifen. So z. B. auch beim Laden von Programmen von Diskette, nachdem Sie sich das Inhaltsverzeichnis haben ausgeben lassen. Die CPC-Mitteilung daß ein Programm nicht gefunden werden kann, weil man sich bei der Filenameneingabe vertippt hat, gehört damit der Vergangenheit an. Auch die „Verschönung“ von Programmlistings nach Beendigung der eigentlichen Programmierarbeit wird damit zu einem Kinderspiel. Übersichtliche und leicht lesbare Listings werden Ihnen diese kleine Lernmühe, die Sie anfangs erbringen müssen „vergelten“.

Lothar Miedel , Computer-Schau

★ PUBLISHER: Computer-Schau
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Lothar MIEDEL
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» MID    (Computer  Schau)    GERMAN    LISTINGDATE: 2023-10-31
DL: 44
TYPE: PDF
SiZE: 1225Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » MIDI Recorder (CPC Amstrad International)
» Applications » Presek piramid
» Applications » Multi - Track Step Time Midi Sequencer
» Applications » EMR Miditrack Performer
» Applications » Piramide Demografica
» Applications » Micrologic - Formid
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 139 millisecondes et consultée 177 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.