        $43 CHANGE MODE



        int Fattrib( char *fname, int flag, int attrib );



Mit der Funktion CREATEFCREATE kann man einer Datei ein bestimmtes Attribut 
zuordnen. Dieses Attribut kann mit der Funktion CHANGE MODE ermittelt 
und gegebenenfalls gendert werden. Dazu mu der Name oder ggf. der 
Pfadname der Datei als Parameter an CHMOD bergeben werden. Ein 
weiteres Parameter-Wort gibt an, ob die Datei-Attribute ermittelt 
oder gesetzt werden sollen. Auerdem mu ein Wort bergeben werden, 
in dem die neu zu setzenden Attribute enthalten sind. Beim Ermitteln 
der Attribute wird dieses Wort zwar nicht bentigt, sollte aber 
trotzdem bergeben werden. Die mglichen Datei-Attribute haben wir 
zum Teil bereits bei der Funktion CREATEFCREATE gezeigt, sie sollen trotzdem 
noch einmal in tabellarischer Form aufgefhrt werden.



 $00 = normaler Datei-Status, lesen/schreiben mglich

 $01 = File ist READ-ONLY.

 $02 = 'verborgenes' File

 $04 = System-File

 $08 = File ist Volume-Label, enthlt den Diskettennamen

 $10 = File ist ein Subdirectory

 $20 = Datei wurde beschrieben und korrekt geschlossen.



Die Attribute $10 und $20 knnen beim Kreieren einer Datei nicht 
angegeben werden. Das Attribut $20 wird vom Betriebssystem vergeben, 
whrend fr das Erstellen von Subdirectories vorteilhaft die 
GEMDOS-Funktion MKDIR..\DIR\DCREATE verwendet wird. Die MKDIR-Funktion erzeugt 
nicht nur den Directory-Eintrag mit dem entsprechenden Attribut, 
sondern richtet das Subdirectory physikalisch auf der Diskette ein.



Grundstzlich erhlt man nach dem Aufruf in D0 den aktuellen 
Attributwert zurck, nach dem Setzen des Attributs also auch den 
neuen Wert, oder aber wie bei allen anderen Funktionsaufrufen eine 
negative Fehlermeldung.



----------------------------------------------------------------------
        1. Beispiel



MOVE.W  #1,-(SP)        * Datei soll READ-ONLY-Attribut erhalten

MOVE.W  #1,-(SP)        * Kennzeichen Attribut setzen.

PEA     pathname        * den Pfadnamen bentigen wir auch

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

TRAP    #1

ADD.L   #10,SP

TST.W   D0              * ist ein Fehler aufgetreten?

BMI     error           * scheint so

...

pathname:               * Null-Byte am Ende nicht vergessen!

        dc.b    'killme.not',0



        2. Beispiel



MOVE.W  #0,-(SP)        * Dummy-Wert, wird nicht zwingend bentigt

MOVE.W  #0,-(SP)        * Kennzeichen Attribut ermitteln

PEA     pathname        * und den Pfadnamen

MOVE.W  #43,-(SP)       * Funktionsnummer

TRAP    #1

ADD.L   #10,SP

TST.W   D0              * ist ein Fehler aufgetreten?

BMI     error           * scheint so

...

pathname:               * Null-Byte am Ende nicht vergessen!

        dc.b    'was_bin.ich',0

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