home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / BUER / TBW72.ZIP / TBD72.BAS < prev    next >
BASIC Source File  |  1988-11-19  |  13KB  |  384 lines

  1. $INCLUDE "tbw72.inc"
  2.  
  3.  CLS
  4.  textattr = SCREEN(1,1,1)
  5.  CALL Openwin(5,20,11,40,FNAttr(15,7),textattr,2,0,0,0)
  6.  CALL Printcwin(2,"TBW72")
  7.  SELECT CASE FNCurdisplay
  8.  CASE 0 : msg$ = "MONO"
  9.  CASE 1 : msg$ = "CGA"
  10.  CASE 2 : msg$ = "EGA"
  11.  CASE 3 : msg$ = "MCGA"
  12.  CASE 4 : msg$ = "VGA"
  13.  END SELECT
  14.  msg1$ = STR$(FNCurvideo)
  15.  msg$ = msg$ + " monitor in video mode "+msg1$
  16.  CALL Printcwin(3,msg$)
  17.  CALL Printcwin(5,"Copyright (C) 1988")
  18.  CALL Printcwin(6,"by Richard D. Fothergill")
  19.  x = 0
  20.  WHILE NOT INSTAT AND (x < 25000)
  21.    INCR x
  22.  WEND
  23.  CALL Closewin
  24.  IF INKEY$ <> "" THEN
  25.    a$ = INKEY$
  26.    a$ = CHR$(0)
  27.  END IF
  28.  done = 0
  29.  CALL Initmenus
  30.  CALL Openwin(1,1,3,80,FNAttr(7,1),FNAttr(15,1),2,0,0,0)
  31.  CALL Fakewin(3,1,22,80,FNAttr(7,1),FNAttr(15,1),14,0,0,0)
  32.  CALL Sprint(25,1,"             Use arrow keys to change selection - Return to select              ",FNAttr(0,7))
  33.  WHILE NOT done
  34.    CALL Makehmenu(mitem$(),subitem$,mitemcount,mcurntpos,mstartpos,mhlattr,mflattr,mflon,mmenuspaces,mbarloc)
  35.    SELECT CASE mcurntpos
  36.    CASE 1 : CALL Fdemo
  37.    CASE 2 : CALL Tdemo
  38.    CASE 3 : CALL Sdemo
  39.    CASE 4 : CALL Edemo
  40.    CASE 5 : CALL Hdemo
  41.    CASE ELSE
  42.      CALL Closewin
  43.      CLS
  44.      CALL Openwin(9,16,8,52,FNAttr(0,7),FNAttr(1,7),2,0,0,0)
  45.      CALL Printcwin(3,"T B W")
  46.      CALL Printcwin(4,"7.2")
  47.      DELAY(3)
  48.      CALL Closewin
  49.      done = -1
  50.    END SELECT
  51.  WEND
  52.  CALL Textattr(textattr)
  53.  CLS
  54.  END
  55.  
  56. SUB Initmenus
  57.  SHARED mitem$(),subitem$,mitemcount,mcurntpos,mstartpos,mhlattr,mflattr,mflon,mmenuspaces,mbarloc
  58.  SHARED sitem$(),sliveitem$,sitemcount,scurntpos,sstartpos,shlattr,sflattr,snoattr,sbartype,sflon
  59.  SHARED eitem$(),eliveitem$,eitemcount,ecurntpos,estartpos,ehlattr,eflattr,enoattr,ebartype,eflon
  60.  SHARED hitem$(),hliveitem$,hitemcount,hcurntpos,hstartpos,hhlattr,hflattr,hnoattr,hbartype,hflon
  61.  IF FNCurvideo = 7 THEN menunoattr = FNAttr(0,0) ELSE menunoattr = FNAttr(8,1)
  62.  mcurntpos = 0
  63.  mstartpos = 1
  64.  mitem$(1) = "Frames"
  65.  mitem$(2) = "Titles"
  66.  mitem$(3) = "Shadows"
  67.  mitem$(4) = "Effects"
  68.  mitem$(5) = "Menus"
  69.  mitem$(6) = "Quit"
  70.  mitemcount = 6
  71.  mhlattr  = FNAttr(0,7)
  72.  mflattr  = FNAttr(15,1)
  73.  mflon = -1
  74.  mmenuspaces = 6
  75.  mbarloc = 1
  76.  subitem$ ="001110"
  77.  sliveitem$ = "11011011"
  78.  scurntpos = 0
  79.  sstartpos = 1
  80.  sitem$(1) = "Flat         (   0)"
  81.  sitem$(2) = "Reattribute  (1, 2)"
  82.  sitem$(3) = "Solid        (3, 4)"
  83.  sitem$(4) = "Light Hatch  (5, 6)"
  84.  sitem$(5) = "Medium Hatch (7, 8)"
  85.  sitem$(6) = "Heavy Hatch  (9,10)"
  86.  sitem$(7) = "Activate Items 3,6 "
  87.  sitem$(8) = "Deact. Items   3,6 "
  88.  sitemcount = 8
  89.  shlattr = FNAttr(0,7)
  90.  sflattr = FNAttr(15,1)
  91.  snoattr = menunoattr
  92.  sbartype = 1
  93.  sflon = -1
  94.  eliveitem$ = "11"
  95.  ecurntpos = 0
  96.  estartpos = 1
  97.  eitem$(1) = "Pop   "
  98.  eitem$(2) = "Zoom  "
  99.  eitemcount = 2
  100.  ehlattr = FNAttr(0,7)
  101.  eflattr = FNAttr(15,1)
  102.  enoattr = menunoattr
  103.  ebartype = 1
  104.  eflon = -1
  105.  hliveitem$ = "1111"
  106.  hcurntpos = 0
  107.  hstartpos = 1
  108.  hitem$(1) = "First Letter"
  109.  hitem$(2) = "Menu Bars   "
  110.  hitem$(3) = "Types       "
  111.  hitem$(4) = "General     "
  112.  hitemcount = 4
  113.  hhlattr = FNAttr(0,7)
  114.  hflattr = FNAttr(15,1)
  115.  hnoattr = menunoattr
  116.  hbartype = 1
  117.  hflon = -1
  118. END SUB
  119.  
  120. SUB Continue
  121.  CALL Sprintc(25,1,80,"             Press any key to continue...            ",FNAttr(14,7))
  122.  WHILE NOT INSTAT
  123.  WEND
  124.  CALL Sprintc(25,1,80,"Use arrow keys to change selection - Return to select",FNAttr(0,7))
  125.  a$ = INKEY$
  126. END SUB
  127.  
  128. SUB Fdemo
  129.  CALL Openwin(5,15,6,15,FNAttr(15,2),FNAttr(15,2),0,0,1,0)
  130.  CALL Titlewin(2,FNAttr(14,2),"[ Style 0 ]")
  131.  CALL Openwin(5,34,6,15,FNAttr(15,5),FNAttr(15,5),1,8,1,0)
  132.  CALL Titlewin(2,FNAttr(14,5),"[ Style 1 ]")
  133.  CALL Openwin(5,53,6,15,FNAttr(15,3),FNAttr(15,3),2,8,1,0)
  134.  CALL Titlewin(2,FNAttr(14,3),"[ Style 2 ]")
  135.  CALL Openwin(8,5,6,15,FNAttr(15,4),FNAttr(15,4),3,8,1,0)
  136.  CALL Titlewin(2,FNAttr(14,4),"[ Style 3 ]")
  137.  CALL Openwin(8,24,6,15,FNAttr(15,3),FNAttr(15,3),4,8,1,0)
  138.  CALL Titlewin(2,FNAttr(14,3),"[ Style 4 ]")
  139.  CALL Openwin(8,43,6,15,FNAttr(15,6),FNAttr(15,6),5,8,1,0)
  140.  CALL Titlewin(2,FNAttr(14,6),"[ Style 5 ]")
  141.  CALL Openwin(8,62,6,15,FNAttr(15,5),FNAttr(15,5),6,8,1,0)
  142.  CALL Titlewin(2,FNAttr(14,5),"[ Style 6 ]")
  143.  CALL Openwin(11,15,6,15,FNAttr(15,2),FNAttr(15,2),7,8,1,0)
  144.  CALL Titlewin(2,FNAttr(14,2),"[ Style 7 ]")
  145.  CALL Openwin(11,34,6,15,FNAttr(15,7),FNAttr(15,7),8,8,1,0)
  146.  CALL Titlewin(2,FNAttr(14,7),"[ Style 8 ]")
  147.  CALL Openwin(11,53,6,15,FNAttr(15,4),FNAttr(15,4),9,8,1,0)
  148.  CALL Titlewin(2,FNAttr(14,4),"[ Style 9 ]")
  149.  CALL Openwin(14,5,6,15,FNAttr(15,7),FNAttr(15,7),10,8,1,0)
  150.  CALL Titlewin(2,FNAttr(14,7),"[ Style 10]")
  151.  CALL Openwin(14,24,6,15,FNAttr(15,6),FNAttr(15,6),11,8,1,0)
  152.  CALL Titlewin(2,FNAttr(14,6),"[ Style 11]")
  153.  CALL Openwin(14,43,6,15,FNAttr(15,5),FNAttr(15,5),12,8,1,0)
  154.  CALL Titlewin(2,FNAttr(14,5),"[ Style 12]")
  155.  CALL Openwin(14,62,6,15,FNAttr(15,2),FNAttr(15,2),13,8,1,0)
  156.  CALL Titlewin(2,FNAttr(14,2),"[ Style 13]")
  157.  CALL Openwin(17,15,6,15,FNAttr(15,3),FNAttr(15,3),14,8,1,0)
  158.  CALL Titlewin(2,FNAttr(14,3),"[ Style 14]")
  159.  CALL Openwin(17,34,6,15,FNAttr(15,2),FNAttr(15,2),15,8,1,0)
  160.  CALL Titlewin(2,FNAttr(14,2),"[ Style 15]")
  161.  CALL Openwin(17,53,6,15,FNAttr(15,7),FNAttr(15,7),16,8,1,0)
  162.  CALL Titlewin(2,FNAttr(14,7),"[ Style 16]")
  163.  CALL Continue
  164.  FOR x = 1 TO 17
  165.    CALL Closewin
  166.  NEXT
  167.  
  168. END SUB
  169.  
  170. SUB Tdemo
  171.  CALL Openwin(8,8,10,68,FNAttr(15,5),FNAttr(15,5),2,0,1,0)
  172.  CALL Printcwin(3,"Titles may be placed in any of six different locations")
  173.  CALL Printcwin(4,"and in any color attribute!")
  174.  FOR x=1 TO 6
  175.    msg$ = STR$(x)
  176.    msg$ = "[ LOCATION "+msg$+" ]"
  177.    CALL Titlewin(x,FNAttr(9+x,5),msg$)
  178.    DELAY(1)
  179.  NEXT
  180.  CALL Continue
  181.  CALL Closewin
  182. END SUB
  183.  
  184. SUB Sdemo
  185.  SHARED sitem$(),sliveitem$,sitemcount,scurntpos,sstartpos,shlattr,sflattr,snoattr,sbartype,sflon
  186.  CALL Openwin(3,30,10,25,FNAttr(7,1),FNAttr(15,1),10,8,1,0)
  187.  done = 0
  188.  WHILE NOT done
  189.    CALL Makevmenu(sitem$(),sliveitem$,sitemcount,scurntpos,sstartpos,shlattr,sflattr,snoattr,sbartype,sflon)
  190.    SELECT CASE scurntpos
  191.    CASE 1
  192.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  193.      CALL Titlewin(2,FNAttr(15,5)," FLAT ")
  194.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),1,0,0,0)
  195.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),1,0,0,0)
  196.      CALL Continue
  197.      CALL Closewin
  198.      CALL Closewin
  199.      CALL Closewin
  200.    CASE 2
  201.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  202.      CALL Titlewin(2,FNAttr(15,5)," REATTRIBUTE ")
  203.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),2,8,1,0)
  204.      CALL Printcwin(7,"Left Shadow")
  205.      DELAY(2)
  206.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),2,8,2,0)
  207.      CALL Printcwin(7,"Right Shadow")
  208.      CALL Continue
  209.      CALL Closewin
  210.      CALL Closewin
  211.      CALL Closewin
  212.    CASE 3
  213.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  214.      CALL Titlewin(2,FNAttr(15,5)," SOLID ")
  215.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),2,0,3,0)
  216.      CALL Printcwin(7,"Left Shadow")
  217.      DELAY(2)
  218.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),2,0,4,0)
  219.      CALL Printcwin(7,"Right Shadow")
  220.      CALL Continue
  221.      CALL Closewin
  222.      CALL Closewin
  223.      CALL Closewin
  224.    CASE 4
  225.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  226.      CALL Titlewin(2,FNAttr(15,5)," LT. HATCH ")
  227.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),2,FNAttr(0,7),5,0)
  228.      CALL Printcwin(7,"Left Shadow")
  229.      DELAY(2)
  230.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),2,FNAttr(0,7),6,0)
  231.      CALL Printcwin(7,"Right Shadow")
  232.      CALL Continue
  233.      CALL Closewin
  234.      CALL Closewin
  235.      CALL Closewin
  236.    CASE 5
  237.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  238.      CALL Titlewin(2,FNAttr(15,5)," MED. HATCH ")
  239.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),2,FNAttr(0,7),7,0)
  240.      CALL Printcwin(7,"Left Shadow")
  241.      DELAY(2)
  242.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),2,FNAttr(0,7),8,0)
  243.      CALL Printcwin(7,"Right Shadow")
  244.      CALL Continue
  245.      CALL Closewin
  246.      CALL Closewin
  247.      CALL Closewin
  248.    CASE 6
  249.      CALL Openwin(10,4,7,74,FNAttr(15,5),FNAttr(15,5),2,0,0,0)
  250.      CALL Titlewin(2,FNAttr(15,5)," HEAVY HATCH ")
  251.      CALL Openwin(11,8,10,30,FNAttr(15,3),FNAttr(0,3),2,FNAttr(0,7),9,0)
  252.      CALL Printcwin(7,"Left Shadow")
  253.      DELAY(2)
  254.      CALL Openwin(11,43,10,30,FNAttr(15,7),FNAttr(1,7),2,FNAttr(0,7),10,0)
  255.      CALL Printcwin(7,"Right Shadow")
  256.      CALL Continue
  257.      CALL Closewin
  258.      CALL Closewin
  259.      CALL Closewin
  260.    CASE 7
  261.      MID$(sliveitem$,3) = "1"
  262.      MID$(sliveitem$,6) = "1"
  263.    CASE 8
  264.      MID$(sliveitem$,3) = "0"
  265.      MID$(sliveitem$,6) = "0"
  266.    CASE ELSE
  267.      CALL Closewin
  268.      done = -1
  269.    END SELECT
  270.  WEND
  271.  done = 0
  272. END SUB
  273.  
  274. SUB Edemo
  275.  SHARED eitem$(),eliveitem$,eitemcount,ecurntpos,estartpos,ehlattr,eflattr,enoattr,ebartype,eflon
  276.  CALL Openwin(3,43,4,12,FNAttr(7,1),FNAttr(15,1),10,8,1,0)
  277.  done = 0
  278.  WHILE NOT done
  279.    CALL Makevmenu(eitem$(),eliveitem$,eitemcount,ecurntpos,estartpos,ehlattr,eflattr,enoattr,ebartype,eflon)
  280.    SELECT CASE ecurntpos
  281.    CASE 1
  282.      CALL Openwin(8,8,10,65,FNAttr(15,5),FNAttr(15,5),2,0,1,0)
  283.      CALL Printcwin(3,"Windows can be popped")
  284.      CALL Printcwin(4,"onto the screen.")
  285.      DELAY(2)
  286.      CALL Openwin(5,5,10,50,FNAttr(0,2),FNAttr(14,2),2,8,1,0)
  287.      DELAY(2)
  288.      CALL Openwin(13,15,10,60,FNAttr(1,3),FNAttr(15,3),3,8,1,0)
  289.      DELAY(2)
  290.      CALL Openwin(7,33,10,45,FNAttr(14,5),FNAttr(14,5),1,8,1,0)
  291.      CALL Continue
  292.      FOR x = 1 TO 4
  293.        CALL Closewin
  294.      NEXT
  295.    CASE 2
  296.      CALL Openwin(8,8,10,65,FNAttr(15,5),FNAttr(15,5),2,0,1,0)
  297.      CALL Printcwin(3,"Windows can be zoomed")
  298.      CALL Printcwin(4,"onto the screen.")
  299.      DELAY(2)
  300.      CALL Openwin(5,5,10,50,FNAttr(0,2),FNAttr(14,2),2,8,1,1)
  301.      DELAY(2)
  302.      CALL Openwin(13,15,10,60,FNAttr(1,3),FNAttr(15,3),3,8,1,1)
  303.      DELAY(2)
  304.      CALL Openwin(7,33,10,45,FNAttr(14,5),FNAttr(14,5),1,8,1,1)
  305.      DELAY(2)
  306.      CALL Openwin(7,20,12,40,FNAttr(15,4),FNAttr(14,4),2,8,1,1)
  307.      CALL Printcwin(5,"HOW ABOUT THAT !!!")
  308.      CALL Continue
  309.      FOR x = 1 TO 5
  310.        CALL Closewin
  311.      NEXT
  312.    CASE ELSE
  313.      CALL Closewin
  314.      done = -1
  315.    END SELECT
  316.  WEND
  317.  done = 0
  318. END SUB
  319.  
  320. SUB Flhelp
  321.  CALL Openwin(12,13,7,55,FNAttr(1,7),FNAttr(1,7),2,0,1,1)
  322.  CALL Titlewin(2,FNAttr(15,7),"[ FIRST LETTER ]")
  323.  CALL Printwin(1,2,"To activate First Letter control you must set two")
  324.  CALL Printwin(2,2,"variables.  FLOn must be set to -1 and you can")
  325.  CALL Printwin(3,2,"set FLAttr to the desired color you wish.  Thats")
  326.  CALL Printwin(4,2,"all there is to it.  Just be sure all strings begin")
  327.  CALL Printwin(5,2,"with a different letter.")
  328.  CALL Continue
  329.  CALL Closewin
  330. END SUB
  331.  
  332. SUB Barhelp
  333.  CALL Openwin(12,13,7,55,FNAttr(1,7),FNAttr(1,7),2,0,1,1)
  334.  CALL Titlewin(2,FNAttr(15,7),"[ MENUBARS ]")
  335.  CALL Printwin(1,2,"There are currently four menu bar types:")
  336.  CALL Printwin(2,2,"  0 - No visible bar    1 - Full width bar")
  337.  CALL Printwin(3,2,"  2 - String width bar  3 - Pointer")
  338.  CALL Printwin(4,2,"You control what type is active by setting BarType")
  339.  CALL Printwin(5,2,"equal to the type desired.")
  340.  CALL Continue
  341.  CALL Closewin
  342. END SUB
  343.  
  344. SUB Typehelp
  345.  CALL Openwin(12,13,7,55,FNAttr(1,7),FNAttr(1,7),2,0,1,1)
  346.  CALL Titlewin(2,FNAttr(15,7),"[ MENUTYPES ]")
  347.  CALL Printwin(1,2,"There are currently two menu types:")
  348.  CALL Printwin(2,2,"  1 - Standard Vertical Menu (Makevmenu)")
  349.  CALL Printwin(3,2,"  2 - Horizontal Menu        (Makehmenu)")
  350.  CALL Continue
  351.  CALL Closewin
  352. END SUB
  353.  
  354. SUB Generalhelp
  355.  CALL Openwin(12,13,7,55,FNAttr(1,7),FNAttr(1,7),2,0,1,1)
  356.  CALL Titlewin(2,FNAttr(15,7),"[ GENERAL ]")
  357.  CALL Printwin(1,2,"Remember MakeMenu is only a sub executed in a")
  358.  CALL Printwin(2,2,"predefined window so all window effects can be used")
  359.  CALL Printwin(3,2,"to enhance your menu.  Including border and shadow,")
  360.  CALL Printwin(4,2,"as well as growing and all various color attribute")
  361.  CALL Printwin(5,2,"combinations.  The choices are almost endless!")
  362.  CALL Continue
  363.  CALL Closewin
  364. END SUB
  365.  
  366. SUB Hdemo
  367.  SHARED hitem$(),hliveitem$,hitemcount,hcurntpos,hstartpos,hhlattr,hflattr,hnoattr,hbartype,hflon
  368.  CALL Openwin(3,57,6,16,FNAttr(7,1),FNAttr(15,1),10,8,1,0)
  369.  done = 0
  370.  WHILE NOT done
  371.    CALL Makevmenu(hitem$(),hliveitem$,hitemcount,hcurntpos,hstartpos,hhlattr,hflattr,hnoattr,hbartype,hflon)
  372.    SELECT CASE hcurntpos
  373.    CASE 1 : CALL Flhelp
  374.    CASE 2 : CALL Barhelp
  375.    CASE 3 : CALL Typehelp
  376.    CASE 4 : CALL Generalhelp
  377.    CASE ELSE
  378.      CALL Closewin
  379.      done = -1
  380.    END SELECT
  381.  WEND
  382.  done = 0
  383. END SUB
  384.