2
0

QuickConsoleMenu.dpr 1.5 KB

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