Ver Mensaje Individual
  #4  
Antiguo 14-09-2006
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Reputación: 22
ixMike Va por buen camino
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
Responder Con Cita