★ APPLICATIONS ★ DIVERS ★ Kassetten-Katalog auf Bildschirm und Drucker ★![]() |
| Kassetten-Analyse (Schneider Aktiv) | Applications Divers |
Für SCHNEIDER CPC 464 User, ob nun im Besitz einer Floppystation oder nicht, stellen wir nachstehend ein Listing vor, mit dem Ihr den Inhalt Eurer Kassetten mehr als nur "CAT'-alogisleren könnt. Das Programm zeigt nicht nur den Namen des Programms, sondern auch Programmtyp (Bas=Basic; B.P=Basic Protected; BIN=Binärfile und ASC=ASCII-Datei), die Anzahl der angefangenen Blöcke (bleibt das Programm kleiner als 1 Block so wird 0 ausgegeben), die Programmlänge in Bytes (falls das Programm kleiner als 1 Block ist, werden ????? für Programmlänge angegeben) und die hexadezimale Startadresse des jeweiligen von der Kassette eingelesenen Programms auf dem Monitor, oder per Ausdruck über den Drucker an. Soll die Anzeige nur auf dem Monitor erfolgen, z.B. weil Ihr keinen Drucker besitzt oder der Drucker nicht angeschlossen ist, so muß in Zeile 160 die Wertzuweisung für c=8 in c=0 geändert werden. Für Floppybesitzer ist in Zeile 40 das |CAS (Schneider-Floppy-Besitzer müssen hier die Angabe in |TAPE ändern, weil die im Listing vermerkte Version für das VORTEX-Laufwerk gilt!) eingebaut, damit die Umschaltung der Gerätezuweisung auf Kassette nicht vergessen und dadurch eine Fehlermeldung provoziert wird. Der Textkopf für den Ausdruck ist auf 39 Zeichen Breite eingestellt, so daß der ausgedruckte Kassettenkatalog genau auf das in Eurer Kassettenhülle befindliche Verzeichnis aufgeklebt werden kann. Allerdings müßt Ihr\-orne unter "Co" (=Counter für aktuelle Laufwerksnummer des Kassettenzählers) noch die jeweilige Zählernummer des Programm-Beginns vermerken. Die Wertzuweisung c=8 in Zeile 160 ist absolut erforderlich, weil das Programm von Zeile 420 hierher mit einem "RUN 160" zurückkehrt. Nach "RUN" wird aber der Inhalt aller Variablen vom System “vergessen", also auf Null gestellt. Würde man von Zeile 420 mit einem GOTO statt RUN zurückkehren, so wäre der Inhalt der Variablen n$ für den Programmnamen nicht gelöscht und beim Ausdruck auf Monitor und Drucker würden alle Programmnamen immer wieder zusammengekettet hintereinandergeschrieben. Damit liefe die Anzeige aber auf einen Fehler, denn so würde nicht mehr blockweise untereinandergeschrieben, sondern alles verschoben (probiert das mal aus!).Das ist auch der Grund, warum das Programm nur beim ersten Mal, wenn in Zeile 90 "J" eingegeben wurde, den Wert 8 für c behält, aber diesen, sobald es über Zeile 420 gelaufen ist (RUN) vergißt und auf Null stellt, was zur Folge hätte, daß nur das erste Kassettenprogramm gedruckt würde, die nachfolgenden aber nur auf dem Monitor angezeigt würden. Vielleicht stachelt das Euren Programmiereifer an, hier eine Lösung zu finden, die wahlweisen Ausdruck oder Anzeige möglich macht, ohne jeweils die Wertzuweisung für c in Zeile 160 ändern bzw. dort festlegen zu müssen? Wer findet die Lösung? P.S.: Der senkrechte Strich | z.B. vor |TAPE ist das Zeichen für die gleichzeitig gedrückten Tasten Shift und Atsign (Klammeraffe)! SA (B&)
|