Delphi 2009, UNICODE et system.text
Bonjour,
je cherche à écrire de l'UNICODE dans un fichier texte.
Le programme est très simple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| procedure TForm1.Button2Click(Sender: TObject);
const
kFilename = 'D:\test.txt';
var
Outfile : system.text;
begin
AssignFile(OutFile, kFilename);
Rewrite(OutFile);
try
WriteLN(Outfile, 'Кгыыу');
WriteLN(Outfile, 'َقضلاث');
finally
CloseFile(OutFile);
end;
end; |
(Sauf que la première chaîne s'écrit "Кгыыу" et la seconde "َقضلاث", c'est la balise "code" du site qui fait la transformation).
Quand je regarde dans mon fichier, j'ai bien deux lignes :
:cry:
Bon, je cherche dans l'unité system.pas, et je trouve :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
TFileRec = packed record (* must match the size the compiler generates: 592 bytes *)
[...]
case Byte of
0: (RecSize: Cardinal); // files of record
1: (BufSize: Cardinal; // text files
[...]
BufPtr: PAnsiChar;
[...]
{ Text file record structure used for Text files }
PTextBuf = ^TTextBuf;
TTextBuf = array[0..127] of AnsiChar; // TODO: change to WideChar
TTextRec = packed record (* must match the size the compiler generates: 720 bytes *) |
8O
C'est moi ou le mec de CodeGear a oublié de vider sa ToDo List avant de livrer la release ?
On ne peut plus utiliser system.text si on veut écrire de l'UNICODE ?
Merci de votre réponse
(J'ai peur...)