APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ Auf einen Schlag : Disk-Katalog ins BASIC-Programm ★

Disk - Katalog|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 ★ 

Für den BASIC-Programmierer stellt sich bei Datenverarbeitungsprogrammen immer wieder dasselbe Problem: Für den Ablauf eines solchen Programms werden des öfteren ein oder mehrere Programmnamen einer eingelegten Diskette benötigt. Sei es zum STARTEN, MERGEN eines Programms oder zum Öffnen einer relativen beziehungsweise sequentiellen Datei. Nur, wie soll man das aus dem BASIC so ohne weiteres schaffen.

Natürlich läßt sich durch CAT oder |DIR ein Diskettenkatalog auf dem Bildschirm ausgeben. Auch können unter Zuhilfenahme des COPYCHR$-Befehls Namen in Stringvariablen übergeben werden (beim CPC 464 aber auch nur mit dem Emulator). Solche Routinen sind in BASIC allerdings sehr aufwendig und platzraubend zu realisieren. Abgesehen davon wird durch ein CAT und ähnliches immer der Bildschirmaufbau zerstört. Um diese ganze Gedankenarbeit und vor allem Speicherplatz zu sparen, wurde diese Maschinencode-Routine geschrieben. Hiermit ist es möglich, durch Nutzung des RSX-Befehls |READ sämtliche auf der Diskette (funktioniert übrigens auch bei Datasette) befindlichen Files namentlich und mit kByte-Angabe in ein vorher dimensioniertes Stringvariablen-Array zu kopieren. Nach Aufruf von |READ wird der Bildschinnaufbau nicht beeinflußt. Die Namenseinlesung erfolgt vollkommen unsichtbar.

Syntax des Befehls

|READ, (Klammeraffe)name$(Arraywert) Mit Klammeraffe ist das etwas seltsam aussehende "a" auf der CPC-Tastatur gemeint. Das Array sollte nach Möglichkeit nur einfach dimensioniert sein und auf jeden Fall ausreichend Platz für die auf den Disketten befindlichen Files haben, zuzüglich eines Strings, welcher nach Aufruf der Routine mit "*** ENDE ***"+ CHR$(0) aufgefüllt wird. Bei voller Ausnutzung des Directories einer 3"-Diskette unter AMSDOS sind das genau 65 + 1 Datei. Jeder String muß vor dem ersten Aufruf der Routine eine Mindestlänge von 13 Zeichen zugewiesen bekommen (z.B.: name$(0)=SPACE$( 13) usw.). Dann können Sie die Routine mit |READ,@name$(0) aufrufen. Nach kurzer Zeit sind die Strings mit Directory-Einträgen belegt worden. Sind weniger als 65 Dateien auf dem Datenträger vorhanden (das ist wohl meistens der Fall), können Sie das Ende eines eingelesenen Kataloges an dem oben bereits beschriebenen ENDE-String erkennen. Die ersten zwölf Zeichen eines Strings geben den Namen eines Files an. Das 13te Zeichen enthält in ASCII-Form die verbrauchten kBytes des Programms auf der Diskette. Mit a=ASC(RIGHT$(name$(x),1)) können diese Werte ohne große Probleme übernommen werden. An diese Datei können Sie weitere Diskettendirectories anhängen. Sie müssen dann nur darauf achten, daß die Anzahl die vorher gewählte Dimensionierung des Arrays nicht übersteigt. Es kommt dann zu äußerst unangenehmen Nebenwirkungen.

Abtipphinweise

Den DATA-Lader vor dem Start bitte erst einmal abspeichern und dann starten. Es wird selbsttätig das Binärfile "EINLESE.BIN" abgespeichert. In Ihrem BASIC-Programm läßt sich die Routine auf folgende Weise einbinden.

10 MEMORY &979B: IF PEEK(&979C)=0 THEN LOAD"EINLESE.BIN":CALL &979C

CD, CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEAR: 1989
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: LISTING
★ AUTOR: Holger Schäkel

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» RSX-Disk-Katalog    GERMANDATE: 2013-09-03
DL: 46 fois
TYPE: ZIP
SIZE: 22Ko
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 » Background Music
» Applications » Graph-Master
» Applications » Rsx - Fast Disc Formatter
» Applications » RSX Xcol (Computing With the Amstrad)
» Applications » Simple Drawing Program (The Amstrad User)
» Applications » Graph-it: Game for a Graph

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 216 millisecondes et consultée 701 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.