        $3D OPEN



        int Fopen( char *fname, int mode );



Mit CREATE kann man nur neue Dateien erstellen oder bestehende auf 
Null-Lnge krzen. Bestehende Dateien mssen aber auch weiter 
verarbeitet werden knnen. Dazu mssen solche Dateien mit der 
OPEN-Funktion erffnet werden.



Der erste Parameter der OPEN-Funktion ist das Modus-Wort. Bei einer 
Null im Modus-Wort kann die erffnete Datei nur gelesen, bei einer 1 
nur beschrieben werden. Mit einem Wert von 2 kann die Datei 
gleichermaen gelesen wie beschrieben werden. Als zweiter Parameter 
wird in der schon bekannten Weise die Adresse des durch ein Null-Byte 
abgeschlossenen Dateinamens bergeben.



Als Ergebnis der OPEN-Funktion wird in D0 die Handle-Nummer 
bergeben, wenn die Datei vorhanden und die gewnschte Zugriffsart 
mglich ist. Sonst erhlt man in D0 eine Fehlernummer..\ERROR.



Neben den eigentlichen Dateien knnen auch noch drei sogenannte 
Devices erffnet werden. Diese Devices oder Gerte sind die Console, 
also Tastatur und Monitor, die serielle Schnittstelle und der 
Druckeranschlu. Um ein Device zu erffnen, wird der entsprechende 
Device-Name als Filename angegeben. Die Device-Namen lauten 'CON:' 
fr die Console, 'AUX:' fr die serielle Schnittstelle und 'PRN:' fr 
die Druckerschnittstelle. Nach einem OPEN mit einem der angegebenen 
Namen erhalten Sie eine Word-negative Handle zurck. $FFFF (-1) wird 
zurckgegeben fr 'CON:', $FFFE (-2) erhalten Sie bei Angabe von AUX: 
und $FFFD (-3) ist die Handle fr den Printerport.



----------------------------------------------------------------------
MOVE.W  #2,-(SP)        * Datei soll gelesen und beschrieben werden

PEA     filename        * Adresse des Filenamens auf den Stack

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

TRAP    #1              * GEMDOS aufrufen

ADDQ.L  #8,SP           * Stack aufrumen

TST.L   D0              * Fehler aufgetreten?

BMI     fopnerr         * scheint so

MOVE    D0,fhandle      * File-Handle fr sptere Zugriffe merken.

...

filename:

dc.b    'myfile.dat',0  * Null-Byte nicht vergessen !

fhandle:

ds.w    1

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