program sdfsa;
uses crt;
type str=string;
student=record
Fam:string[25];
Name:string[25];
Shifr:string[25];
end;
newfile=file of student;
var a,size,i,j:byte;
st:student;
f1:newfile;
fam:str;
Procedure my_vin(x1,y1,x2,y2:integer);
begin
window(1,1,80,25);
textbackground(white);
clrscr;
window(x1-2,y1-1,x2+2,y2+1);
textbackground(red);clrscr;
window(x1,y1,x2,y2);
textbackground(black);clrscr;
textcolor(15);
end;
Procedure stud(name:str; var f:newfile);
begin
my_vin(15,5,65,21);
gotoxy(8,3); write('Введите данные про нового студента');
gotoxy(11,4); write('Фамилия ');readln(st.fam);
gotoxy(13,6); write('Имя ');readln(st.name);
gotoxy(13,7); write('Шифр группы ');readln(st.shifr);
assign(f,name);
reset(f);
size:=filesize(f);
seek(f,size);
write(f,st);
gotoxy(16,17); write('Данные сохранены');
close(f);
readln;
end;
Procedure vivod(name:str;var f:newfile);
begin
my_vin(15,5,7,14);
gotoxy(2,4); write('Фамилия');
gotoxy(12,4); write('Имя ');
gotoxy(22,4); write('Шифр группы ');
assign(f,name);
reset(f);
size:=filesize(f);
writeln;
j:=5;
for i:=1 to size do
begin
j:=j+1;
seek(f,i-1); read(f,st);
gotoxy(2,j); write(st.fam);
gotoxy(12,j); write(st.name);
gotoxy(22,j); write(st.shifr);
writeln;
end;
readln;end;
Procedure poisk(name:str; var f: newfile);
begin
my_vin(15,5,7,14);
readln(fam);
clrscr;
gotoxy(2,4); write('Фамилия');
gotoxy(12,4); write('Имя ');
gotoxy(22,4); write('Шифр группы ');
assign(f,name);
reset(f);
size:=filesize(f1);
writeln;
j:=5;
for i:=1 to size do begin
seek(f,i-1); read(f,st);
if fam=st.fam then begin
j:=j+1;
gotoxy(2,j); write(st.fam);
gotoxy(12,j); write(st.name);
gotoxy(22,j); write(st.shifr);
end;
writeln;
end;
readln;
end;
Procedure menu;
Begin
my_vin(17,7,63,20);
gotoxy(7,2);write(' Выберите пункт меню');
gotoxy(7,4);write('1.Добавить новые данные');
gotoxy(7,6);write('2.Просмотр всех данных');
gotoxy(7,8); write('3.Поиск данных');
gotoxy(7,10); write('4.Удалить все данные');
gotoxy(7,12); write('5.Выход');
gotoxy(22,13);
end;
Procedure delete(name:str; var f:newfile);
begin
assign(f,name);
rewrite(f);
close(f);
end;
begin
clrscr;
repeat
Menu;
readln(a);
Case a of
1:stud('f:\f2.man',f1);
2:vivod('f:\f2.man',f1);
3:poisk('f:\f2.man',f1);
4:begin
delete('F:\f2.man',f1);
gotoxy(17,13);
write('Данные удалены');
readkey;
end;
end;
until a=5;
end.
|