[Back to MENU SWAG index]  [Back to Main SWAG index]  [Original]


{Used like If Menu('ABCDE')='E' then DoWhatever; Or put result in variable}
Function Menu(TheCommands : String) : Char;
Var
    GotKey  : Boolean;
    Inkey   : Char;
    Counter : Byte;
Begin
GotKey:=False;
FlushBuff;
Repeat
Inkey:=ReadKeySpin(False);
Inkey:=UpCase(Inkey);
For Counter:=1 to Length(TheCommands) do
       If (Inkey=TheCommands[Counter]) or (Inkey=#27) then GotKey:=True;
Until GotKey;
Menu:=InKey;
If Inkey=#27 then Begin
                  ClrScr;
                  WriteLnColor('`8Ä`4Ä`@Ä ESC Ä`4Ä`8Ä');
                  End;
End;

Function YN : Boolean;
Begin
YN:=Menu('YN')='Y';
End;


[Back to MENU SWAG index]  [Back to Main SWAG index]  [Original]