Saludos, tengo una pregunta frecuente...
El siguiente codigo supuestamente elimina un dato del archivo, ningun error aparece. Pero algo debe estar mal. Me adyudan?
Assign(Archivo, 'auxi.dat'); <----- Esto se hizo al principio del programa.
Begin
Writeln('Ingrese <0 para Eliminar todos los sudoku en el archivo.');
Writeln('o ingrese la posicion en el archivo para Eliminar un sudoku particular del archivo.');
Write('Su opcion? '); Readln(pos);
if pos<0 then Rewrite(Archivo)
else
if (Pos>FileSize(Archivo)-1) then Writeln('Posicion afuera del archivo.') else
Begin
Assign(ArchAux, 'auxi.dat');
Rewrite(ArchAux);
For I:=0 to pos-1 do
Begin
Seek(Archivo, I);
Read(Archivo, AuxClase);
Seek(ArchAux, I);
Write(ArchAux, AuxClase);
end;
k:=fileSize(Archivo)-1;
For pos:=I+2 to k do
Begin
Seek(Archivo, pos);
Read(Archivo, AuxClase);
Seek(ArchAux, pos-1);
Write(ArchAux, AuxClase);
end;
Close(Archivo);
Close(ArchAux);
Erase(Archivo);
Rename(ArchAux, 'Datos.dat');
Reset(Archivo);
end;
end;
El tipo de los datos no importa, pero el algoritmo, es correcto???
Grax