Ver Mensaje Individual
  #4  
Antiguo 12-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Amigo, el enlace que mencioné habla precisamente de eso.

La idea es copiar en memoria todos los registros excepto el que deseas eliminar.

Bueno, encontré algo de código que tenía guardado, espero que te sirva de ejemplo

Código Delphi [-]
procedure EliminarRegistro(N:Integer);
 var F:file of TRegistro;
     Reg:TRegistro;
     Mem:TMemoryStream;
begin
  Mem:=TMemoryStream.Create;
  if FileExists('MiArchivo') then
  begin
    AssignFile(F,'MiArchivo');
    Reset(F); // Abrir archivo
    while not EOF(F) do
    begin
     BlockRead(F,Reg,1);
     //Transferir todos los registros al nuevo archivo,excepto el registro N
     if FilePos(F)<>N then
        Mem.Write(Reg,SizeOf(Reg));
    end;
    CloseFile(F);
    if Mem.Size=0 then
      DeleteFile('MiArchivo')
    else
      Mem.SaveToFile('MiArchivo');
  end;
  Mem.Free;
end;

Saludos
Responder Con Cita