Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-09-2006
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 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
  #2  
Antiguo 14-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ixMike
seoane, la función que hiciste tiene un pequeño fallo
¿que fallo?

Esto:
Código Delphi [-]
  WStr:=' '+Text;
  WStr[1]:=WideChar($FEFF);

Es lo mismo que esto:
Código Delphi [-]
  WStr:= #$FEFF + Text;

No entiendo porque lo haces de la otra manera. Pero de ahí a decir que lo otro es un fallo

EDITO: Parece que en versiones anteriores de delphi (yo usaba el TurboDelphi), la instrucción que pongo yo se le atraganta. Pero todo tiene solución:
Código Delphi [-]
  WStr:= #$FEFF + WideString(Text);

Última edición por seoane fecha: 14-09-2006 a las 13:31:47.
Responder Con Cita
  #3  
Antiguo 15-08-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Gracias ixMike
este hilo me ha servido de maravillas

Muchas gracias
__________________

Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Unicode PTW Varios 0 22-01-2006 12:30:31
Unicode arantzal Varios 2 19-09-2005 17:44:07
ANSI-ASCII y caracteres Ñ, ¿, etc. nax C++ Builder 0 27-08-2005 01:44:23
Unicode Sworied MySQL 1 12-08-2004 07:27:38
Unicode pacogp Varios 2 17-02-2004 14:02:35


La franja horaria es GMT +2. Ahora son las 00:14:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi