home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / QBAS / WNDTOOL5.ZIP / DEMO1.BAS < prev    next >
BASIC Source File  |  1989-07-04  |  12KB  |  420 lines

  1. 'DEMO OF BASWIND5 MODULES AND BWTOOLS
  2. '
  3. '  MODULE : DEMO1.BAS
  4. '
  5. '  BY : James P. Morgan, 5226 Via Hacienda #115 Orlando FL, 32809
  6. '
  7. '                Version 5.0, July 4, 1989
  8. '
  9.        CLOSE
  10.        CLEAR
  11. '      SCREEN 0,0,0
  12.        WIDTH 80
  13.        KEY OFF
  14.        COLOR 7,1
  15.        CLS
  16.  
  17.        DIM SCRN%(6000)
  18.  
  19. 'PUT UP OPENING SCREEN
  20. '4 WINDOWS OF DIFFERENT COLORS AND A TITLE WINDOW
  21.  
  22.        CALL MAKEWIND(5,15,13,45,4,4,3,0,1,"")
  23.        SECONDS!=1.0
  24.        CALL WAITTIME(SECONDS!)
  25.        CALL MAKEWIND(4,36,15,75,3,15,2,0,1,"")
  26.        SECONDS!=1.0
  27.        CALL WAITTIME(SECONDS!)
  28.        CALL MAKEWIND(10,10,21,50,2,0,5,0,1,"")
  29.        SECONDS!=1.0
  30.        CALL WAITTIME(SECONDS!)
  31.        CALL MAKEWIND(13,42,22,78,1,3,12,0,1,"")
  32.        SECONDS!=1.0
  33.        CALL WAITTIME(SECONDS!)
  34.  
  35.        CALL MAKEWIND(9,20,14,60,2,0,7,0,1,"")
  36.  
  37.        COLOR 0,7
  38.        LOCATE 11,35
  39.        PRINT"PRESENTING...";
  40.  
  41.        SECONDS!=5.0
  42.        CALL WAITTIME(SECONDS!)
  43.  
  44.        CALL MAKEWIND(9,20,14,60,0,0,7,0,0,"")
  45.        CALL MAKEWIND(9,20,14,60,2,0,7,1,0,"")
  46.  
  47.        LOCATE 10,33:PRINT"B A S W I N D 5"
  48.        LOCATE 12,26:PRINT"   Windowing Routines for the"
  49.        LOCATE 13,26:PRINT"Microsoft QuickBASIC 4 Compiler"
  50.  
  51.        SECONDS!=8.0
  52.        CALL WAITTIME(SECONDS!)
  53.  
  54.        CALL MAKEWIND(13,50,20,75,1,0,6,0,1,"")
  55.  
  56.        COLOR 0,6
  57.        LOCATE 14,61:PRINT "By"
  58.        LOCATE 15,56:PRINT "James P. Morgan"
  59.        LOCATE 16,52:PRINT "5226 Via Hacienda #115"
  60.        LOCATE 17,55:PRINT "Orlando FL, 32809"
  61.        LOCATE 19,53:PRINT "based on PD works by"
  62.        LOCATE 20,59:PRINT "Dave Evers"
  63.  
  64.        SECONDS!=10.0
  65.        CALL WAITTIME(SECONDS!)
  66.  
  67.        CALL MAKEWIND(8,25,15,55,2,7,1,1,0,"")
  68.  
  69.        COLOR 15,1
  70.        LOCATE  8,35:PRINT "Including ..."
  71.        LOCATE 10,30:PRINT "*** Window Tools ***"
  72.        LOCATE 12,28:PRINT "A collection of routines"
  73.        LOCATE 13,28:PRINT "for integration into your"
  74.        LOCATE 14,28:PRINT "own programs.
  75.  
  76.        SECONDS!=8.0
  77.        CALL WAITTIME(SECONDS!)
  78.  
  79.        CALL MAKEWIND(8,25,15,55,2,7,1,0,0,"")
  80.  
  81.        LOCATE 8,25:PRINT  "   * * * * * * * * * * * * * "
  82.        LOCATE 10,28:PRINT "Stand by for a guided tour"
  83.        LOCATE 12,28:PRINT "through the many facets of"
  84.        LOCATE 14,28:PRINT "this exciting program."
  85.  
  86.        SECONDS!=5.0
  87.        CALL WAITTIME(SECONDS!)
  88.  
  89.        CLS
  90.  
  91.        CALL MAKEWIND(9,15,16,65,2,0,7,0,1,"")
  92.  
  93.        COLOR 0,7
  94.  
  95.        LOCATE 10,18:PRINT "The basic  purpose of BASWIND5 is to provide"
  96.        LOCATE 11,18:PRINT "the  fundamental  routines for  implementing"
  97.        LOCATE 12,18:PRINT "simple 'windowing' into your QuickBASIC pro-"
  98.        LOCATE 13,18:PRINT "grams and providing MS Mouse support also.  "
  99.        LOCATE 14,18:PRINT " With just a few simple statements, you can "
  100.        LOCATE 15,18:PRINT "'pop-up' a colored  window onto the screen.."
  101.  
  102.        SECONDS!=15.0
  103.        CALL WAITTIME(SECONDS!)
  104.  
  105.        CALL MAKEWIND(3,50,8,79,1,15,4,0,0,"")
  106.  
  107.        SECONDS!=4.0
  108.        CALL WAITTIME(SECONDS!)
  109.  
  110.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  111.  
  112.        LOCATE 12,18:PRINT"The window can be a solid panel of any of
  113.        LOCATE 14,18:PRINT"the BASIC background colors; such as ..."
  114.  
  115.        SECONDS!=4.0
  116.        CALL WAITTIME(SECONDS!)
  117.  
  118.        CALL MAKEWIND(2,3,8,35,0,1,2,0,0,"")
  119.  
  120.        SECONDS!=4.0
  121.        CALL WAITTIME(SECONDS!)
  122.  
  123.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  124.  
  125.        LOCATE 12,18:PRINT"or it can be surrounded by a 'frame' in any"
  126.        LOCATE 13,18:PRINT"of four styles..."
  127.  
  128.        SECONDS!=4.0
  129.        CALL WAITTIME(SECONDS!)
  130.  
  131.        CALL MAKEWIND(5,6,11,37,1,9,5,0,0,"Frame Style 1")
  132.        CALL MAKEWIND(8,9,14,40,2,12,3,0,0,"Frame Style 2")
  133.        CALL MAKEWIND(11,12,17,43,3,15,4,0,0,"Frame Style 3")
  134.        CALL MAKEWIND(14,15,20,46,4,0,6,0,0,"Frame Style 4")
  135.  
  136.        SECONDS!=4.0
  137.        CALL WAITTIME(SECONDS!)
  138.  
  139.        COLOR 7,1
  140.        CLS
  141.        CALL MAKEWIND(9,15,16,65,2,0,7,0,1,"")
  142.  
  143.        COLOR 0,7
  144.        LOCATE 10,18:PRINT "The frame itself can be in any one of the"
  145.        LOCATE 11,18:PRINT "BASIC foreground colors. It can even blink"
  146.        LOCATE 12,18:PRINT "if you want..."
  147.  
  148.        SECONDS!=5.0
  149.        CALL WAITTIME(SECONDS!)
  150.  
  151.        FOR I=0 TO 15
  152.            CLR%=I
  153.            LABEL$="Color:"+STR$(I)
  154.            CALL MAKEWIND(15,10,23,45,4,CLR%,5,0,0,LABEL$)
  155.            SECONDS!=.5
  156.            CALL WAITTIME(SECONDS!)
  157.        NEXT
  158.  
  159.        FOR I=0 TO 15
  160.            CLR%=I+128                            'ADD 128 FOR BLINKING FRAMES
  161.            LABEL$="Color:"+STR$(I+128)
  162.            CALL MAKEWIND(15,10,23,45,4,CLR%,5,0,0,LABEL$)
  163.            SECONDS!=1.0
  164.            CALL WAITTIME(SECONDS!)
  165.        NEXT
  166.  
  167.        COLOR 7,1
  168.        CLS
  169.  
  170.        CALL MAKEWIND(9,15,16,65,2,0,7,0,1,"")
  171.        COLOR 0,7
  172.        LOCATE 14,18:PRINT "The window itself can be presented in many"
  173.        LOCATE 15,18:PRINT "different ways. It can be flat..."
  174.  
  175.        SECONDS!=4.0
  176.        CALL WAITTIME(SECONDS!)
  177.  
  178.        CALL MAKEWIND(2,2,11,32,1,15,4,0,0,"")
  179.  
  180.        SECONDS!=4.0
  181.        CALL WAITTIME(SECONDS!)
  182.  
  183.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  184.        LOCATE 12,20:print "or it can have a 'true' shadow underneath"
  185.        LOCATE 13,20:print "   giving a three-dimensional effect...  "
  186.  
  187.        SECONDS!=5.0
  188.        CALL WAITTIME(SECONDS!)
  189.  
  190.        CALL MAKEWIND(2,35,11,55,2,15,5,0,1,"")
  191.  
  192.        SECONDS!=10.0
  193.        CALL WAITTIME(SECONDS!)
  194.  
  195.        COLOR 7,1
  196.        CLS
  197.        COLOR 0,7
  198.  
  199.        CALL MAKEWIND(9,15,16,65,2,0,7,0,1,"")
  200.        LOCATE 12,18:PRINT "For a particularly dramatic effect, the window"
  201.        LOCATE 13,18:PRINT "can 'grow' onto the screen..."
  202.  
  203.        SECONDS!=3.0
  204.        CALL WAITTIME(SECONDS!)
  205.  
  206.        CALL MAKEWIND(8,10,17,70,2,15,4,1,0,"")
  207.  
  208.        COLOR 15,1
  209.        LOCATE 12,37
  210.        PRINT "W O W !!!
  211.  
  212.        SECONDS!=3.0
  213.        CALL WAITTIME(SECONDS!)
  214.  
  215.  
  216.        CALL MAKEWIND(9,15,16,65,2,0,7,0,1,"")
  217.  
  218.        COLOR 0,7
  219.        LOCATE 10,18:PRINT "Once you have your window on the screen, simply"
  220.        LOCATE 11,18:PRINT "use LOCATE, COLOR,  and PRINT statements to put"
  221.        LOCATE 12,18:PRINT "text in them. Another call with the same param-"
  222.        LOCATE 13,18:PRINT "eters as the first ...
  223.  
  224.        SECONDS!=10.0
  225.        CALL WAITTIME(SECONDS!)
  226.  
  227.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  228.  
  229.        LOCATE 10,18:PRINT "will erase the window for new text. But suppose"
  230.        LOCATE 11,18:PRINT "that instead of clearing the window,  you would"
  231.        LOCATE 12,18:PRINT "rather SCROLL the data inside either up or down,"
  232.        LOCATE 13,18:PRINT "and put a new line of text on either the top or"
  233.        LOCATE 14,18:PRINT "bottom line; as the case might be..."
  234.  
  235.        SECONDS!=10.0
  236.        CALL WAITTIME(SECONDS!)
  237.  
  238.        CALL SCROLL(9,15,16,65,1,1,"   NEVER FEAR . . .  ")
  239.  
  240.        SECONDS!=1.0
  241.        CALL WAITTIME(SECONDS!)
  242.  
  243.        CALL SCROLL(9,15,16,65,1,1,"")
  244.  
  245.        SECONDS!=1.0
  246.        CALL WAITTIME(SECONDS!)
  247.  
  248.        CALL SCROLL(9,15,16,65,1,1,"   The SCROLL routine will do just that!  You can")
  249.  
  250.        SECONDS!=1.0
  251.        CALL WAITTIME(SECONDS!)
  252.  
  253.        CALL SCROLL(9,15,16,65,1,1,"   scroll lines of text  -  ")
  254.  
  255.        SECONDS!=1.0
  256.        CALL WAITTIME(SECONDS!)
  257.  
  258.        CALL SCROLL(9,15,16,65,1,1,"                            UP")
  259.  
  260.        SECONDS!=1.0
  261.        CALL WAITTIME(SECONDS!)
  262.  
  263.        CALL SCROLL(9,15,16,65,1,1,"                            UP")
  264.  
  265.        SECONDS!=1.0
  266.        CALL WAITTIME(SECONDS!)
  267.  
  268.        CALL SCROLL(9,15,16,65,1,1,"                            UP")
  269.  
  270.        SECONDS!=1.0
  271.        CALL WAITTIME(SECONDS!)
  272.  
  273.        CALL SCROLL(9,15,16,65,1,-1,"")
  274.  
  275.        SECONDS!=1.0
  276.        CALL WAITTIME(SECONDS!)
  277.  
  278.        CALL SCROLL(9,15,16,65,1,-1,"")
  279.  
  280.        SECONDS!=1.0
  281.        CALL WAITTIME(SECONDS!)
  282.  
  283.        CALL SCROLL(9,15,16,65,1,-1,"")
  284.  
  285.        SECONDS!=1.0
  286.        CALL WAITTIME(SECONDS!)
  287.  
  288.        CALL SCROLL(9,15,16,65,1,-1,"                      or  DOWN")
  289.  
  290.        SECONDS!=1.0
  291.        CALL WAITTIME(SECONDS!)
  292.  
  293.        CALL SCROLL(9,15,16,65,1,-1,"                          DOWN")
  294.  
  295.        SECONDS!=1.0
  296.        CALL WAITTIME(SECONDS!)
  297.  
  298.        CALL SCROLL(9,15,16,65,1,-1,"                          DOWN")
  299.  
  300.        SECONDS!=2.0
  301.        CALL WAITTIME(SECONDS!)
  302.  
  303.        CALL MAKEWIND(9,15,16,65,2,0,7,1,0,"")
  304.  
  305.        LOCATE 10,18:PRINT "just as easily as you can create the window!"
  306.        LOCATE 11,18:PRINT "In fact, all of the commands of BASWIND5 are"
  307.        LOCATE 12,18:PRINT "very  easy to use.  Here is a call to create"
  308.        LOCATE 13,18:PRINT "this window ..."
  309.        LOCATE 15,18:PRINT "   CALL MAKEWIND(9,15,16,65,2,0,7,0,1,'')"
  310.  
  311.        SECONDS!=10.0
  312.        CALL WAITTIME(SECONDS!)
  313.  
  314.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  315.  
  316.        LOCATE 11,18:PRINT "And this is the call used to perform the SCROLL"
  317.        LOCATE 12,18:PRINT "operation ..."
  318.        LOCATE 14,18:PRINT "       CALL SCROLL(9,15,16,65,1,1,'')
  319.  
  320.        SECONDS!=5.0
  321.        CALL WAITTIME(SECONDS!)
  322.  
  323. HERE:
  324.        CLEAR
  325.  
  326.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  327.  
  328.        LOCATE 10,18:PRINT "An even simpler command allows you to save the"
  329.        LOCATE 11,18:PRINT "contents of the screen  into an integer array;"
  330.        LOCATE 12,18:PRINT "so that  you can place a window  on the screen"
  331.        LOCATE 13,18:PRINT "and then quickly remove it; leaving the under-"
  332.        LOCATE 14,18:PRINT "lying  information as it was.  Here is  a good"
  333.        LOCATE 15,18:PRINT "example . . ."
  334.        WHERE%=VARPTR(SCRN%(0))
  335.  
  336.        CALL SAVESCRN(1,WHERE%)
  337.  
  338.        SECONDS!=10.0
  339.        CALL WAITTIME(SECONDS!)
  340.  
  341.        CALL MAKEWIND(4,4,13,42,4,0,2,0,1,"")
  342.        LOCATE 9,10
  343.        COLOR 0,2
  344.        PRINT "This is the first level ..."
  345.  
  346.        SECONDS!=3.0
  347.        CALL WAITTIME(SECONDS!)
  348.  
  349.        WHERE%=VARPTR(SCRN%(2000))
  350.  
  351.        CALL SAVESCRN(1,WHERE%)
  352.  
  353.        CALL MAKEWIND(7,30,18,79,4,15,4,0,1,"")
  354.  
  355.        LOCATE 12,40
  356.        COLOR 15,4
  357.        PRINT "This is the second level ..."
  358.  
  359.        SECONDS!=3.0
  360.        CALL WAITTIME(SECONDS!)
  361.  
  362.        WHERE%=VARPTR(SCRN%(4000))
  363.  
  364.        CALL SAVESCRN(1,WHERE%)
  365.  
  366.        CALL  MAKEWIND(10,25,22,55,4,12,3,0,1,"")
  367.  
  368.        LOCATE 16,27
  369.        COLOR 12,0
  370.        PRINT "This is the third level ..."
  371.  
  372.        SECONDS!=3.0
  373.        CALL WAITTIME(SECONDS!)
  374.  
  375.        LOCATE 16,27
  376.        PRINT "Now to go back ...           "
  377.  
  378.        SECONDS!=2.0
  379.        CALL WAITTIME(SECONDS!)
  380.  
  381.        WHERE%=VARPTR(SCRN%(4000))
  382.  
  383.        CALL RESTSCRN(1,WHERE%)
  384.  
  385.        SECONDS!=1.0
  386.        CALL WAITTIME(SECONDS!)
  387.  
  388.        WHERE%=VARPTR(SCRN%(2000))
  389.  
  390.        CALL RESTSCRN(1,WHERE%)
  391.  
  392.        SECONDS!=1.0
  393.        CALL WAITTIME(SECONDS!)
  394.  
  395.        WHERE%=VARPTR(SCRN%(0))
  396.  
  397.        CALL RESTSCRN(1,WHERE%)
  398.  
  399.        SECONDS!=3.0
  400.        CALL WAITTIME(SECONDS!)
  401.  
  402.        CALL MAKEWIND(9,15,16,65,2,0,7,0,0,"")
  403.  
  404.  
  405.        COLOR 0,7
  406.        LOCATE  9,18:PRINT "The basic routines in the  BASWIND5  package"
  407.        LOCATE 10,18:PRINT "give you all you  need to create some power-"
  408.        LOCATE 11,18:PRINT "ful 'toolbox' modules to integrate into your"
  409.        LOCATE 12,18:PRINT "programs and NOW with MS Mouse support also."
  410.        LOCATE 14,18:PRINT "  To see what more awaits you, just run the  "
  411.        LOCATE 15,18:PRINT " DEMO2 program, and have your mouse ready !! "
  412.  
  413.        SECONDS!=12.0
  414.        CALL WAITTIME(SECONDS!)
  415.  
  416.        LOCATE 25,1
  417.  
  418. '      END
  419. '==============================================================================
  420.