Gracias otra vez por el artículo, he aprendido mucho.
seoane, la función que hiciste tiene un pequeño fallo: aquí va la corrección:
Código Delphi
[-]
procedure AnsiToUnicode(Text, Filename: string);
var
WStr: WideString;
F: File;
Escritos: Integer;
begin
WStr:=' '+Text;
WStr[1]:=WideChar($FEFF);
AssignFile(F, Filename);
{$I-}
Rewrite(F,Sizeof(WideChar));
{$I+}
if IOResult = 0 then
begin
BlockWrite(F,PWChar(WStr)^,Length(WStr),Escritos);
CloseFile(F);
end;
end;
También he mejorado la mía (la que extrae el texto del archivo UNICODE). Aquí va:
Código Delphi
[-]
Function UnicodeToAnsi(FileName: String): string;
type
TAr = Array[0..0] of WideChar;
var
F: File;
WStr: WideString;
AStr: String;
Ar: ^Tar;
begin
Result:='';
If not FileExists(FileName) then exit;
AssignFile(F,FileName);
FileMode:=0;
Reset(F,1);
GetMem(Ar,FileSize(F));
BlockRead(F,Ar^,FileSize(F));
CloseFile(F);
WideCharToStrVar(PWideChar(Ar),AStr);
FreeMem(Ar);
Result:=Copy(AStr,2,Length(AStr)-1);
end;
Bueno, seguro que aún se puede mejorar.
Hasta otra