home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / miscutil.zip / TBWINDOW.ZIP / DEMO20.BAS < prev    next >
BASIC Source File  |  1987-07-27  |  10KB  |  318 lines

  1. 'Demonstration of TBWINDO
  2. $INCLUDE "TBWINDO.INC"
  3. key off
  4. ':color 7,1:cls
  5.  
  6. 'Dimension array for screen saving
  7. dim scrn%(6000)
  8. 'Tell TBWINDO whether to check for snow or not
  9. SNOCHK%=1  '0=YES 1=NO
  10. 'Put up opening screen
  11. '4 windows of different colors and a Title Window
  12. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  13. call makewindow(4,15,10,30,fnattr%(4,3),4,1,0)
  14. call makewindow(3,36,13,40,fnattr%(15,2),3,1,0)
  15. call makewindow(9,10,13,40,fnattr%(0,5),2,1,0)
  16. call makewindow(12,42,11,36,fnattr%(3,4),1,1,0)
  17.  
  18. call makewindow(8,20,7,40,fnattr%(0,7),2,1,0)
  19.  
  20. color 0,7:locate 11,35:print"Presenting...";
  21. delay 4
  22.  
  23. call makewindow(8,20,7,40,fnattr%(0,7),2,1,0)
  24. locate  9,26:print"      T B W I N D O"
  25. locate 10,26:print"           2.0
  26. locate 12,26:print" Windowing Routines for the"
  27. locate 13,26:print"Borland Turbo BASIC Compiler"
  28.  
  29. delay 3
  30.  
  31. call makewindow(17,55,7,24,fnattr%(0,6),1,1,0)
  32. color 0,6
  33. locate 18,57:print "By:"
  34. locate 20,57:print "  Rick Fothergill"
  35. locate 21,57:print " 141 Oak Hill Road"
  36. locate 22,57:print "Pittsfield, MA 01201"
  37.  
  38.  
  39. delay 4
  40.  
  41. call makewindow(8,25,10,32,fnattr%(7,1),2,0,1)
  42.  
  43. color 15,1
  44. locate 9,35:print "Including ..."
  45. locate 11,30:print "*** Window Tools ***"
  46. locate 13,28:print "A collection of routines"
  47. locate 14,28:print "for integration into your"
  48. locate 15,28:print "own programs.
  49.  
  50. delay 4
  51.  
  52. call makewindow(8,25,10,32,fnattr%(7,1),2,0,0)
  53.  
  54. locate 9,28:print  " * * * * * * * * * * * * * "
  55. locate 11,28:print "Stand by for a guided tour"
  56. locate 13,28:print "through the many facets of"
  57. locate 15,28:print "this exciting program."
  58. call recolor(fnattr%(15,1),fnattr%(13,1),snochk%)
  59. for a% = 0 to 14
  60. for b% = 0 to 7
  61. call recolor(fnattr%(a%,b%),fnattr%(a%+1,b%),snochk%)
  62. next b%
  63. next a%
  64.  
  65.  
  66.  
  67. delay 3
  68.  
  69. 'cls
  70. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  71. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  72.  
  73. color 0,7
  74.  
  75. locate 10,18:print "The basic  purpose of TBWINDO is to provide"
  76. locate 11,18:print "the  fundamental  routines for  implementing"
  77. locate 12,18:print "simple 'windowing' into your Turbo BASIC pro-"
  78. locate 13,18:print "grams.   With  just a few simple statements,"
  79. locate 14,18:print "you can 'pop-up'  a colored  window onto the"
  80. locate 15,18:print "screen; just like this ..."
  81.  
  82. delay 3
  83.  
  84. call makewindow(1,47,7,30,fnattr%(15,4),1,0,0)
  85.  
  86. delay 3
  87.  
  88. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  89.  
  90. locate 12,18:print"The window can be a solid panel of any of
  91. locate 14,18:print"the BASIC background colors; such as ..."
  92.  
  93. delay 4
  94.  
  95. call makewindow(1,2,7,35,fnattr%(1,2),0,0,0)
  96.  
  97. delay 3
  98.  
  99. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  100.  
  101. locate 12,18:print"or it can be surrounded by a 'frame' in any"
  102. locate 13,18:print"of four styles..."
  103.  
  104. delay 3
  105.  
  106. call makewindow(5,5,8,35,fnattr%(9,5),1,0,0)
  107. call titlewindow(1,"[ Frame Style 1 ]")
  108. call makewindow(8,8,8,35,fnattr%(12,3),2,0,0)
  109. call titlewindow(2,"[ Frame Style 2 ]")
  110. call makewindow(11,11,8,35,fnattr%(15,4),3,0,0)
  111. call titlewindow(3,"[ Frame Style 3 ]")
  112. call makewindow(14,14,8,35,fnattr%(0,6),4,0,0)
  113. call titlewindow(1,"[ Frame Style 4 ]")
  114.  
  115. delay 4
  116.  
  117. color 7,1
  118. 'cls
  119. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  120. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  121.  
  122. color 0,7
  123. locate 10,18:print "The frame itself can be in any one of the"
  124. locate 11,18:print "BASIC foreground colors. It can even blink"
  125. locate 12,18:print "if you want..."
  126.  
  127. delay 3
  128. for i=0 to 15
  129.   clr%=i
  130.   label$="[ Color:"+str$(i)+" ]"
  131.  
  132.   call makewindow(14,10,11,35,fnattr%(clr%,5),4,0,0)
  133.   call titlewindow(2,label$)
  134.   delay 1
  135. next i
  136. call makewindow(14,10,11,35,fnattr%(31,5),4,0,0)
  137. call titlewindow(2,"[ Color: 31 ]")
  138.  
  139. delay 4
  140.  
  141. color 7,1
  142. 'cls
  143. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  144. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  145. color 0,7
  146. locate 14,18:print "The window itself can be presented in many"
  147. locate 15,18:print "different ways. It can be flat..."
  148.  
  149. delay 3
  150.  
  151. call makewindow(1,2,11,30,fnattr%(15,4),1,0,0)
  152.  
  153. delay 3
  154.  
  155. call makewindow(9,16,8,52,fnattr%(0,7),2,0,0)
  156. locate 14,17:print "or it can have a black shadow underneath; giving"
  157. locate 15,17:print "a three-dimensional effect..."
  158. delay 3
  159. call makewindow(1,38,11,30,fnattr%(15,5),2,1,0)
  160.  
  161. delay 3
  162.  
  163. color 7,1
  164. 'cls
  165. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  166. color 0,7
  167.  
  168. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  169. locate 12,18:print "For a particularly dramatic effect, the window"
  170. locate 13,18:print "can 'grow' onto the screen..."
  171.  
  172. delay 3
  173. call makewindow(7,10,12,63,fnattr%(15,4),2,1,1)
  174. color 15,4
  175. locate 12,37:print "W O W !!!
  176. delay 3
  177.  
  178. color 0,7
  179. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  180. locate 10,18:print "Once you have your window on the screen, simply"
  181. locate 11,18:print "use LOCATE, COLOR,  and PRINT statements to put"
  182. locate 12,18:print "text in them. Another call with the same param-"
  183. locate 13,18:print "eters as the first ...
  184. delay 3
  185.  
  186. call makewindow(9,16,8,52,fnattr%(0,7),2,0,0)
  187. locate 10,18:print "will erase the window for new text. But suppose"
  188. locate 11,18:print "that instead of clearing the window,  you would"
  189. locate 12,18:print "rather SCROLL the data inside either up or down,"
  190. locate 13,18:print "and put a new line of text on either the top or"
  191. locate 14,18:print "bottom line; as the case might be..."
  192. delay 3
  193.  
  194. call scroll(10,17,14,66,1,6)
  195. locate 14,18:print"   NEVER FEAR . . .  "
  196. delay 1
  197. call scroll(10,17,14,66,1,6)
  198. delay 1
  199. call scroll(10,17,14,66,1,6)
  200. locate 14,18:print"   The SCROLL routine will do just that!  You can"
  201. delay 1
  202. call scroll(10,17,14,66,1,6)
  203. locate 14,18:print"   scroll lines of text  -  "
  204. delay 1
  205. call scroll(10,17,14,66,1,6)
  206. locate 14,18:print"                            UP"
  207. delay 1
  208. call scroll(10,17,14,66,1,6)
  209. locate 14,18:print"                            UP"
  210. delay 1
  211. call scroll(10,17,14,66,1,6)
  212. locate 14,18:print"                            UP"
  213. delay 1
  214. call scroll(10,17,14,66,1,7)
  215. delay 1
  216. call scroll(10,17,14,66,1,7)
  217. delay 1
  218. call scroll(10,17,14,66,1,7)
  219. delay 1
  220. call scroll(10,17,14,66,1,7)
  221. locate 10,18:print"                      or  DOWN"
  222. delay 1
  223. call scroll(10,17,14,66,1,7)
  224. locate 10,18:print"                          DOWN"
  225. delay 1
  226. call scroll(10,17,14,66,1,7)
  227. locate 10,18:print"                          DOWN"
  228. delay 1
  229.  
  230. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  231. locate 10,18:print "Just as easily as you can create the window!"
  232. locate 11,18:print "In fact, all of the commands of TBWINDO are"
  233. locate 12,18:print "very  easy to use.  Here is a call to create"
  234. locate 13,18:print "this window ..."
  235. locate 15,18:print "   CALL MAKEWINDOW(8,14,8,52,fnattr%(0,7),2,0,1)"
  236. delay 5
  237.  
  238. call makewindow(9,16,8,52,fnattr%(0,7),2,0,0)
  239. locate 11,18:print "And this is the call used to perform the SCROLL"
  240. locate 12,18:print "operation ..."
  241. locate 14,18:print "       CALL SCROLL(9,15,16,65,1,6)
  242. delay 3
  243.  
  244. call makewindow(9,16,8,52,fnattr%(0,7),2,0,0)
  245. locate 10,18:print "An even simpler command allows you to save the"
  246. locate 11,18:print "contents of the screen  into an integer array;"
  247. locate 12,18:print "so that  you can place a window  on the screen"
  248. locate 13,18:print "and then quickly remove it; leaving the under-"
  249. locate 14,18:print "lying  information as it was.  Here is  a good"
  250. locate 15,18:print "example . . ."
  251. call savescrn(SNOCHK%,scrn%(0))
  252. delay 5
  253. call makewindow(3,5,15,45,fnattr%(0,2),4,1,1)
  254. locate 9,10:color 0,2:print "This is the first level ..."
  255. delay 2
  256. call savescrn(SNOCHK%,scrn%(2000))
  257. call makewindow(6,29,17,50,fnattr%(15,4),4,1,1)
  258. locate 12,40:color 15,4:print "This is the second level ..."
  259. delay 2
  260. call savescrn(SNOCHK%,scrn%(4000))
  261. call  makewindow(9,22,15,35,fnattr%(12,3),4,1,1)
  262. locate 16,24:color 12,0:print "This is the third level ..."
  263. delay 2
  264. locate 16,24:print "Now to go back ...           "
  265. delay 1
  266. call restscrn(SNOCHK%,scrn%(4000))
  267. delay 1
  268. call restscrn(SNOCHK%,scrn%(2000))
  269. delay 1
  270. call restscrn(SNOCHK%,scrn%(0))
  271. delay 2
  272. 'cls
  273. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  274. call makewindow(4,15,10,30,fnattr%(4,3),4,0,1)
  275. call makewindow(3,36,13,40,fnattr%(15,2),3,0,1)
  276. call makewindow(9,10,13,40,fnattr%(0,5),2,0,1)
  277. call makewindow(12,42,11,36,fnattr%(3,4),1,0,1)
  278.  
  279. call makewindow(9,16,8,52,fnattr%(0,7),2,0,1)
  280. color 0,7
  281. locate 10,21:print"This was the original opening screen."
  282. locate 11,21:print"You can selectively change the color"
  283. locate 12,21:print"of an area simply by changing the"
  284. locate 13,21:print"attribute."
  285. delay 1
  286.  
  287. call recolor(fnattr%(4,3),fnattr%(6,2),snochk%)
  288. delay 2
  289.  
  290. call recolor(fnattr%(0,5),fnattr%(14,5),snochk%)
  291. delay 2
  292.  
  293. call recolor(fnattr%(15,2),fnattr%(14,6),snochk%)
  294. delay 2
  295.  
  296. call recolor(fnattr%(0,7),fnattr%(15,1),snochk%)
  297. delay 2
  298. call recolor(fnattr%(15,1),fnattr%(0,7),snochk%)
  299. delay 2
  300. call makewindow(9,16,8,52,fnattr%(0,7),2,0,0)
  301. locate 10,21:print "These are the commands required:"
  302. locate 11,21:print"      call calcattr(0,7,x%)  'old"
  303. locate 12,21:print"      call calcattr(15,1,y%) 'new"
  304. locate 13,21:print"      call recolor(x%,y%,snochk%)"
  305. delay 4
  306. color 7,1
  307. 'cls
  308. call qfill(1,1,25,80,asc(" "),snochk%,fnattr%(7,1))
  309. call makewindow(9,16,8,52,fnattr%(0,7),2,2,0)
  310. locate 10,18:color 0,7:print "The basic routines in the  TBWINDO  package"
  311. locate 11,18:          print "give you all you  need to create some power-"
  312. locate 12,18:          print "ful 'toolbox' modules to integrate into your"
  313. locate 13,18:          print "programs. But if you would rather not do all"
  314. locate 14,18:          print "the work yourselves, please see the accomp- "
  315. locate 15,18:          print "anying demo program DEMO.EXE ...           "
  316. delay 5
  317. end
  318.