home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / VGATOOLS.ZIP / USEROO.ZIP / MENUDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-12-29  |  3.0 KB  |  100 lines

  1. PROGRAM Menu_Demo;
  2.  
  3. Uses Crt, Menu, Windows;
  4.  
  5. CONST menu1 : STRING = '/Apple come lately/1|Baker Square/Charlie Foxtrot';
  6.       menu2 : STRING = '/Load/Pick/New/Save/Write to/Directory/Change Dir';
  7.       bar1  : STRING = '/File/Edit/Run/Compile/Options';
  8.  
  9. VAR   static_menu : menuobj;
  10.       static_bar  : barobj;
  11.  
  12.       ch          : CHAR;
  13.       i           : BYTE;
  14.       bar_rtn     : WORD;
  15.  
  16.    PROCEDURE hold;
  17.    VAR   ch : CHAR;
  18.    BEGIN
  19.       ch := readchar;
  20.    END;
  21.  
  22. BEGIN
  23.    textattr := $07;
  24.    CLRSCR;
  25.    GOTOXY(1,15);
  26.    WRITELN('Before we begin, there are no windows open and no objects defined.');
  27.    WRITELN('Our base memory size is: ',memavail);
  28.    WRITELN;
  29.    WRITELN('First off, we do stock static menu');
  30.  
  31.    static_menu.initmenu(20,5,'Static Apples');
  32.    static_menu.add_option(menu1);
  33.    static_menu.add_option('/Hanging ten/Latest news/*|Star return');
  34.    ch := static_menu.menuselect(TRUE);
  35.  
  36.    WRITELN;
  37.    WRITELN('We returned the character: ',ch);
  38.    WRITELN('Next we turn off a few options...');
  39.  
  40.    static_menu.option_flag('C*',FALSE);
  41.    ch := static_menu.menuselect(TRUE);
  42.  
  43.    GOTOXY(1,20);
  44.    WRITELN('We returned the character: ',ch,' ');
  45.    WRITELN('During all that, memory available: ',memavail);
  46.  
  47.    static_menu.done;
  48.  
  49.    WRITELN('After cleanup, memory available:   ',memavail);
  50.    WRITELN('Press any key to continue');
  51.    hold;
  52.  
  53.    CLRSCR;
  54.    GOTOXY(1,10);
  55.    WRITELN('Next we will do a bar entry without an open window');
  56.    WRITELN('Our memory available here is: ',memavail);
  57.  
  58.    static_bar.initbar(1,bar1);
  59.    static_bar.add_option('/F' + menu2);
  60.    static_bar.add_option('/R/Run/Program Reset/Go to cursor/Trace into/Step over');
  61.    static_bar.add_option('/C/Compile/Make/Build/Destination/Find Error');
  62.    bar_rtn := static_bar.barselect;
  63.  
  64.    WRITELN;
  65.    WRITELN('From our bar menu, we returned with the following:');
  66.    WRITELN('Return value:  ',bar_rtn);
  67.    WRITELN('CHR(HI(x)):    ',CHR(HI(bar_rtn)));
  68.    WRITELN('CHR(LO(x)):    ',CHR(LO(bar_rtn)));
  69.    WRITELN('Memory:        ',memavail);
  70.    WRITELN;
  71.    WRITELN('Press any key to continue');
  72.    hold;
  73.  
  74.    openwindow(10,5,60,20,white + green * 16,true,std_border,0,'Fine Stuff!',0);
  75.    GOTOXY(1,5);
  76.    WRITELN('This time we are within an open window.');
  77.    WRITELN('We didn''t re-initialize the bar either!');
  78.    WRITELN('Also a few options were turned off ("/R/GT")');
  79.    WRITELN;
  80.    WRITELN('Memory available: ',memavail);
  81.  
  82.    static_bar.option_flag('/R/GT',FALSE);
  83.    bar_rtn := static_bar.barselect;
  84.    closewindow;
  85.  
  86.    GOTOXY(1,19);
  87.    WRITELN('From our bar menu, we returned with the following:');
  88.    WRITELN('Return value:  ',bar_rtn,'     ');
  89.    WRITELN('CHR(HI(x)):    ',CHR(HI(bar_rtn)),' ');
  90.    WRITELN('CHR(LO(x)):    ',CHR(LO(bar_rtn)),' ');
  91.  
  92.    static_bar.done;
  93.  
  94.    WRITELN;
  95.    WRITELN('After disposing with our static bar our');
  96.    WRITELN('memory available: ',memavail);
  97.    WRITELN;
  98.    WRITELN('Press any key to continue...');
  99.    hold;
  100. END.