- Flags d'Ouverture des Fichiers
- Propriétés de Fichiers
- Position dans le Fichier
- Utilisation d'une Page de Code
- MessageBox
Flags d'Ouverture de Fichier
Les valeurs des flags d'ouverture de fichiers spécifient le mode d'accès au fichier. Les flags sont définis comme suit :
Identificateur |
Valeur |
Description |
---|---|---|
FILE_READ |
1 |
Le fichier est ouvert en lecture. Le flag est utilisé par FileOpen(). Lors de l'ouverture d'un fichier, il est nécessaire de spécifier FILE_WRITE et/ou FILE_READ. |
FILE_WRITE |
2 |
Le fichier est ouvert en écriture. Le flag est utilisé par FileOpen(). Lors de l'ouverture d'un fichier, il est nécessaire de spécifier FILE_WRITE et/ou FILE_READ. |
FILE_BIN |
4 |
Mode de lecture/écriture binaire (sans conversion en chaîne de caractères). Le flag est utilisé par FileOpen(). |
FILE_CSV |
8 |
Fichier CSV (tous ses éléments sont convertis en chaînes de caractères du type correspondant, Unicode ou ANSI, et séparé par un séparateur). Le flag est utilisé par FileOpen(). |
FILE_TXT |
16 |
Fichier texte simple (similaire au fichier csv, mais sans utiliser de séparateur). Le flag est utilisé par FileOpen(). |
FILE_ANSI |
32 |
Chaînes de caractères de type ANSI (symboles de 1 octet). Le flag est utilisé par FileOpen(). |
FILE_UNICODE |
64 |
Chaînes de caractères de type UNICODE (2 octets par symbole). Le flag est utilisé par FileOpen(). |
FILE_SHARE_READ |
128 |
Accès partagé en lecture depuis plusieurs programmes. Le flag es utilisé dans FileOpen(), mais il ne remplace pas la nécessité d'indiquer les flags FILE_WRITE et/ou FILE_READ lors de l'ouverture du fichier. |
FILE_SHARE_WRITE |
256 |
Accès partagé en écriture pour plusieurs programmes. Le flag es utilisé dans FileOpen(), mais il ne remplace pas la nécessité d'indiquer les flags FILE_WRITE et/ou FILE_READ lors de l'ouverture du fichier. |
FILE_REWRITE |
512 |
Possibilité de réécriture du fichier avec les fonctions FileCopy() et FileMove(). Le fichier doit exister ou doit être ouvert en écriture, sinon le fichier ne sera pas ouvert. |
FILE_COMMON |
4096 |
Le chemin relatif au répertoire commun à tous les terminaux clients \Terminal\Common\Files. Le flag est utilisé dans les fonctions FileOpen(), FileCopy(), FileMove() et FileIsExist(). |
Un ou plusieurs fichiers peuvent être spécifiés lors de l'ouverture d'un fichier. Les flags peuvent être combinés. Les flags sont combinés avec le signe du OU logique (|), qui est positionné entre les flags énumérés. Par exemple, pour ouvrir un fichier au format CSV en lecture-écriture, spécifiez la combinaison FILE_READ|FILE_WRITE|FILE_CSV.
Exemple :
int filehandle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_CSV); |
Certaines spécifités sont à savoir lors de l'utilisation des flags de lecture/écriture :
- Si FILE_READ est spécifié, une tentative d'ouverture d'un fichier existant est effectuée. Si le fichier n'existe pas, l'ouverture du fichier échoue et aucun nouveau fichier n'est créé.
- FILE_READ|FILE_WRITE un nouveau fichier est créé si aucun fichier n'existe avec le nom spécifié.
- FILE_WRITE le fichier est recréé avec une taille à zéro.
Lors de l'ouverture d'un fichier, il est nécessaire de spécifier FILE_WRITE et/ou FILE_READ.
Les flags définissant le type de lecture d'un fichier ouvert ont des priorités. Le flag avec la plus haute priorité est FILE_CSV, puis FILE_BIN, et FILE_TXT qui a la priorité la plus basse. Si plusieurs flags sont spécifiés en même temps (FILE_TXT|FILE_CSV ou FILE_TXT|FILE_BIN ou FILE_BIN|FILE_CSV), le flag ayant la plus haute priorité est donc utilisé.
Les flags définissant le type d'encodage ont également des priorités. FILE_UNICODE a une priorité plus haute que FILE_ANSI. Si vous spécifiez une combinaison FILE_UNICODE|FILE_ANSI, le flag FILE_UNICODE sera utilisé.
Si ni FILE_UNICODE ni FILE_ANSI ne sont spécifiés, FILE_UNICODE est implicite. Si ni FILE_CSV, ni FILE_BIN, ni FILE_TXT ne sont spécifiés, FILE_CSV est implicite.
Si un fichier est ouvert en lecture en mode fichier texte (FILE_TXT ou FILE_CSV), et que les deux octets 0xff,0xfe sont trouvés au début du fichier, le flag d'encodage sera FILE_UNICODE, même si FILE_ANSI est spécifié.
Voir aussi