Bonjour.
Dans le cadre d'un jeu que l'on doit programmer, je dois créer une procédure qui écrit les stats dans un fichier, et une autre qui les lit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
TYPE
 
		recstat = record
					nom : string;
					partie : integer;
					win : integer;
					point : integer;
					egal : integer;
					end;
		stats = array[1..1000] of recstat;

VAR :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
   tabstats : stats;
   filestats : file of recstat;
Procédure de lecture :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure lire_fichier(var tabstats : stats; var filestats : file of recstat; var taillestats : integer);
VAR i : integer;
begin
i := 1;
RESET(filestats);
taillestats := 0;
while(not(EOF(filestats))) do
begin
 
	READ(filestats, tabstats[i]);
	i := i + 1;
	taillestats := taillestats + 1;
	end;
close(filestats);
end; {procedure}

Code d'appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ASSIGN(filestats, 'stats.txt');
lire_fichier(tabstats, filestats, taillestats);
Or, il se trouve que dès que j'appelle la procédure de lecture, le programme se ferme.
Je n'ai pas trouvé pourquoi et je suppose que si je commence par appeler la procédure d'ecriture, ça me fera la même chose.
Je suis quasi sûr que c'est parce que j'utilise mal les fichiers.

Quelqu'un pourrait-il m'aider à trouver le problème ?

Merci d'avance.

Siron