|
Zur Genealogie |
|
|
|
Die Klasse TFileStream führt selbst keine neue Eigenschaften ein, sondern erbt alle seine Eigenschaften von seinen Oberklassen. |
|
Eigenschaft |
Datentyp |
Beschreibung |
|
Position |
LongInt |
Die Eigenschaft Position gibt den aktuellen Offset im Stream für
Lese- und Schreiboperationen an. |
|
Size |
LongInt |
Die Eigenschaft Size gibt die Größe des Streams in Byte an. |
|
Handle |
LongInt |
Die Eigenschaft bezeichnet das Handle der Datei, aus welcher der
Stream liest bzw. in welche der Stream schreibt. |
|
TStream ist der abstrakte Basisklassentyp für Stream-Objekte, die von verschiedenen Speichermedien wie Festplatten oder im dynamischen Speicher usw. gelesen oder darauf geschrieben werden können. Die entsprechenden Methoden werden auf Ebene der Stream-Klasse lediglich abstrakt eingeführt und es bleibt nachfolgenden Klassen überlassen, diese konkret auszufüllen. Die Klasse TFileStream implementiert lediglich zwei Methoden und bedient sich ansonsten der geerbten Methoden aus der (betriebssystemnahen) Klasse THandleStream.
|
Eigene Methoden der Klasse TFileStream
|
Methode |
Kurzbeschreibung |
|
Create (const FileName: string; |
Mit Create wird ein Datei-Stream zum Lesen aus
oder Schreiben in die benannte Datei instantiiert. Beim Erzeugen des
Datei-Streams geben Sie an, wie die Datei geöffnet werden soll. fs := Create(´D:\TMP\TEST.DAT´, fmOpenRead OR fmShareExclusive); Öffnen-Modus kann folgende Konstantenwerte annehmen:
Für den Zugriffsmodus sind folgende Konstantenwerte verfügbar:
Wenn die Datei nicht geöffnet werden kann, löst Create eine Exception aus. |
|
Destroy; |
Destroy gibt eine Instanz von TFileStream frei. |
Methoden, welche die Klasse TFileStream von der Klasse THandleStream erbt
|
Methode |
Kurzbeschreibung |
|
function Read(var Buffer; Count: Longint): Longint; |
Die Methode Read liest die in Count angegebene Zahl von Bytes aus der
Datei, die dem Handle-Stream zugeordnet ist, in den Puffer ein, der mit
dem Parameter Buffer bezeichnet ist.
(Das Funktionsergebnis wird bei diesem Beispiel nicht ausgewertet.) Rufen Sie Read nicht auf, wenn die Datei im Modus fmOpenWrite geöffnet wurde, um das Datei-Handle anzufordern. |
| function
Write(const Buffer; Count: Longint): Longint; |
Die Methode Write schreibt die mit Count vorgegebene Anzahl von Bytes
aus dem Puffer (Buffer) an die aktuelle Position in der Datei.
(Das Funktionsergebnis wird bei diesem Beispiel nicht ausgewertet.) |
| function Seek(Offset: Longint; Origin: Word): Longint; |
Die Methode Seek dient dazu, die „Positionsmarke" innerhalb
des Stream auf eine beliebige Position zu setzen.
Seek gibt den neuen Wert der Eigenschaft Position zurück.
Positioniert die Positionsmarke innerhalb des Stream auf den Anfang des 6. Datensatzes. (!!!) |
|
procedure SetSize(NewSize: Longint); |
Die Methode SetSize plaziert die Dateiendemarkierung, wodurch die
Ressource an der angegebenen Position abgeschnitten werden kann.
Schneidet alle Daten hinter dem 10. Byte ab. |
|
29. März 2007 Siegfried Spolwig |
|