Добавил:
Рыльский филиал МГТУ ГА. Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
29.03.2024
Размер:
2.85 Кб
Скачать
program menu;
uses crt;
var i,a: integer;
code:char;
n:array[1..5] of string[20];

TYPE ZAP=RECORD
FAM: STRING[30];
GOD: 1900 ..2005;
NOMER: INTEGER;
END;
VAR  F: FILE OF ZAP;
Z: ZAP;
R,T,Y,U,P,I1: INTEGER;          {K, N ,I,j,l}

PROCEDURE CHTENIE;
BEGIN ASSIGN (F,'KAD.DAT');  {процедурачтенияизфайла kad.dat}
RESET(F);
Y:=1;
WHILE NOT EOF (F) DO
BEGIN
READ (F, Z);
SEEK (F, Y);
Y:=Y+1;
WRITELN (I, '          ''    ',Z.FAM,'    ', Z.GOD);
END;
CLOSE(F)
END;

PROCEDURE VVOD;{процедура ввода данных в поля записи и в файл}
BEGIN    WRITELN('СКОЛЬКО БУДЕМ ВВОДИТЬ ЗАПИСЕЙ?');
READLN(T);
for VAR I1:=1 to T DO
BEGIN
WRITELN ('ФАМИЛИЯ');
READLN (Z.FAM);           {вводданных}
WRITELN ('ГОДРОЖД.');
READLN (Z.GOD);               { взапись  }
WRITE(F,Z);                                                   {ввод записи в файл}
END;
CLOSE(F);
END;

PROCEDURE NOVY;               {процедура открытия файла для записи}
BEGIN     ASSIGN (F,'KAD.DAT');
REWRITE (F);
VVOD; {использование ранее описанной процедуры vvod}
END;

PROCEDURE DOPOLNENIE;     {процедура дополнения записей в файл}
BEGIN
ASSIGN(F,'KAD.DAT');
RESET(F); {при таком открытии файла его содержимое не уничтожается}
SEEK (F,FILESIZE(F));
VVOD;
END;

PROCEDURE REDAK;     {процедура редактирования записей в файл}
BEGIN
ASSIGN(F,'KAD.DAT');
RESET(F);
writeln('Введите номер записи');
readln(P);
SEEK (F,P);
VVOD;
END;

procedure vv;
begin
textbackground(1);
textcolor(4);
gotoxy(30,10+i);
write (n [i]);
textbackground(6);
textcolor(13);
gotoxy(30,10+i+a);
write(n[i+a]);
end;

begin
                   {исполнимая часть программы}
clrscr;                {очистка экрана}
n[1]:='  НОВЫЙ ФАЙЛ   ';
n[2]:='    ЧТЕНИЕ     ';
n[3]:='  ДОПОЛНЕНИЕ   ';
n[4]:='РЕДАКТИРОВАНИЕ ';
n[5]:='   ЗАКРЫТИЕ    ';
i:=1;a:=3;vv;
gotoxy(30,12);
write(n[2]);
gotoxy(30,13);
write(n[3]);
gotoxy(30,14);
write(n[4]);
gotoxy(30,15);
write(n[5]);
repeat
code:=readkey;   {считывание кода нажатой клавиши}
case code of
#38: if i=1 then
begin
i:=5;a:=-4;vv; end  {вверх}else   begin i:=i-1;a:=1;vv;  end;
#40: if i=5 then
begin i:=1;a:=4;vv;end  {вниз}else begin i:=i+1;a:=-1;vv; end;
#13: begin  gotoxy(30,7); {Enter}
case i of
1:NOVY;
2:CHTENIE;
3:DOPOLNENIE;
4:REDAK;
5:EXIT;
end; end;
end;until code=#27;{ESC}textbackground(0); textcolor(8);
end.
Соседние файлы в папке prakt12