Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

KURSOV~1 / PODMENU

.PAS
Скачиваний:
3
Добавлен:
16.12.2013
Размер:
11.4 Кб
Скачать
unit podmenu;
interface
uses crt,diags,graph,ffile,mouse, menuwork;
var swp1,swp2:base;
Procedure punkt_2;{Џг­Єв2 Ј« ў­®Ј® ¬Ґ­о}
Procedure punkt_3;{Џг­Єв ђҐ¤ ЄвЁа®ў ­ЁҐ/‘®авЁа®ўЄ }
Procedure punkt_1;{Џг­Єв1 Ј« ў­®Ј® ¬Ґ­о}
Procedure punkt_5;{Џг­Єв5 Ј« ў­®Ј® ¬Ґ­о}
Procedure change(i,j:integer);{Џа®жҐ¤га  ЇҐаҐбв ­®ўЄЁ ­®¬Ґа®ў ў ¬ ббЁўҐ}
Procedure sort(priznak:integer;pole:integer);{‘®авЁа®ўЄ }
Procedure punkt_gr;{Џг­Єв ѓа дЁЄ }

implementation

procedure punkt_gr;
var td,pg:integer;
begin
if load=0 then
begin
obramlenie(1,1,80,25,26,$9,$f);
obramlenie(12,7,68,17,0,$7,$f);
textcolor(0);
gotoxy(8,6);
Writeln('„ ­­лҐ ­Ґ § Ја㦥­л, Ї®бв஥­ЁҐ ­Ґў®§¬®¦­®');
readkey;
end
else begin
MakeVertMenu(33,2,2,s7);
pg:=MouseVert(33,2,6,2,3,s7,con);
case pg of
1: begin {ЉагЈ®ў п}
MakeVertMenu(49,2,7,s8);
td:=MouseVert(49,2,8,7,4,s8,con);
window(1,1,80,25);
GetMem(MasR, nz*sizeof(real));
GetMem(MasS, nz*sizeof(string));
assign(f,path);
Reset(f);
for i:=1 to nz do
begin
Read(f,zt);
MasS^[i]:=zt.name;
case td of
1:begin
MasR^[i]:=zt.nd;
St:='­ жЁ®­ «м­л© ¤®е®¤';
end;
2:begin
MasR^[i]:=zt.de;
St:='¤®е®¤ ®в нЄбЇ®ав ';
end;
3:begin
MasR^[i]:=zt.ri;
St:='а б室 ­  Ё¬Ї®ав';
end;
4:begin
MasR^[i]:=zt.otn1;
St:='';
end;
5:begin
MasR^[i]:=zt.otn2;
St:='';
end;
6:begin
MasR^[i]:=zt.otn3;
St:='';
end;
7:begin
MasR^[i]:=zt.otn4;
St:='';
end;
end;
end;
Close(f);
initgr;
Legend(MasS^, nz, 10, 300, 630, 470, St);
Krug (MasR^, nz,10,10,630,280);
Readkey;
CloseGraph;
Cursor(off);

end;
2: begin {‘в®«ЎЁЄ®ў п}
MakeVertMenu(49,2,7,s8);
td:=MouseVert(49,2,8,7,4,s8,con);
window(1,1,80,25);
GetMem(MasR, nz*sizeof(real));
GetMem(MasS, nz*sizeof(string));
assign(f,path);
Reset(f);
for i:=1 to nz do
begin
Read(f,zt);
MasS^[i]:=zt.name;
case td of
1:begin
MasR^[i]:=zt.nd;
St:='­ жЁ®­ «м­л© ¤®е®¤';
end;
2:begin
MasR^[i]:=zt.de;
St:='¤®е®¤ ®в нЄбЇ®ав ';
end;
3:begin
MasR^[i]:=zt.ri;
St:='а б室 ­  Ё¬Ї®ав';
end;
4:begin
MasR^[i]:=zt.otn1;
St:='';
end;
5:begin
MasR^[i]:=zt.otn2;
St:='';
end;
6:begin
MasR^[i]:=zt.otn3;
St:='';
end;
7:begin
MasR^[i]:=zt.otn4;
St:='';
end;
end;
end;
Close(f);
initgr;
Legend(MasS^, nz, 10, 300, 630, 470, St);
Stolbik(MasR^, nz,10,10,630,280);
Readkey;
CloseGraph;
Cursor(off);

end;
end;
end;
end;

{menu fail}
Procedure punkt_1;
var x,y,x0,y0:byte;
begin
MakeVertMenu(1,2,4,s2);
p1:=MouseVert(1,2,6,4,1,s2,con);
window(1,1,80,25);
gotoxy(1,11);
writeln(chr(204));
textbackground(2);
textcolor(7);
case p1 of
1:begin
cursor(on);
create;
cursor(off);
end;
2:begin
clrscr;
SelectF;
window(1,1,80,25);
end;
3: begin
nsave;
end;
4:begin;
clrscr;
exit;
end;
end;
cursor(off);
end;

