Hola Juan! no voy a hacerte el programa, te voy a explicar un poco el tema de archivos:
Podés crear diferentes tipos de archivos, como ser de texto o de algún tipo (predefinido o definido por el usuario).
Primero asignás a una variable de ese tipo de archivo el nombre físico. Luego, lo abrís, o lo creas, según exista o no, y si podés reescribirlo o no.
A partir de ahi, tenés métodos para leer (read), escribir (write), posicionar el puntero en una posición (seek), y algunas funciones como filePos (devuelve la posición del puntero de archivo), fileSize (devuelve el tamaño del archivo). Hay más, pero esas te van a ser más que suficientes.
Te muestro un ejemplo:
type
TArchivo = file of integer;
var
a : TArchivo;
i : byte;
begin
{ asigno el archivo físico }
Assign(a, 'archivo.dat');
{ creo el archivo o lo reescribo si existe. Con Reset lo abres (si existe) }
ReWrite(a);
for i:=1 to 10 do
Write(a, i); {escribo del 1 al 10 en el archivo}
Close(a); { cierro el archivo }
Reset(a); { abro el archivo (no hacía falta cerrarlo, pero es una buena práctica) }
Seek(a, 6); { salta a la 7ma posición (empieza en 0 -cero-) }
read(a, i); { leo el contenido del archivo y lo guardo en la variable i }
write(i); { muestro el contenido de la variable i en pantalla }
end. { end programa }
Para modificarlo, haces un seek a la posición que deseas modificar y haces Write del dato en el archivo.
Resumiendo, las operaciones más usadas son:
Assign --> asigna el nombre físico al nombre lógico
ReWrite --> reescribe o crea un archivo (si existe o no, respectivamente)
Reset --> abre un archivo existente (dá error si no existe)
Close --> cierra un archivo (si no está abierdo dá error)
Read --> lee desde un archivo a una variable{ read(archivo,variable) }
Write --> escribe a un archivo
Seek --> posiciona el puntero en pos { seek(archivo,pos) }
FilePos --> devuelve la posición del puntero (1º dato=0) { pos:=filePos(archivo) }
FileSize --> devuelve la cantidad de datos { si tiene 5 registros, devuelve 5 }
Intentá con esto, si te trabás volvé a consultarnos. Un abrazo!