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