Procedure punkt_5;
begin
clrscr;
obramlenie(1,1,80,25,26,$9,$f);
obramlenie(12,7,68,17,0,$7,$f);
testdisk;
clrscr;
window(1,1,80,25);
clrscr;
end;

Procedure punkt_2;
var p4:integer;
begin
MakeVertMenu(17,2,6,s5);
p4:=MouseVert(17,2,7,6,2,s5,con);
window(1,1,80,25);
case p4 of
1:punkt_3;
2: begin
clrscr;
print;
readkey;
end;
3: AddZap;
4:begin
if load=0 then
begin
obramlenie(1,1,80,25,26,$9,$f);
obramlenie(12,7,68,17,0,$7,$f);
textcolor(0);
gotoxy(8,6);
Writeln('„ ­­лҐ ­Ґ § Ја㦥­л, г¤ «Ґ­ЁҐ ­Ґў®§¬®¦­®');
readkey;
end
else begin
print;
gotoxy(23,20);
write('‚ўҐ¤ЁвҐ ­®¬Ґа г¤ «пҐ¬®© § ЇЁбЁ ');
readln(d);
RemZap(d);
print;
readkey;
end;
end;

5:save;
6:begin
clrscr;
exit;
end;
end;
end;

Procedure sort(priznak:integer;pole:integer);
begin
assign(f,path);
reset(f);
case priznak of
1:begin
for i:=1 to n-1 do
for j:=i+1 to n do
case pole of
1:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.name>swp2.name then change(i,j);
end;
2:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.nd>swp2.nd then change(i,j);
end;
3:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.de>swp2.de then change(i,j);
end;
4:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.ri>swp2.ri then change(i,j);
end;
5:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn1>swp2.otn1 then change(i,j);
end;
6:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn2>swp2.otn2 then change(i,j);
end;
7:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn3>swp2.otn3 then change(i,j);
end;
8:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn4>swp2.otn4 then change(i,j);
end;
end;
end;
0:begin
for i:=1 to n-1 do
for j:=i+1 to n do
case pole of
1:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.name<swp2.name then change(i,j);
end;
2:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.nd<swp2.nd then change(i,j);
end;
3:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.de<swp2.de then change(i,j);
end;
4:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.ri<swp2.ri then change(i,j);
end;
5:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn1<swp2.otn1 then change(i,j);
end;
6:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn2<swp2.otn2 then change(i,j);
end;
7:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn3<swp2.otn3 then change(i,j);
end;
8:begin
seek(f,dmas^[i]-1);
read(f,swp1);
seek(f,dmas^[j]-1);
read(f,swp2);
if swp1.otn4<swp2.otn4 then change(i,j);
end;

end;
end;
end;
close(f);
end;

Procedure change(i,j:integer);
var sc:integer;
begin
sc:=dmas^[i];
dmas^[i]:=dmas^[j];
dmas^[j]:=sc;
end;

Procedure punkt_3;
begin
if load=0 then
begin
obramlenie(1,1,80,25,26,$9,$f);
obramlenie(12,7,68,17,0,$7,$f);
textcolor(0);
gotoxy(8,6);
Writeln('„ ­­лҐ ­Ґ § Ја㦥­л, б®авЁа®ўЄ  ­Ґў®§¬®¦­ ');
readkey;
end
else begin
MakeVertMenu(33,2,9,s3);
p2:=MouseVert(33,2,10,9,3,s3,con);
case p2 of
1:begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,1);exit;end;
2:begin sort(1,1);exit;end;
3:begin clrscr;exit;end;
end;

end;



2:begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,2);exit;end;
2:begin sort(1,2);exit;end;
3:begin clrscr;exit;end;
end;
end;


3: begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,3);exit;end;
2:begin sort(1,3);exit;end;
3:begin clrscr;exit;end;
end;
end;

4:
begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,4);exit;end;
2:begin sort(1,4);exit;end;
3:begin clrscr;exit;end;
end;
end;

5:

begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,5);exit;end;
2:begin sort(1,5);exit;end;
3:begin clrscr;exit;end;
end;
end;
6:

begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,6);exit;end;
2:begin sort(1,6);exit;end;
3:begin clrscr;exit;end;
end;
end;
7:
begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,7);exit;end;
2:begin sort(1,7);exit;end;
3:begin clrscr;exit;end;
end;
end;
8:

begin
MakeVertMenu(49,2,3,s4);
p3:=MouseVert(49,2,4,3,4,s4,con);
window(1,1,80,25);
textbackground(2);textcolor($e);
case p3 of
1:begin sort(0,8);exit;end;
2:begin sort(1,8);exit;end;
3:begin clrscr;exit;end;
end;
end;

9:begin;
clrscr;
exit;
end;
end;
end;
end;
end.



Соседние файлы в папке KURSOV~1