Чтение записей из файла в pascal

Это работающий код на вывод записей всех студентов одного потока. Как переделать этот код, чтобы данные студентов хранились в отдельном текстовом файле и так же выводились студенты из одного потока?

program students10;

type
  students = record
    user: string[45];
    curs: 1..5;
    group: string[3]
  end;
var
  student: array [1..3] of students;
  I: integer;
begin
  for I := 1 to 3 do
  begin
    writeln('введите сведения о', I, '-м студенте');
    writeln('введите фамилию, имя и отчество');
    readln(student[I].user);
    writeln('введите курс');
    readln(student[I].curs);
    writeln('введите группу');
    readln(student[I].group);
  end;
  writeln('ввод закончен');
  writeln;
  for I := 1 to 3 do
    if student[I].curs = 3 then
      writeln(' фамилия студента : ', student[I].user);
end.

Ответы (1 шт):

Автор решения: Dmitriy Belousov

Может кому из студентов пригодится

program students10;

type
  TStudent = record
    user: string[45];
    curs: 1..5;
    group: string[3]
  end;
var
  student: TStudent;
  f: Text;
begin
  Assign(f,'C:/students.txt');
  Reset(f);
  while not SeekEoF(f) do with student do begin
    ReadLn(f,user);
    ReadLn(f,curs);
    ReadLn(f,group);
    if curs=3 then
      WriteLn(' фамилия студента: ', user);
  end;
  Close(f);
end. 
→ Ссылка