- Flags di Apertura File
- Proprietà File
- Posizione In-File
- L'uso di una tabella Codici
- MessageBox
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