APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ Diskettenroutinen : Rückmeldung in BASIC Directory-String und Statusmeldung - RSX macht's möglich ★

Diskettenroutinen|CPC Amstrad International)Applications Utilitaires Rsx/ligne De Commande
★ 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 ★ 

Ein Laufwerk an seinem CPC 6128 zu haben, ist eine wunderbare Sache, es ist schnell, sicher und recht einfach zu handhaben. Leider fällt einem beim Programmieren unter BASIC sehr schnell auf, daß man keinerlei Möglichkeit hat, eventuelle Fehler (Diskette nicht eingelegt, Programm oder Datei nicht gefunden) innerhalb des eigenen Programmes abzufangen und das Directory als String einzulesen und weiterzubearbeiten. Das soll sich nun ändern, denn wofür besitzt der CPC die Eigenschaft, RSX-Befehle auszuführen?

Endlich kann das Directory von BASIC aus in einen String eingelesen werden. Nehmen Sie dafür den Befehl | DIRSTR. Außerdem können Sie mit | STATUS den Zustand der Laufwerke problemlos und einfach von Ihrem eigenen Programm aus abfragen. Zugriffe auf ein nicht vorhandenes B-Laufwerk gehören damit der Vergangenheit an. Die neuen Befehle im einzelnen

|DIRSTR,@fehler%,@maske$,@dir$,@frei%,@n%

liefert in 'dir$' die Files des Directory. In 'maske$' müssen Sie den Filenamen oder eine Wildcard entsprechend dem DIR-Befehl übergeben. Die größtmögliche Maske ist "15B:????????.???". Sie liest alle Files von User 15 Laufwerk B in 'dir$' ein. Die Variable 'frei%' enthält nach Ausführung von | DIRSTR den freien Speicherplatz. Die dritte Variable 'n%' gibt die Anzahl der Files, die der Maske entsprechen, zurück. Maximal werden jedoch 21 Files in 'dir$' eingelesen, da im Schneider BASIC ein String nicht länger als 255 Zeichen sein kann. Trat beim Lesen des Directory ein Fehler auf, war also die Diskette nicht eingelegt oder kein B-Laufwerk angeschlossen, so bekommt 'fehler%' den Wert 255. Steht in 'fehler%' dagegen 0, ist alles o.k.... Maximal 21 Filenamen werden in 'dir$' direkt hintereinander abgelegt. Mit dem BASIC-Befehl 'MID$' kann der einzelne Filename herausgeschnitten werden (siehe BASIC-Li-sting).

|STATUS,@drive%,@status%

ermittelt den Zustand des mit 'drive%' gewählten Laufwerks. Steht in 'drive%' der Wert 0, wird Laufwerk A selektiert, steht in 'drive%' eine 1, gilt das gleiche für Laufwerk B:. In 'status%' stehen nach Ausführung drei mögliche Werte:

0 - > Laufwerk bereit, Diskette nicht schreibgeschützt

1 - > Laufwerk bereit, Diskette schreibgeschützt

2 - > Laufwerk nicht vorhanden oder keine Diskette eingelegt Beachten Sie bei beiden RSX-Befehlen, daß die Variablen mit führendem Klammeraffen (@) übergeben werden müssen. Außerdem müssen sämtliche Variablen zuvor im BASIC initialisiert werden, indem ihnen irgendein Wert zugewiesen wird. Die Stringvariable 'dir$' muß mit 252 Zeichen gefüllt werden. Dies erledigt die FOR-NEXT-Schleife in Zeile 310 des BASIC-Listings 2. Sie belegt *dir$' mit 252 (0-251) Spaces, dies entspricht der Länge von von 21 Filenamen (maximale Länge=21). Die Integervariablen müssen auch als solche definiert werden. Dazu hängt man ihnen ein ' %' an oder verwendet den DEFINT-Befehl von BASIC.

Das Binärprogramm nimmt den Bereich von &A000 -&A200 ein, benötigt jedoch einen temporären Buffer ab &9CD0, um die Filenamen zwischenzuspeichern. Tippen Sie den BASIC-Lader ab, und starten Sie mit 'RUN'. Die Anwendung der beiden Befehle erlernen Sie am besten mit dem DEMO-Programm. Viel Spaß mit den neuen Befehlen.

jb, CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEAR: 1989
★ CONFIG: 64K + AMSDOS
★ LANGAGE: ???
★ LICENCE: LISTING
★ AUTOR: Christoph Hipp

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» RSX-Diskettenroutinen    GERMANDATE: 2013-09-03
DL: 50 fois
TYPE: ZIP
SIZE: 20Ko
NOTE: 40 Cyls
.HFE: OUI

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Small GEM
» Applications » Data - Lader (CPC Amstrad International)
» Applications » Double Ram (CPC Amstrad International)
» Applications » Extra Fonts (CPC Computing)
» Applications » Bonzo's Flash Pack/Big Flasher/Nemesis Flash Basic
» Applications » Ultra-Basic v1

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 071 millisecondes et consultée 771 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.