Я вот намудрил немного другой вариант меню, но почему-то не работает вот пример, гляньте, что не так procedure lookp;
var num,mail:integer;
punkt:array[1..1000] of integer;
begin
repeat
showmenu('Записи',CH_IMPLICIT);
for i:=1 to k1 do
if readrecordstoreentry(r,i)<>'' then
punkt[i]:=menuappendstring(readrecordstoreentry(r,i));
c:= createCommand('Выбор', cm_ok, 1);
addCommand©;
c1:=createcommand('назад',cm_back,1);
addcommand(c1);
repeat
delay(100);
until (getclickedcommand=c) or (getclickedcommand=c1);
for i:=1 to k1 do
if (menugetselectedindex=punkt[i]) and (getclickedcommand=c) then
repeat
showmenu(readrecordstoreentry(r,i),CH_IMPLICIT);
num:=menuappendstring(readrecordstoreentry(r1,i));
mail:=menuappendstring(readrecordstoreentry(r2,i));
addCommand©;
addcommand(c1);
repeat
delay(100);
until (getclickedcommand=c) or (getclickedcommand=c1);
if (menugetselectedindex=num) and (getclickedcommand=c) then
p:=phone(readrecordstoreentry(r1,i));
if (menugetselectedindex=mail) and (getclickedcommand=c) then
email(readrecordstoreentry(r2,i));
until getclickedcommand=c1;
until getclickedcommand=c1;
end;