program Project1;
type
TStrRec = string[15];
const
Fn = 'data.dat';
N = 10;
var
F : file of TStrRec;
S : TStrRec;
i, Num : Integer;
begin
Assign(F, Fn);
//Создаём/пересоздаём файл.
Rewrite(F);
Writeln('Перечень слов в файле:');
//Записываем в файл N слов.
for i := 1 to N do begin
Str(i, S);
S := 'Слово ' + S;
Write(F, S);
if i > 1 then Write(', ');
Write(S);
end;
Writeln;
//Открываем файл.
Reset(F);
//Изменить слово с номером Num.
repeat
Writeln('Задайте номер слова для изменения ', 1, '..', N, ':');
Readln(Num);
until (Num >= 1) and (Num <= N);
//Перемещаем файловый указатель на элемент с заданным номером.
//Num - 1 - потому что позиции элементов в файле нумеруются от нуля.
Seek(F, Num - 1);
//Читаем слово. При этом файловый указатель сместится к следующему слову.
Read(F, S);
//Возвращем файловый указтель в прежнее положение.
Seek(F, Num - 1);
//Изменяем слово.
S := '(' + S + ')';
Write(F, S);
Writeln('Слово изменено');
//Изменить последнее слово.
Writeln('Изменить последнее слово...');
//Открываем файл. При этом файловый указатель сбрасывается в ноль.
Reset(F);
//Номер последнего слова в файле.
Num := FileSize(F);
//Num - 1 - потому что позиции элементов в файле нумеруются от нуля.
Seek(F, Num - 1);
//Читаем слово. При этом файловый указатель сместится к следующему слову.
Read(F, S);
//Возвращем файловый указтель в прежнее положение.
Seek(F, Num - 1);
//Изменяем слово.
S := '(' + S + ')';
Write(F, S);
Writeln('Слово изменено');
Writeln('Содержимое файла после изменений. В скобках изменённые слова:');
Reset(F);
i := 0;
while not Eof(F) do begin
i := i + 1;
Read(F, S);
if i > 1 then Write(', ');
Write(S);
end;
//Закрваем файл.
Close(F);
Readln;
end.