Takže ešte raz

Mám procedúry na vytváranie menu, hlavné menu, menu na načítanie, menu na voľbu operácií, ... A všetky sa na seba dosť podobajú. Vždy je to len tabuľka s niekoľkými položkami, samozrejme rôznymi, po ktorých sa užívateľ posúva šípkami hore a dolu, potvrdzuje enterom.
Kód: Vybrať všetko
procedure hl_menu;
var j:byte;
e:char;
begin
readkey;
j:=1;
tabulka(' MENU ',h_menu);
repeat
e:=#10;
if keypressed then
begin
e:=readkey;
if (e=#0) then
begin
e:=readkey;
if (e=#80) then
begin
write_all(h_menu[j],25,7+2*j,tab,15);
j:=j+1;
if (j>4) then j:=1;
end;
if (e=#72) then
begin
write_all(h_menu[j],25,7+2*j,tab,15);
j:=j-1;
if j<1 then j:=4;
end;
end;
end;
write_all(h_menu[j],25,7+2*j,pasik,15);
Chcel by som vytvoriť jednu univerzálnu procedúru, ktorá by dokázala vykresliť hocijaké menu spomenuté vyššie. Teda by som potreboval namiesto
h_menu dať nejaký parameter, ktorý by sa menil podľa potreby. Takisto i procedúra
tabulka by dostávala ako vstupný argument nejaký parameter, ktorý by sa menil podľa toho aké menu chcem vykresliť.