С записью разобрался, теперь проблемы со чтением

((
FAQ читал, просмотрел множество задач, но ничего не получается

процедура output работает, но не верно, выдает какую-то ерунду,
Допустим ввожу
1) vasa
...
2) dima
...
3) peta
...
А выдает
1) vasa
2) vasa
3) dima
4) dima
5) peta
не могу понять как это все долно быть устроено :fire:
Заранее спасибо.
Код
program DataBase;
uses crt;
const n=30;
type
STUD=record
NAME1 : string; {Имя}
NAME2 : string; {Фамилия}
NAME3 : string; {Отчество}
DOB : string; {Дата рождения}
HT : string; {Домашний телефон}
MT : string; {Мобильный телефон}
EMail : string; {E-mail адрес}
ICQ : string; {Номер ICQ}
end;
var
s : stud;
i,all : byte;
studs : array[1..n] of stud;
EndRec : boolean;
file_s : file of stud;
{-------------------------------------------------}
procedure search;
var nfind:byte;
lastname:string;
SearchPoint:boolean;
Begin
clrscr;
writeln('Введите Фамилию для поиска :');
readln(lastname);
SearchPoint:=false;
i:=1;
nfind:=0;
while (i<=all)and(not(SearchPoint)) do
begin
s:=studs[i];
with s do
if name2=lastname then
begin
nfind:=i;
SearchPoint:=True;
end;
inc(i);
end;
writeln('nfind=',nfind);
end;
{-------------------------------------------------}
procedure output;
Begin
assign(file_s,'Data.dat');
reset(file_s);
i:=1;
while (not(eof(file_s))) do
begin
read(file_s,s);
with s do
begin
writeln(i,'-й студент :');
write('ФИО : ');writeln(name2,' ',name1,' ',name3);
write('Дата рождения :');writeln(dob);
write('Домашний телефон :');writeln(ht);
write('Мобилный телефон :');writeln(mt);
write('ICQ : ');writeln(icq);
write('E-mail : ');writeln(email);
writeln;
inc(i);
end;
end;
end;
{-------------------------------------------------}
procedure if_next;
var ch:char;
Begin
writeln('Будете вводить еще студента [Y/N] ?');
repeat
ch:=readkey;
until (ch in ['Y','y','N','n']);
clrscr;
if ch in ['Y','y'] then
begin
write(file_s,s);
inc(i);
inc(all);
EndRec:=true;
end
else
begin
close(file_s);
exit;
end;
end;
{--------------------------------------------------}
Begin
clrscr;
output;
{assign(file_s,'Data.dat');
rewrite(file_s);
i:=1;
all:=1;
EndRec:=true;
while (i<=n)and(EndRec) do
with s do
begin
writeln('Введите информацию для ',i,'-го студента');
write('Введите Имя : ');readln(name1);
write('Введите Фамилию : ');readln(name2);
write('Введите оочество :');readln(name3);
writeln('Введите дату рождения');
readln(DOB);
writeln('Введите номер домашнего телефона');
readln(HT);
writeln('Введите номер мобильного телефона');
readln(MT);
writeln('Введите E-mail адрес');
readln(EMail);
writeln('Введите номер ICQ');
readln(ICQ);
studs[i]:=s;
write(file_s,s);
EndRec:=false;
if_next;
end;}
End.