OpenAsTextStream: Format du fichier.

Fermé
Big Ben - 8 avril 2004 à 10:37
 Laurent - 20 janv. 2007 à 22:40
Salut,
Sous VB, j'aimerai connaitre la différence entre les Formats d'ouverture d'un fichier: TristateUseDefault, TristateTrue, TristateFalse .
Je sais que le deuxième ouvre le fichier en Unicode et le troisième en mode ASCII.
Mais qu'est-ce que ça change d'ouvrir le fichier avec l'une ou l'autre option.

object.OpenAsTextStream([iomode,[Format]])

Merci.
Ciao.

1 réponse

Comme vs devez sûrment le savoir les 'string' sont, en VBA (VB?), au format Unicode (2 octets/charcatère).

Si le format ASCII est spécifié (TristateFalse et TristateUseDefault), toute opération d'écriture échoue si la chaine contient des caractères Unicode non représentable en ASCII. (Prendre "ASCII" comme "ASCII étendu" [ASCII ANSI] et non comme ASCII pur.)

Dans ce cas-là une erreur d'éxécution (assez peu desccriptive) se produit:
    Set f = fs.GetFile("C:\temp.txt")
    Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
    ts.Write chaineAvecCaracteresNonAscii
    ' Write déclenche une err. 5,
    ' "Argument ou appel de procédure incorrect"

Pour les opération de lecture je n'est pas testé, mais c'est sans aucun doute du même tonneau.

Bonne continuation
Laurent
0