        $3B CHDIR



        int Dsetpath( char *path );



Das unter GEMDOS verfgbare System der Subdirectories ist in genau 
derselben Form auch unter UNIX verfgbar. Nun ist dieses System zwar 
auch auf Rechnern mit Diskettenstationen gewinnbringend einzusetzen, 
seinen Vorteil spielt es jedoch erst dann aus, wenn im System ein 
groer Massenspeicher wie z.B. eine Harddisk mit mehreren Megabyte 
Speicherkapazitt vorhanden ist. Wenn so eine Harddisk erstmal mit 
100 oder mehr Dateien beschrieben ist, dann geht ohne Subdirectories 
(auch als Folder bezeichnet) so schnell nichts mehr. Man hockt dann 
wahrscheinlich die meiste Zeit vor dem Monitor und sucht das gerade 
gewnschte Programm.



Zur besseren Organisation der Daten knnen in Subdirectories weitere 
Subdirectories untergebracht werden. Dadurch kann es ntig werden, 
mehrere Subdirectories anzugeben, bis man das Directory hat, in dem 
das gewnschte File gespeichert ist.

Ein Beispiel knnte lauten:



  B:\HUGOS.DAT\CFILES\CSORTS\CQSORT.S



bersetzt wrde das etwa lauten:

Lade die Datei CQSORT.S aus dem Subdirectory CSORTS. Dieses 
Subdirectory CSORTS befindet sich im Subdirectory CFILES, welches 
seinerseits im Subdirectory HUGOS.DAT zu finden ist. Das alles soll 
sich zudem noch auf Drive B abspielen. Wrde man den ganzen Ausdruck 
als Filenamen angeben, so knnte tatschlich das gewnschte File 
geladen werden (vorausgesetzt das File und alle Subdirectories sind 
vorhanden). Will man jedoch auf das ber denselben Pfad (verstehen 
Sie jetzt den Begriff Pfadname?) zugngliche File CQSORT1.S 
zugreifen, so mte der komplette Pfad neu eingegeben werden. Man 
kann aber auch das durch den Pfad spezifizierte Subdirectory zum 
aktuellen Directory machen, indem die Funktion CHDIR mit Angabe des 
gewnschten Pfads aufruft. Danach kann auf alle Files im ausgewhlten 
Subdirectory nur ber den Filenamen zugegriffen werden. Der Pfad ist 
durch die Funktion festgelegt.



----------------------------------------------------------------------
PEA     path            * Adresse des Pfads

MOVE.W  #$3B,-(SP)      * Funktionsnummer

TRAP    #1

ADDQ.L  #6,SP           * wie immer Stack reparieren

TST.W   D0              * Fehler aufgetreten ?

BNE     fehler          * es scheint so

...

path:   DC.B    'b:\hugos.dat\cfiles\csorts\cqsort.s',0

----------------------------------------------------------------------
