Застрял на ерунде, второй день мучаюсь.
TP6.
Нужно проверить наличие файла txt. Если он есть, то переименовать его в bak.
На Rename выдает Runtime error 5.
Если перед Rename добавить Close(ddd), то вылазит RTE 103.
Что делаю не так?


Var
  ddd : text;
  
Function  file_exist(name:string) : boolean;
  Begin
    file_exist:=false;
    Assign(ddd, name);
    {$I-}
    Reset (ddd);
    {$I+}
    if IOResult=0 then begin
      file_exist:=true;
    end;
  End;

BEGIN
    if file_exist ('d10.txt') then begin
      if file_exist ('d10.bak') then Erase(ddd);
      Assign(ddd, 'd10.txt');
      Rename(ddd, 'd10.bak');
    end;
END.