home *** CD-ROM | disk | FTP | other *** search
- PROGRAM Menu_Demo;
-
- Uses Crt, Menu, Windows;
-
- CONST menu1 : STRING = '/Apple come lately/1|Baker Square/Charlie Foxtrot';
- menu2 : STRING = '/Load/Pick/New/Save/Write to/Directory/Change Dir';
- bar1 : STRING = '/File/Edit/Run/Compile/Options';
-
- VAR static_menu : menuobj;
- static_bar : barobj;
-
- ch : CHAR;
- i : BYTE;
- bar_rtn : WORD;
-
- PROCEDURE hold;
- VAR ch : CHAR;
- BEGIN
- ch := readchar;
- END;
-
- BEGIN
- textattr := $07;
- CLRSCR;
- GOTOXY(1,15);
- WRITELN('Before we begin, there are no windows open and no objects defined.');
- WRITELN('Our base memory size is: ',memavail);
- WRITELN;
- WRITELN('First off, we do stock static menu');
-
- static_menu.initmenu(20,5,'Static Apples');
- static_menu.add_option(menu1);
- static_menu.add_option('/Hanging ten/Latest news/*|Star return');
- ch := static_menu.menuselect(TRUE);
-
- WRITELN;
- WRITELN('We returned the character: ',ch);
- WRITELN('Next we turn off a few options...');
-
- static_menu.option_flag('C*',FALSE);
- ch := static_menu.menuselect(TRUE);
-
- GOTOXY(1,20);
- WRITELN('We returned the character: ',ch,' ');
- WRITELN('During all that, memory available: ',memavail);
-
- static_menu.done;
-
- WRITELN('After cleanup, memory available: ',memavail);
- WRITELN('Press any key to continue');
- hold;
-
- CLRSCR;
- GOTOXY(1,10);
- WRITELN('Next we will do a bar entry without an open window');
- WRITELN('Our memory available here is: ',memavail);
-
- static_bar.initbar(1,bar1);
- static_bar.add_option('/F' + menu2);
- static_bar.add_option('/R/Run/Program Reset/Go to cursor/Trace into/Step over');
- static_bar.add_option('/C/Compile/Make/Build/Destination/Find Error');
- bar_rtn := static_bar.barselect;
-
- WRITELN;
- WRITELN('From our bar menu, we returned with the following:');
- WRITELN('Return value: ',bar_rtn);
- WRITELN('CHR(HI(x)): ',CHR(HI(bar_rtn)));
- WRITELN('CHR(LO(x)): ',CHR(LO(bar_rtn)));
- WRITELN('Memory: ',memavail);
- WRITELN;
- WRITELN('Press any key to continue');
- hold;
-
- openwindow(10,5,60,20,white + green * 16,true,std_border,0,'Fine Stuff!',0);
- GOTOXY(1,5);
- WRITELN('This time we are within an open window.');
- WRITELN('We didn''t re-initialize the bar either!');
- WRITELN('Also a few options were turned off ("/R/GT")');
- WRITELN;
- WRITELN('Memory available: ',memavail);
-
- static_bar.option_flag('/R/GT',FALSE);
- bar_rtn := static_bar.barselect;
- closewindow;
-
- GOTOXY(1,19);
- WRITELN('From our bar menu, we returned with the following:');
- WRITELN('Return value: ',bar_rtn,' ');
- WRITELN('CHR(HI(x)): ',CHR(HI(bar_rtn)),' ');
- WRITELN('CHR(LO(x)): ',CHR(LO(bar_rtn)),' ');
-
- static_bar.done;
-
- WRITELN;
- WRITELN('After disposing with our static bar our');
- WRITELN('memory available: ',memavail);
- WRITELN;
- WRITELN('Press any key to continue...');
- hold;
- END.