Flags di Apertura File

Valori Flag di apertura file specificano la modalità di accesso ai file. I Flags sono definiti come segue:

Identificatore

Valore

Descrizione

FILE_READ

1

Il file viene aperto per la lettura. Flag viene usato in FileOpen(). Quando si apre un file, la specifica di file FILE_WRITE e/o FILE_READ è necessaria.

FILE_WRITE

2

Il file è aperto in scrittura. Flag viene usato in FileOpen(). Quando si apre un file, la specifica di file FILE_WRITE e/o FILE_READ è necessaria.

FILE_BIN

4

Modalità binaria lettura/scrittura (senza conversione stringa a stringa). Flag viene usato in FileOpen()

FILE_CSV

8

CSV file (tutti i suoi elementi vengono convertiti in stringhe di tipo appropriato, unicode o ANSI, e separati da separatore). Flag viene usato in FileOpen()

FILE_TXT

16

File di testo semplice (lo stesso di file csv, ma senza prendere in considerazione i separatori). Flag viene usato in FileOpen()

FILE_ANSI

32

Stringhe di tipo ANSI (uno dei simboli byte). Flag viene usato in FileOpen()

FILE_UNICODE

64

Stringhe di tipo UNICODE (due simboli di byte). Flag viene usato in FileOpen()

FILE_SHARE_READ

128

L'accesso condiviso per la lettura da diversi programmi. Il flag viene usato in FileOpen(), ma non sostituisce la necessità di indicare FILE_WRITE e/o il flag FILE_READ all'apertura di un file.

FILE_SHARE_WRITE

256

L'accesso condiviso per la scrittura da diversi programmi. Il flag viene usato in FileOpen(), ma non sostituisce la necessità di indicare FILE_WRITE e/o il flag FILE_READ all'apertura di un file.

FILE_REWRITE

512

Possibilità, per la riscrittura del file utilizzando le funzioni di FileCopy() e FileMove(). Il file deve esistere o deve essere aperto in scrittura, altrimenti il ​​file non viene aperto.

FILE_COMMON

4096

Il percorso del file nella cartella comune di tutti i terminali client \Terminal\Common\Files. Il flag viene usato nelle funzioni FileOpen(), FileCopy(), FileMove() e FileIsExist().

Una o più flags possono essere specificato quando si apre un file. Si tratta di una combinazione di flag. La combinazione di flag viene scritta utilizzando il segno logico OR (|), che è posizionato tra flags enumerati. Ad esempio, per aprire un file in formato CSV per la lettura e la scrittura, allo stesso tempo, specificare la combinazione FILE_READ|FILE_WRITE|FILE_CSV.

Esempio:

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

Ci sono alcune caratteristiche specifiche di lavoro quando si specificano flags di lettura e scrittura:

  • Se viene specificato FILE_READ, viene effettuato un tentativo di aprire un file esistente. Se il file non esiste, l'apertura del file non riesce, un nuovo file non viene creato.
  • FILE_READ|FILE_WRITE – un nuovo file viene creato se il file con il nome specificato non esiste.
  • FILE_WRITE – il file viene creato di nuovo con una dimensione pari a zero.

Quando si apre un file, è necessaria la specifica di FILE_WRITE e/o FILE_READ.

Flags che definiscono il tipo di lettura di un file aperto, posseggono priorità. La più alta flag è FILE_CSV, poi va FILE_BIN, e FILE_TXT è di priorità più bassa. Quindi, se le bandiere vengono indicate al tempo stesso, (FILE_TXT | FILE_CSV o FILE_TXT | FILE_BIN o FILE_BIN | FILE_CSV), verrà utilizzata la bandiera con la priorità più alta.

Bandiere che definiscono il tipo di codifica anche hanno la priorità. FILE_UNICODE sono di una priorità maggiore rispetto FILE_ANSI. Quindi, se si specifica la combinazione FILE_UNICODE|FILE_ANSI, verrà utilizzato il flag FILE_UNICODE.

Se né FILE_UNICODE né FILE_ANSI sono indicati, FILE_UNICODE è implicito. Se non FILE_CSV, né FILE_BIN, né FILE_TXT sono specificati, FILE_CSV è implicito.

Se un file viene aperto per la lettura come file di testo (o FILE_TXT FILE_CSV), ed all'inizio del file viene trovata di una speciale indicazione due-byte 0xff,0xfe, il flag di codifica sarà FILE_UNICODE, anche se viene specificato FILE_ANSI.

Vedi anche

Funzioni con i File