UNIT FSTREAM ; (* -------------------------------------------------------------------- *) (* *) (* K L A S S E : FSTREAM *) (* -------------------------------------------------------------------- *) (* Version : 1.1 *) (* *) (* Autor : (c) S. Spolwig - OSZ Handel - *) (* Wrangelstr. 98 *) (* 10997 Berlin *) (* *) (* Dateiname : fstream.pas *) (* *) (* Aufgabe : Das Objekt stellt den den allgemeinen Typ CFStream zur *) (* Verfuegung zum Laden und Speichern beliebiger untypi- *) (* sierter Datenobjekte. *) (* Die Daten werden als stream gespeichert. Maximal knnen *) (* mit einem Aufruf 64 kB gelesen oder geschrieben werden. *) (* *) (* Vor dem ersten Zugriff MUSS die Prozedur init *) (* aufgerufen werden mit der Uebergabe der Datengroesse: *) (* init(xyzdatei, Filename,sizeof(Datenelementtyp)) *) (* *) (* Compiler : Turbo-Pascal 7.0 / MSDOS *) (* *) (* Aenderung : V. 1.0 20-AUG-97 *) (* 1.1 05-NOV-97 OpenRead, OpenWrite statt openfile *) (* -------------------------------------------------------------------- *) INTERFACE (* ========================== Export ================================== *) type CFStream = object f : File; Datasize : word; Open : boolean; constructor Init (fname : string; dsize : word) ; procedure OpenRead; virtual; procedure OpenWrite; virtual; procedure CloseFile; virtual; procedure ReadFile (var data );virtual; procedure WriteFile (var data); virtual; function EOFile : boolean ; virtual; function IsOpen : boolean; virtual; procedure Load (var data); virtual; procedure Store (var data); virtual; end; (* -------------------- B e s c h r e i b u n g ------------------------- Oberklasse : - Bezugsklassen : - benutze Module: - Methoden -------- Init (fname : string; dsize : word) ; Auftrag: Die Groesse des zu bearbeitenden Datenobjekts an datei uebergeben vorher : - Aufruf: Init(xyzdatei, dateiname, sizeof(Datenelementtyp)) OpenRead Auftrag: Datei zum Lesen oeffnen. Wenn datei nicht existierte, Ist eine Datei mit der Laenge 0 angelegt. nachher: Datei ist geffnet. OpenWrite Auftrag: Datei zum Schreiben oeffnen. Wenn datei nicht existierte, Ist eine Datei mit der Laenge 0 angelegt. nachher: Datei ist geffnet. CloseFile vorher : datei ist geffnet. nachher: datei ist geschlossen. ReadFile (var data) Auftrag: Einlesen von Daten beliebigen Typs als stream aus externer vorher : datei ist mit OpenFile geoeffnet und datei ist > 0 nachher: Inhalt ist gelesen und an data uebergeben WriteFile (var data) Auftrag: Schreiben von Daten beliebigen Typs in externe Datei als stream. vorher : datei ist mit OpenFile geoeffnet nachher: data ist die externe Datei geschrieben. EOFile Anfrage: prueft, ob das Ende der Datei erreicht ist. Die Funktion entspricht EOf nachher: EOFile ist true, wenn die Dateimarke hinter dem letzten Satz steht IsOpen Anfrage: prueft, ob datei geoeffnet ist. nachher: IsOpen ist true, wenn die Datei geoeffnet ist Load Auftrag: Laden einer Datei mit Daten beliebigen Typs als stream. vorher: Datei ist initialisiert nachher: Datei ist gelesen und an data uebergeben, Datei ist geschlossen Store Auftrag: Speichern von Daten beliebigen Typs in externe Datei als stream. vorher : Datei ist initialisiert nachher: data ist gespeichert. Datei ist geschlossen ---------------------------------------------------------------------- *)
Zurück zur Startseite