1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- program QuickConsoleMenu;
- {$APPTYPE CONSOLE}
- {$IFDEF FPC}
- {$MODE DELPHI}
- {$ENDIF}
- {$R *.res}
- uses
- SysUtils,
- Windows,
- Quick.Commons,
- Quick.Console;
- type
- TTest = record
- procedure Option1;
- procedure Option2;
- procedure Option3;
- procedure Option4;
- procedure Option5;
- end;
- var
- conmenu : TConsoleMenu;
- Test : TTest;
- menuop : TConsoleMenuOption;
- i : Integer;
- { TTest }
- procedure TTest.Option1;
- begin
- coutXY(10,10,'Option 1 pressed',etInfo);
- end;
- procedure TTest.Option2;
- begin
- coutXY(10,10,'Option 2 pressed',etInfo);
- end;
- procedure TTest.Option3;
- begin
- coutXY(10,10,'Option 3 pressed',etInfo);
- end;
- procedure TTest.Option4;
- begin
- coutXY(10,10,'Option 4 pressed',etInfo);
- end;
- procedure TTest.Option5;
- begin
- coutXY(10,10,'Option 5 pressed',etInfo);
- end;
- begin
- try
- conmenu := TConsoleMenu.Create;
- menuop.Caption := 'Option 1';
- menuop.Key := VK_F1;
- menuop.OnKeyPressed := Test.Option1;
- conmenu.AddMenu(menuop);
- conmenu.AddMenu('Option 2',VK_F2,Test.Option2);
- conmenu.AddMenu('Option 3',VK_F3,Test.Option3);
- conmenu.AddMenu('Option 4',VK_F4,Test.Option4);
- conmenu.AddMenu('Option 5',VK_F5,{$IFDEF FPC}Test.Option5);{$ELSE}procedure
- begin
- coutXY(10,10,'Option 5 pressed',etInfo);
- end);
- {$ENDIF}
- conmenu.WaitForKeys;
- conmenu.Free;
- except
- on E: Exception do
- Writeln(E.ClassName, ': ', E.Message);
- end;
- end.
|