Ver Mensaje Individual
  #2  
Antiguo 08-06-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Pues se acabó lo que se daba, esto tiene que funcionar en Turbo pascal, ya que usa las funcionies de bajo nivel del sistema operativo.

Edito: Las funciones las pillo de SysUtils, pero estarán en otra unidad de Turbo Pascal. THandle es un Entero largo.

Código Delphi [-]
procedure TForm1.btn1Click(Sender: TObject);
var F:THandle;
    s: string[10];
    i:Integer;
begin
  if not sysutils.FileExists('c:\mio.txt') then
    F:= sysutils.FileCreate('c:\mio.txt')
  else
    f:= sysutils.FileOpen('c:\mio.txt',fmOpenReadWrite);

  if f>0  then
    ShowMessage('archivo abierto');

  s := 'texto 1';
  FileWrite(F,s,SizeOf(s));
  s := 'texto 2';
  FileWrite(F,s,SizeOf(s));
  s := 'texto 3';
  FileWrite(F,s,SizeOf(s));
  FileSeek(f,-(SizeOf(s)*2),1); // ir atrás en el fichero
{
  Al movernos tenemos que ir sumando los bytes que hay escritos
  realmente en el fichero. Multiplico por 2 para irme 2 "registros"
  hacia atrás, el primero es el "Texto 3", y al retroceder otro más
  me situo al principio de "texto 2", que se debe mostrar en el último
  ShowMessage
}
  FileRead(f,s,SizeOf(s));
  ShowMessage(s);
  FileClose(f);
end;
Espero que sea viable .

SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 08-06-2006 a las 11:39:15.
Responder Con Cita