Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-01

TFileStream.Read() no lee desde el fichero

2 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

MSc. Ing. Pedro Pablo Oviedo Vera ENPA

primero creo un fichero con el siguiente c�digo:

    afile:=TFileStream.Create('/home/user/consola/prueba.txt',fmCreate
or fmShareExclusive);
    msj:='Hello World'+#10;
    afile.WriteBuffer(pchar(msj)^,Length(msj));
    afile.WriteBuffer(pchar(msj)^,Length(msj));
    afile.Free;

todo bien,.....luego intento leer desde el fichero prueba con el siguiente c�digo:

pfile:=TFileStream.Create('/home/user/consola/prueba.txt',fmOpenRead);
     pfile.ReadBuffer(pchar(msj)^,Length(msj));
     pfile.free;

todo mal....no lanza ning�n error pero no se lee nada,....�por qu�?

Saludos
pp

pd: Lazarus 1.02 / Ubuntu 10.10

MSc. Ing. Pedro Pablo Oviedo Vera Direcci�n T�cnica y Desarrollo Empresa de Proyectos e Ingenier�a ENPA Ministerio de la Agricultura Boyeros y Conill, Piso 10 Edif MINAG, La Habana, Cuba. Telef. (537)884 7649 (Ubuntu User #34812)

Reply by email

José Mejuto
to MSc. Ing. Pedro Pablo Oviedo Vera ENPA

El 12/01/2013 2:54, MSc. Ing. Pedro Pablo Oviedo Vera (ENPA) escribi�:

Show quoted text 6 lines
pfile:=TFileStream.Create('/home/user/consola/prueba.txt',fmOpenRead); pfile.ReadBuffer(pchar(msj)^,Length(msj)); pfile.free; todo mal....no lanza ning�n error pero no se lee nada,....�por qu�?

Hola,

Como no vemos donde inicializas "msj" no podemos saber cuanto vale o puede valer "Length(msj)".

Prueba con esto, espero que veas la diferencia.

var
   msj2: string;
   pfile: TFileStream;
begin
   pfile:=TFileStream.Create('/home/user/consola/prueba.txt',fmOpenRead);
   SetLength(msj2,pfile.Size);
   pfile.ReadBuffer(pchar(msj2)^,Length(msj2));
   pfile.free;
end;

Reply by email