MetaTrader 5 herunterladen

Flaggen der Dateieroeffnung

Werte von Flaggen, die das Regime von Arbeit mit Dateien bestimmen. Flaggen werden folgenderweise definiert:

Identifikator

Wert

Beschreibung

FILE_READ

1

Datei wird für Lesen geoeffnet. Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet. Bei  der Öffnung der Datei muss unbedingt die Flagge FILE_WRITE und/oder die Flagge FILE_READ angegeben wird.

FILE_WRITE

2

Dateinwird für Schreiben verwendet. Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet. Bei  der Öffnung der Datei muss unbedingt die Flagge FILE_WRITE und/oder die Flagge FILE_READ angegeben wird.

FILE_BIN

4

Binares Regime von Lesen-Shreiben (ohne Umwandlung von Zeile in die Zeile). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet

FILE_CSV

8

Datei des Typs csv (alle geschriebenen Elemente werden in die Zeilen des entsprechenden Typs verwendet, unicode oder ansi, und durch Begrenzungszeichen getrennt). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet

FILE_TXT

16

Einfache Textdatei (ebensolcher wie csv, aber der Begrenzungszeichen wird nicht beachtet). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet

FILE_ANSI

32

Zeilen des Typs ANSI (1-Byte Symbole). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet

FILE_UNICODE

64

Zeilen des Typs UNICODE (2-Byte-Symbole). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet

FILE_SHARE_READ

128

Gemeinsamer Lesezugang von mehreren Progarmmen. Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet, aber ersetzt es nicht die Notwendigkeit, beim Dateieröffneng FILE_WRITE und/oder FILE_READ anzugeben

FILE_SHARE_WRITE

256

Gemeinsamer Schreibezugang von mehreren Programmen. Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet, aber ersetzt es nicht die Notwendigkeit, beim Dateieröffneng FILE_WRITE und/oder FILE_READ anzugeben

FILE_REWRITE

512

Moeglichket der Dateiumspeicherung durch die Funktionen FileCopy() undnden sein oder für FileMove(). Datei muss vorhanden sein oder für Schreiben geoeffnet werden. Anders wird die Datei nicht geoeffnet werden

FILE_COMMON

4096

Datei /// im Verzeichnis aller Client-Terminals \Terminal\Common\Files. Flagge wird beim Oeffnen von Dateien (FileOpen()), Dateikopieren (FileCopy(), FileMove()) und Pruefung von Dateianesenheit (FileIsExist()) verwendet

Bei der Öffnung der Datei kann eine oder mehrere Flaggen angegeben werden, diese Verbindung heisst Kombination der Flaggen. Kombination der Flaggen wird mittels des Zeichens der Operation des logischen ODER (|) geschrieben, das zwischen den aufgezählten Flaggen gestellt wird. ZB um eine Datei in CSV Format für Lesen und Schreiben zu öffnen, kann die Kombination FILE_READ|FILE_WRITE|FILE_CSV angegeben werden.

Beispiel:

   int filehandle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_CSV);

Es gibt einige Besonderheiten der Arbeit bei Andeutung der Flaggen des Lesens und der Schreibung:

  • Wenn FILE_READ angegeben wird, versucht man, die schon existierende Datei zu öffnen. Wenn die Datei existiert, gelingt es nicht die Datei zu öffnen, eine neue Datei wird nicht erzeugt.
  • Wenn FILE_READ|FILE_WRITE — eine neue Date wird erzeugt, wenn die Datei mit diesem Namen fehlt.
  • Wenn FILE_WRITE —  Datei wird mit der Null-Grösse erzeugt.

Bei  der Öffnung der Datei muss unbedingt die Flagge FILE_WRITE und/oder die Flagge FILE_READ angegeben wird.

Flaggen, die den Typ der offenen Datei bestimmen, haben die Priorität. Die älteste Flagge ist FILE_CSV, dann folgt die zweitälteste Flagge  FILE_BIN, und die kleinste Priorität hat die Flagge FILE_TXT. So wenn mehrere Dateien gleichzeitig (FILE_TXT|FILE_CSV oder FILE_TXT|FILE_BIN oder FILE_BIN|FILE_CSV) angegeben werden, wird die älteste Flagge verwendet werden.

Flaggen, die den Typ der Kodierung bestimmen, haben auch eine Priorität. Flagge FILE_UNICODE hat die ältere Priorität als die Flagge  FILE_ANSI. Darum wird bei der Andeutung der Kombination  FILE_UNICODE|FILE_ANSI die Flagge FILE_UNICODE verwendet.

Wenn  FILE_UNICODE, und FILE_ANSI angegeben wird, wird FILE_UNICODE gemeint. Wenn  FILE_CSV, und FILE_BIN nicht angegeben wird, und FILE_TXT, wird FILE_CSV gemeint

Wenn die Datei als Textdatei für Lesen geöffnet wird (FILE_TXT oder FILE_CSV), und dabei wird am Anfang der Datei ein spezielles Zwei-Byte Zeichen 0xff,0xfe gefunden, wird Flagge der Kodierung FILE_UNICODE sein, auch wenn die Flagge FILE_ANSI  angegeben wurde.

Sehen Sie auch

Dateioperationen