Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema al leer un fichero que empieza con ÿþ (https://www.clubdelphi.com/foros/showthread.php?t=44958)

Durbed 19-06-2007 11:54:18

Problema al leer un fichero que empieza con ÿþ
 
En Windows XP hay un fichero que almacena un registro del call id, es decir, a quien llamas y quien te llama a ti, este fichero se encuentra en "C:\Documents and Settings\<usuario>\Configuración local\Datos de programa\Microsoft\Dialer\<usuario>_call_log.txt" El fichero es de esta forma:
"tipo_llamada", "fecha", "hora", "duracion", "Nombre", "Telefono"

El problema es que el fichero aparentemente es normal, pero no funcionaba al leerlo, entonces mire a ver que tenia en hexadecimal y tiene esta pinta:
ÿþ".t.i.p.o._.l.l.a.m.a.d.a.".,.".f.e.c.h.a.". ...
y ahi es donde esta el problema, pues solo me lee ÿþ. Hay alguna forma de pasarlo a un formato decente o leerlo asi sin problemas?

Para leer (bueno para intentar leer) el fichero utilizo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Archivo: TextFile;
  Linea: String;
  sl: TStringList;
  j: Integer;

begin
  AssignFile(Archivo, 'PRG1_call_log.txt');
  Reset(Archivo);

  sl := TStringList.Create;

  try
    while not EoF(Archivo) do
    begin
      ReadLn(Archivo, Linea);
      sl.CommaText := Linea;
      for j := 0 to sl.Count - 1 do
        memo1.Lines.Add(sl[j]);
    end;
  finally
    sl.Free;
  end;
  CloseFile(Archivo);
end;

Que sino me equivoco es un ejemplo de Roman.

A ver si me podeis ayudar, un saludo y gracias.

mensana 19-06-2007 12:50:40

Cita:

Empezado por Durbed
... tiene esta pinta:
ÿþ".t.i.p.o._.l.l.a.m.a.d.a.".,.".f.e.c.h.a.". ...
... Hay alguna forma de pasarlo a un formato decente o leerlo asi sin problemas?

Estás intentando leer un fichero en formato unicode. Los dos primeros caracteres "ÿþ" (FF FE) son para indicar que el fichero tiene ese formato.

Durbed 19-06-2007 13:11:16

Gracias buscando un poco he encontrado una funcion que transforma el texto en ANSI y ya lo puedo tratar perfectamente. Gracias.

jhonny 19-06-2007 15:49:20

Cita:

Empezado por Durbed
Gracias buscando un poco he encontrado una funcion que transforma el texto en ANSI y ya lo puedo tratar perfectamente. Gracias.

Que función ha sido la que te saco del aprieto?

Durbed 19-06-2007 18:28:44

Las encontre en el foro http://www.clubdelphi.com/foros/show...=ansitounicode


La franja horaria es GMT +2. Ahora son las 23:27:52.

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