SOS with Ini files (Delphi 1)

Hello,

I am quizzical ahead an apparently simple problem :
It concerns, with the help of a file of type .ini to manage data figuring
in my under way software .
When I desire to suppress a file, I write an empty entry  in face of the
number of file :
(DossierN='')
Up to there all is fine .
Then, I ascend a notch all files situated after the file for which I have
written a empty chain :
Before :
    [ File list]
    Number Files=2
    dossier1=111111
    dossier2=
    dossier3=999999

After, what I want to obtain :
    [ File List]
   Number  Files=2
    dossier1=111111
    dossier2=999999
    dossier3=
It is to the moment of the handwriting of the value appointed to the entry
dossier3 that
Delphi plants.
Can someone  indicate me what's the matter ?
Here is instructions employed :

var
  Ini:TIniFile;
begin
   Try
        Ini:=TIniFile.Create(GetPath+'data.dat');
        {Recovery of the number of files contained in DATA.DAT}
        Nb:=Ini.ReadInteger('File List','Number Files ',1);

        {Verification that no entry of File List corresponds
        to nothing, if it is the case: the entry   receives the content of
        the next entry.}
        For i:=1  to  Nb do
          if (Ini.ReadString('File List ,'Dossier'+IntToStr(i),'')  ='')
then Begin

            A:=Ini.ReadString('File List','Dossier'+IntToStr(i+1) ,'');
            Ini.WriteString('File List','Dossier'+IntToStr(i),A);

            Ini.WriteString('File List','Dossier'+IntToStr(i+1),'');{<== It
is here that the error GPF produces }
          End;

      Finally
        Ini.Free;
    end;
end,

Thanks in advance you for your tracks, pipes or solutions.