Procedure Kursor;

 

Var y1:integer;

 

Begin{Procedure}

SetColor(Red);

If (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or(n_menu=9)

Then

y:=260

Else

y:=70;

OutTextXY(20,y,'->');

size:=ImageSize(20,42,37,68);

GetMem(p,size);

GetImage(20,{70}y,37,{80}y+10,p^);

size:=ImageSize(10,10,27,20);

GetMem(w,size);

GetImage(10,10,27,20,w^);

size:=ImageSize(100,400,500,410);

GetMem(n,size);

GetImage(100,380,500,390,n^);

p_kur:=1;

Repeat

key:=ReadKey;

Case key of

#0: Begin{0}

Case ReadKey of

#72: Begin{72}

If p_kur=1

Then

Begin{Then}

y:=y+(kol_kur-1)*20;

p_kur:=kol_kur;

If (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or (n_menu=9)

Then

y1:=260

Else

y1:=70;

PutImage(20,y1{70}{260},w^,0);

End{Then}

Else

Begin{Else}

y:=y-20;

p_kur:=p_kur-1;

End;{Else}

End;{72}

#80: Begin{80}

If p_kur=kol_kur

Then

Begin{Then}

If (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or (n_menu=9)

Then

y:=260

Else

y:=70;

PutImage(20,y+(kol_kur-1)*20,w^,0);

p_kur:=1;

End{Then}

Else

Begin{Else}

y:=y+20;

p_kur:=p_kur+1;

End;{Else}

End;{80}

End;{Case}

PutImage(20,y,p^,0);

PutImage(20,y-20,w^,0);

PutImage(20,y+20,w^,0);

End;{0}

#13: Begin{13}

PutImage(100,400,n^,0);

If (key=#13)and(p_kur=kol_kur)

Then

Begin{Then}

If n_menu=1

Then

key:=#27

Else

Begin{Else}

If proc<>'t'

Then

Begin{Then}

n_menu:=n_menu-1;

p_kur:=n_pun;

End;{Then}

End;{Else}

End{Then}

Else

Begin{Else}

If ((n_menu=1)and((p_kur=7)or(p_kur=8)or(p_kur=9)))

Then

Case p_kur of

7:proc:='p';

8:proc:='t';

9:proc:='r';

End;{Case}

n_menu:=n_menu+1;

n_pun:=p_kur;

End;{Else}

End;{13}

#27:Begin{27}

PutImage(100,400,n^,0);

If n_menu<>1

Then

Begin{Then}

key:=#13;

n_menu:=n_menu-1;

p_kur:=n_pun;

End;{Then}

End;{27}

Else

Begin{Else}

OutTextXY(220,400,'Нажата неправильная клавиша');

Delay(5000);

PutImage(100,400,n^,0);

End;{Else}

End;{Case}

Until (key=#13)or(key=#27);

End;{Procedure}