Hola WPascal.
Reestructuré un poco tu código.
En tu ejemplo el archivo se debe abrir, realizar las operaciones y luego cerrar.
Lo que estabas haciendo es reescribir siempre el primer registro. Al hacer
Reset(Partidas) dentro del ciclo, en cada ingreso el archivo se abre y el puntero se posiciona en el primer registro y allí se guarda.
Verifiqué la existencia del archivo, con try/except, para que veas otra forma de hacerlo.
Código Delphi
[-]
program Project1;{$APPTYPE CONSOLE}
uses
SysUtils;
type
TDPartida = record
Blancas,Negras,Resultado:String[40];
Anyo:Integer;
end;
var
Partidas: file of TDPartida;
Juego:TDpartida;
NEntradas,I:Integer;
begin
Assign(Partidas,'Resultados de las partidas.chess');
try
Reset(Partidas);
except
Rewrite(Partidas);
end;
Write('cuantos datos de partidas va a ingresar?: ');
Readln(NEntradas);
for I := 1 to NEntradas do
begin
Write('Blancas:');
Readln(Juego.Blancas);
Write('Negras:');
Readln(Juego.Negras);
Write('Anyo:');
Readln(Juego.Anyo);
Write('Resultado:');
Readln(Juego.Resultado);
Write(Partidas,Juego);
end;
Close(Partidas);
end.
end.
Saludos.