PDA

Ver la Versión Completa : Problema al leer un fichero que empieza con ˙ŝ


Durbed
19-06-2007, 11:54:18
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:

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
... 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
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/showthread.php?t=35449&highlight=ansitounicode