Hilfe

OpenFile

B2D B+ B3D

Aufruf

Stream = OpenFile (datei$)

Parameter

datei$ String mit dem Namen einer Datei, die für diesen Zugriff geöffnet werden soll. Es kann auch ein Pfad angegeben werden. Schreibvorgang auf ein schreibgeschütztes Medium ist nicht möglich.


Rückgabewert

Identität, die für weitere Dateibefehle unbedingt notwendig ist. Wird Null zurückgeliefert, dann wurde die Datei nicht gefunden.


Beschreibung

Dieser Befehl öffnet eine Datei für einen Lese- und Schreibzugriff gleichzeitig. Somit kann man eine Datei sehr bequem aktualisieren (z.B. Score-Liste oder Datenbank), ohne, dass eine Kopie davon erstellt werden muss.
Diese Funktion liefert einen Wert, der für weitere Read- und Write-Befehle unbedingt notwendig ist. Wird Null zurückgeliefert, dann wurde die Datei nicht gefunden

Achtung! Falls diese Ausgabedatei noch nicht existiert, dann kommt es bei einem Schreib-/Leseversuch zu einem Fehler. OpenFile ist darum besonders für Änderungen gut geeignet. Neue Dateien können sofort mit WriteFile geschrieben werden.

Beachte, dass die Ausgabedaten nach Möglichkeit eine feste Länge haben sollen. Sonst könnte man andere Daten schnell überschreiben

Benutze FilePos, um die Dateiposition zu ermitteln und SeekFile, um die Dateiposition zu setzten. Mit den normalen Befehlen ReadByte, ReadBytes, ReadFloat, ReadInt, ReadLine, ReadShort und ReadString können Daten ausgelesen werden. Und mit WriteByte, WriteBytes, WriteFloat, WriteInt, WriteLine, WriteShort sowie WriteString können Daten geschrieben werden. Benutze CloseFile, um die geöffnete Datei wieder zu schließen.



Die Datei muss bereits existieren, da sonst diese Meldung nach einem Schreib- oder Lesevorgang erscheint. Benutze vorher den Befehl FileType.


Beispiel

Standardbeispiel:

;Dieses Programm demonstriert viele Dateibefehle. Zuerst werden Daten in eine Datei geschrieben, dann verändert und wieder ausgelesen:

fileout = WriteFile("mydata.dat")
WriteInt(fileout, 1)
WriteInt(fileout, 2)
WriteInt(fileout, 3)
WriteInt(fileout, 4)
WriteInt(fileout, 5)
CloseFile(fileout)

DisplayFile("Originaldatei:", "mydata.dat")

file = OpenFile("mydata.dat")
SeekFile(file, 8)
WriteInt(file, 9999)
CloseFile(file)

DisplayFile("Geänderte Datei", "mydata.dat")
WaitKey()

Function DisplayFile(Tittle$, Filename$)
   Print Tittle$
   filein = ReadFile(Filename$)
   While Not Eof(filein)
      Number = ReadInt(filein)
      Print Number
   Wend
   CloseFile(filein)
   Print
End Function


Siehe auch

CloseFile, FilePos, ReadFile, SeekFile

Übersicht Datenverwaltung Dateien & Streams