• Jueves 28 de Marzo de 2024, 15:52

Autor Tema:  Eliminar Datos De Un Archivo  (Leído 1045 veces)

Ocean Soul

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Eliminar Datos De Un Archivo
« en: Jueves 5 de Octubre de 2006, 15:33 »
0
Saludos, tengo una pregunta frecuente...
El siguiente codigo supuestamente elimina un dato del archivo, ningun error aparece. Pero algo debe estar mal. Me adyudan?

Código: Text
  1.  
  2. Assign(Archivo, 'auxi.dat'); <----- Esto se hizo al principio del programa.
  3. Begin
  4.     Writeln('Ingrese <0 para Eliminar todos los sudoku en el archivo.');
  5.     Writeln('o ingrese la posicion en el archivo para Eliminar un sudoku particular del archivo.');
  6.     Write('Su opcion? '); Readln(pos);
  7.     if pos<0 then  Rewrite(Archivo)
  8.     else
  9.     if (Pos>FileSize(Archivo)-1) then Writeln('Posicion afuera del archivo.') else
  10.     Begin
  11.         Assign(ArchAux, 'auxi.dat');
  12.         Rewrite(ArchAux);
  13.         For I:=0 to pos-1 do
  14.         Begin
  15.                 Seek(Archivo, I);
  16.                 Read(Archivo, AuxClase);
  17.                 Seek(ArchAux, I);
  18.                 Write(ArchAux, AuxClase);
  19.         end;
  20.         k:=fileSize(Archivo)-1;
  21.         For pos:=I+2 to k do
  22.         Begin
  23.             Seek(Archivo, pos);
  24.             Read(Archivo, AuxClase);
  25.             Seek(ArchAux, pos-1);
  26.             Write(ArchAux, AuxClase);
  27.         end;
  28.         Close(Archivo);
  29.         Close(ArchAux);
  30.         Erase(Archivo);
  31.         Rename(ArchAux, 'Datos.dat');
  32.         Reset(Archivo);
  33.     end;
  34. end;
  35.  
  36.  
El tipo de los datos no importa, pero el algoritmo, es correcto???
Grax