begin
ClrScr;
gotoXY(32, 1);
write('Изменение записи');
PrintMainFraime(2, 2, 78, 23);
gotoXY(4, 4);
write('Введите фамилию: '); ChangeName:=SafeRead(20, 1, 0);
zicl:=1;
poz:=0;
while (zicl<=n) and (Poz=0) do
begin
if BGTU^[zicl].Name=ChangeName then poz:=Zicl;
inc(zicl);
end;
if poz=0 then
begin
gotoXY(4,6);
write('Запись отсутствует в базе...');
end
else
begin
with BGTU^[poz] do
begin
gotoXY(4,6); write('Фамилия: ', Name);
gotoXY(4,7); write('Год рождения: ', BirthYear);
gotoXY(4,8); write('Адрес: ', Address);
gotoXY(4,9); write('Телефон: ', Phone);
gotoXY(4,10); write('Факультет: ', Facultet);
gotoXY(4,11); write('Группа: ', Group);
gotoXY(4, 13);
write('Введите новые данные:');
gotoXY(4,15);
write('Фамилия: '); ChangeName:=SafeRead(20, 0, 0);
if ChangeName='' then write('<не изменено>') else
Name:=ChangeName;
gotoXY(4,16);
write('Год Рождения: '); ChangeName:=SafeRead(4, 0, 1);
if ChangeName='' then write('<не изменено>') else
BirthYear:=ChangeName;
gotoXY(4, 17);
write('Дом. адрес: '); ChangeName:=SafeRead(50, 0, 0);
if ChangeName='' then write('<не изменено>') else
Address:=ChangeName;
gotoXY(4, 18);
write('Телефон: '); ChangeName:=SafeRead(20, 0, 0);
if ChangeName='' then write('<не изменено>') else
Phone:=ChangeName;
gotoXY(4, 19);
write('Факультет: '); ChangeName:=SafeRead(1, 0, 0);
if ChangeName='' then write('<не изменено>') else
Facultet:=ChangeName;
gotoXY(4, 20);
write('Группа: '); ChangeName:=SafeRead(3, 0, 0);
if ChangeName='' then write('<не изменено>') else
Group:=ChangeName;
end;
gotoXY(4, 22);
write('Данные успешно изменены...');
end;
PressKey;
ClrScr;
PrintMainFraime(2, 2, 78, 11);
PrintMainMenu(1);
end;
procedure DeleteData(var n: Word; BGTU: BasePointer); {VII пункт меню}
var DeleteName: String;
zicl, poz: Integer;
ch: Char;
begin
ClrScr;
gotoXY(32, 1);
write('Удаление записи');
PrintMainFraime(2, 2, 78, 23);
gotoXY(4, 4);
write('Введите фамилию: '); DeleteName:=SafeRead(20, 1, 0);
zicl:=1;
poz:=0;
while (zicl<=n) and (Poz=0) do
begin
if BGTU^[zicl].Name=DeleteName then poz:=Zicl;
inc(zicl);
end;
if poz=0 then
begin
gotoXY(4,6);
write('Запись отсутствует в базе...');
end
else
begin
with BGTU^[poz] do
begin
gotoXY(4,6); write('Фамилия: ',Name);
gotoXY(4,7); write('Год рождения: ',BirthYear);
gotoXY(4,8); write('Адрес: ',Address);
gotoXY(4,9); write('Телефон: ',Phone);
gotoXY(4,10); write('Факультет: ',Facultet);
gotoXY(4,11); write('Группа: ',Group);
end;
gotoXY(4, 13);
write('Удалять? [y/n]: ');
ch:=' ';
repeat
ch:=ReadKey;
until (ch='Y') or (ch='y') or (ch='N') or (ch='n');
write(ch);
if (ch='Y') or (ch='y') then
begin
for zicl:=poz to n-1 do BGTU^[zicl]:=BGTU^[zicl+1];
dec(n);
gotoXY(4, 15);
write('Запись успешно удалена...');
end;
end;
PressKey;
ClrScr;
PrintMainFraime(2, 2, 78, 11);
PrintMainMenu(1);
end;
procedure SaveTextData(n: Word; BGTU: BasePointer); {VIII Пункт меню}
var F: Text;
Path: String;
zicl: Word;
begin
ClrScr;
gotoXY(27, 1);
write('Сохранение в текст. файла');
PrintMainFraime(2, 2, 78, 15);
gotoXY(4, 3);
write('Введите имя файла: ');
Path:=SafeRead(50,1,0);
gotoXY(4, 5);
Assign(f, Path);
{$I-}
Rewrite(F);
{$I+}
if IoResult<>0 then
write('Ошибка открытия файла...')
else
begin
for zicl:=1 to n do
begin
with BGTU^[zicl] do
begin
writeln(f, Name);
writeln(f, BirthYear);
writeln(f, Address);
writeln(f, Phone);
writeln(f, Facultet);
writeln(f, Group);
end;
end;
close(f);
gotoXY(4, 7);
write('Данные успешно сохранены...');
end;
PressKey;
ClrScr;
PrintMainFraime(2, 2, 78, 15);
PrintMainMenu(1);
end;
procedure SaveTipData(n: Word; BGTU: BasePointer); {IX Пункт меню}
var F: file of Person;
Path: String;
zicl: Word;
begin
ClrScr;
gotoXY(24, 1);
write('Сохранение в тип. файла');
PrintMainFraime(2, 2, 78, 15);
gotoXY(4, 3);
write('Введите имя файла: ');
Path:=SafeRead(50,1,0);
gotoXY(4, 5);
Assign(f, Path);
{$I-}
Rewrite(F);
if IoResult<>0 then
write('Ошибка открытия файла...')
else
begin
for zicl:=1 to n do write(f, BGTU^[zicl]);
close(f);
write('Данные успешно сохранены...');
end;
{$I+}
PressKey;
ClrScr;
PrintMainFraime(2, 2, 78, 15);
PrintMainMenu(1);
end;
procedure About; {VI пункт меню}
begin
ClrScr;
PrintMainFraime(10, 6, 60, 10);
gotoXY(24, 7);
write('Кафедра Вычислительной Техники');
gotoXY(21, 9);
write('Лабораторная работа по информатике №4');
gotoXY(13, 11);
write('ТЕМА: Типизированные и текстовые файлы);
gotoXY(13, 12);
write('ВЫПОЛНИЛ: Суханов Александр');
gotoXY(13, 13);
write('ГРУППА: И433');
PressKey;
ClrScr;
PrintMainFraime(2, 2, 78, 11);
PrintMainMenu(1);
end;
end.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.