program menuzo_program; {P.M. - 26. gyakorlat 1999.dec.9., HBV} {$F+} uses newdelay,crt; const maxmenupontdb=3; var sorszam:integer; type tmenupont=record kerdes:string[40]; vegrehajt:procedure; help:string[40]; {A help-file neve} sorszam:byte; {A gyorsbillentyu /hot-key/ neve} end; tmenu=record menudb:byte; menupontok:array[1..maxmenupontdb] of tmenupont; {menuablak:tablak; helpablak:tablak;} end; procedure elj1; begin clrscr; menuzes(almenu); {gotoxy(24,1); write('els elj r s megh0v sa');} readln; clrscr; end; procedure elj2; begin clrscr; gotoxy(24,1); write('m sodik elj r s megh0v sa'); readln; clrscr; end; procedure elj3; begin clrscr; gotoxy(24,1); write('harmadik elj r s megh0v sa'); readln; clrscr; end; procedure elj11; begin clrscr; gotoxy(24,1); write('elso almenu, elso elj r s megh0v sa'); readln; clrscr; end; procedure elj12; begin clrscr; gotoxy(24,1); write('elso almenu, m sodik elj r s megh0v sa'); readln; clrscr; end; procedure elj13; begin clrscr; gotoxy(24,1); write('elso almenu, harmadik elj r s megh0v sa'); readln; clrscr; end; const mp1:Tmenupont=(kerdes:'szoveg1';vegrehajt:elj1;help:'help.txt'; sorszam:1 ); mp2:Tmenupont=(kerdes:'szoveg2';vegrehajt:elj2;help:'help.txt'; sorszam:2); mp3:Tmenupont=(kerdes:'szoveg3';vegrehajt:elj3;help:'help.txt';sorszam:3); m:Tmenu=(menudb:3; menupontok: ( (kerdes:'szoveg1';vegrehajt:elj1;help:'help.txt'; sorszam:1), (kerdes:'szoveg2';vegrehajt:elj2;help:'help.txt'; sorszam:2), (kerdes:'szoveg3';vegrehajt:elj3;help:'help.txt'; sorszam:3) ) ); almenu:Tmenu=(menudb:3; menupontok: ( (kerdes:'szoveg11';vegrehajt:elj11;help:'help.txt'; sorszam:11), (kerdes:'szoveg12';vegrehajt:elj12;help:'help.txt'; sorszam:12), (kerdes:'szoveg13';vegrehajt:elj13;help:'help.txt'; sorszam:13) ) ); procedure menusorki(s:string; i:integer); var j:integer; begin j:=1; gotoxy(1,i); with (m.menupontok[i]) do begin while (jm.menudb then i:=1; aktivsorki(m.menupontok[i].kerdes,i); end; end; {case} end ; end{case} until kilep or (c in fgombok); i:=1; while (i<=m.menudb) and (c<>m.menupontok[i].kerdes[m.menupontok[i].sorszam ]) do inc(i); if (c in fgombok) then melyik:=i; menukivalaszt:=melyik; end; begin clrscr; menuzes(m); readln; end.