WriteStringFormat()
Syntaxe
Resultat = WriteStringFormat(#Fichier, Format)Description
Ecrit un BOM (Byte Order Mark) à la position courante.
Arguments
#Fichier Le fichier à utiliser. Format #PB_Ascii : N'écrit aucun BOM (fichier texte standard). #PB_UTF8 : UTF-8 avec un BOM. #PB_Unicode: UTF-16 (little endian) avec un BOM. #PB_UTF16BE: UTF-16 (big endian) avec un BOM. #PB_UTF32 : UTF-32 (little endian) avec un BOM. #PB_UTF32BE: UTF-32 (big endian) avec un BOM.Les constantes #PB_Ascii, #PB_UTF8 et #PB_Unicode correspondent aux options supportées par WriteString() et WriteStringN(). Après avoir placé un BOM, toutes les opérations d'écriture devraient utiliser ce format.
Valeur de retour
Renvoie une valeur non nulle si l'opération a réussi et zéro si elle a échoué.
Remarques
En raison de la mise en mémoire tampon, cette fonction peut retourner une valeur avec succès même s'il n'y a pas assez d'espace disponible sur le périphérique de sortie pour l'opération d'écriture.
Le fichier doit être ouvert en utilisant une fonction d'écriture compatible (c'est à dire pas avec ReadFile()).
Le BOM (Byte Order Mark) est un moyen couramment utilisé pour indiquer le type d'encodage d'un fichier texte. Il est habituellement placé au début du fichier. Néanmoins, ce n'est pas un standard ni une norme, mais une pratique courante. Ainsi, si aucun BOM n'est détecté au début du fichier, cela ne veut pas forcément dire qu'il s'agit d'un fichier ASCII. ReadStringFormat() peut être utilisé pour detecter le BOM d'un fichier.
Pour plus d'informations, consulter cet article Wikipedia.
Vous trouverez plus d'informations sur le mode unicode avec PureBasic ici.
Exemple
If CreateFile(0, "Test.txt") ; Création d'un nouveau fichier texte... WriteStringFormat(0, #PB_Unicode) ; Fichier au format unicode WriteStringN(0, "Ligne hé hé à ù Ê Ï") ; Ecriture de quelques signes (suivis du code 'Fin de Ligne') CloseFile(0) ; Ferme le fichier précédemment ouvert et enregistre les données Else MessageRequester("Information","Impossible de créer le fichier!") EndIf If ReadFile(0, "Test.txt") Format=ReadStringFormat(0) While Eof(0) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File') Debug ReadString(0) ; Affiche ligne par ligne le contenu du fichier Wend CloseFile(0) Select Format Case #PB_Ascii Debug "Aucun BOM détecté. Généralement un fichier texte standard" Case #PB_UTF8 Debug "UTF-8 et BOM détecté." Case #PB_Unicode Debug "UTF-16 (little endian) et BOM détecté." Case #PB_UTF16BE Debug "UTF-16 (big endian) et BOM détecté." Case #PB_UTF32 Debug "UTF-32 (little endian) et BOM détecté." Case #PB_UTF32BE Debug "UTF-32 (big endian) et BOM détecté." Default Debug "Format inconnu" EndSelect EndIf
Voir aussi
ReadStringFormat(), WriteString(), WriteStringN(), CreateFile(), OpenFile()
OS Supportés
Tous