ConsoleMenu.pas 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. program ConsoleMenu;
  2. {$APPTYPE CONSOLE}
  3. {$MODE DELPHI}
  4. {$R *.res}
  5. uses
  6. SysUtils,
  7. Windows,
  8. Quick.Commons,
  9. Quick.Console;
  10. type
  11. TTest = class
  12. class procedure Option1;
  13. class procedure Option2;
  14. class procedure Option3;
  15. class procedure Option4;
  16. class procedure Option5;
  17. end;
  18. var
  19. conmenu : TConsoleMenu;
  20. Test : TTest;
  21. menuop : TConsoleMenuOption;
  22. i : Integer;
  23. { TTest }
  24. class procedure TTest.Option1;
  25. begin
  26. coutXY(10,10,'Option 1 pressed',etInfo);
  27. end;
  28. class procedure TTest.Option2;
  29. begin
  30. coutXY(10,10,'Option 2 pressed',etInfo);
  31. end;
  32. class procedure TTest.Option3;
  33. begin
  34. coutXY(10,10,'Option 3 pressed',etInfo);
  35. end;
  36. class procedure TTest.Option4;
  37. begin
  38. coutXY(10,10,'Option 4 pressed',etInfo);
  39. end;
  40. class procedure TTest.Option5;
  41. begin
  42. coutXY(10,10,'Option 5 pressed',etInfo);
  43. end;
  44. begin
  45. try
  46. conmenu := TConsoleMenu.Create;
  47. menuop.Caption := 'Option 1';
  48. menuop.Key := VK_F1;
  49. menuop.OnKeyPressed := Test.Option1;
  50. conmenu.AddMenu(menuop);
  51. conmenu.AddMenu('Option 2',VK_F2,Test.Option2);
  52. conmenu.AddMenu('Option 3',VK_F3,Test.Option3);
  53. conmenu.AddMenu('Option 4',VK_F4,Test.Option4);
  54. conmenu.AddMenu('Option 5',VK_F5,Test.Option5);
  55. for i := 0 to 30 do writeln('hola que tal');
  56. conmenu.WaitForKeys;
  57. conmenu.Free;
  58. except
  59. on E: Exception do
  60. Writeln(E.ClassName, ': ', E.Message);
  61. end;
  62. end.