home *** CD-ROM | disk | FTP | other *** search
- 'Demonstration of TBWINDO
- $INCLUDE "TBWINDO.INC"
-
- key off
- CALL TEXTBORDER(1)
- CALL TBWFILL(1,1,25,80,32,FNATTR(7,1))
- CALL MAKEWINDOW(2,10,10,35,FNATTR(0,2),FNATTR(10,2),2,3,1)
- CALL PRTCWINDOW(3,"TURBO")
- DELAY 2
- CALL MAKEWINDOW(7,25,10,35,FNATTR(15,4),FNATTR(14,4),2,3,1)
- CALL PRTCWINDOW(3,"BASIC")
- DELAY 2
- CALL MAKEWINDOW(12,40,10,35,FNATTR(0,3),FNATTR(15,3),2,3,1)
- CALL PRTCWINDOW(3,"WINDOWS")
- DELAY 4
- CALL REMOVEWINDOW
- DELAY 1
- CALL REMOVEWINDOW
- DELAY 1
- CALL REMOVEWINDOW
- 'Put up opening screen
- '4 windows of different colors and a Title Window
- CALL MAKEWINDOW(4,15,10,30,FNATTR(4,3),FNATTR(4,3),4,3,1)
- CALL MAKEWINDOW(3,36,13,40,FNATTR(15,2),FNATTR(15,2),3,3,1)
- CALL MAKEWINDOW(9,10,13,40,FNATTR(0,5),FNATTR(0,5),2,3,1)
- CALL MAKEWINDOW(12,42,11,36,FNATTR(3,4),FNATTR(3,4),1,3,1)
-
- CALL MAKEWINDOW(3,5,7,40,FNATTR(0,7),FNATTR(1,7),2,3,1)
-
- CALL PRTCWINDOW(3,"Presenting...")
- DELAY 4
- CALL MAKEWINDOW(8,20,7,40,FNATTR(0,7),FNATTR(1,7),2,3,1)
- CALL PRTCWINDOW(1,"T B W I N D O")
- CALL PRTCWINDOW(2,"4.0")
- CALL PRTCWINDOW(4,"Windowing Routines for the")
- CALL PRTCWINDOW(5,"Borland Turbo BASIC Compiler")
-
- DELAY 3
- CALL MAKEWINDOW(17,55,7,24,FNATTR(0,2),FNATTR(10,2),1,3,1)
- CALL PRTWINDOW(1,2,"By:")
- CALL PRTCWINDOW(3,"Rick Fothergill")
- CALL PRTCWINDOW(4,"141 Oak Hill Road")
- CALL PRTCWINDOW(5,"Pittsfield, MA 01201")
-
-
- DELAY 4
-
- FOR x = 1 to 7
- CALL REMOVEWINDOW
- NEXT
- CALL MAKEWINDOW(9,16,8,52,FNATTR(0,7),FNATTR(1,7),2,0,0)
-
-
- CALL PRTWINDOW(1,2,"The basic purpose of TBWINDO is to provide")
- CALL PRTWINDOW(2,2,"the fundamental routines for implementing")
- CALL PRTWINDOW(3,2,"simple 'windowing' into your Turbo BASIC pro-")
- CALL PRTWINDOW(4,2,"grams. With just a few simple statements,")
- CALL PRTWINDOW(5,2,"you can 'pop-up' a colored window onto the")
- CALL PRTWINDOW(6,2,"screen.")
-
- DELAY 3
- CALL CLEARWINDOW
-
- CALL PRTWINDOW(2,2,"The window can be a solid panel of any of")
- CALL PRTWINDOW(4,2,"the BASIC background colors; such as ...")
-
- DELAY 4
-
- CALL MAKEWINDOW(10,25,7,35,FNATTR(1,2),FNATTR(1,2),0,0,0)
-
- DELAY 3
- CALL REMOVEWINDOW
- CALL CLEARWINDOW
-
- CALL PRTWINDOW(2,2,"or it can be surrounded by a 'frame' in any")
- CALL PRTWINDOW(4,2,"of five styles...")
-
- DELAY 3
-
- CALL MAKEWINDOW(5,5,8,35,FNATTR(0,3),FNATTR(0,3),1,0,0)
- CALL TITLEWINDOW(1,FNATTR(10,0),"[ Frame Style 1 ]")
- CALL MAKEWINDOW(8,8,8,35,FNATTR(14,5),FNATTR(14,5),2,0,0)
- CALL TITLEWINDOW(2,FNATTR(10,0),"[ Frame Style 2 ]")
- CALL MAKEWINDOW(11,11,8,35,FNATTR(15,4),FNATTR(15,4),3,0,0)
- CALL TITLEWINDOW(3,FNATTR(10,0),"[ Frame Style 3 ]")
- CALL MAKEWINDOW(14,14,8,35,FNATTR(0,6),FNATTR(14,6),4,0,0)
- CALL TITLEWINDOW(1,FNATTR(10,0),"[ Frame Style 4 ]")
- CALL MAKEWINDOW(17,17,8,35,FNATTR(0,2),FNATTR(0,2),5,0,0)
- CALL TITLEWINDOW(3,FNATTR(10,0),"[ Frame Style 5 ]")
-
- DELAY 4
- FOR x = 1 to 5
- CALL REMOVEWINDOW
- NEXT
- CALL CLEARWINDOW
-
- CALL PRTWINDOW(1,2,"The frame itself can be in any one of the")
- CALL PRTWINDOW(2,2,"BASIC foreground colors. It can even blink")
- CALL PRTWINDOW(3,2,"if you want...")
-
- DELAY 3
- FOR i=0 to 15
- label$="[ Color:"+str$(i)+" ]"
- j=rnd(1)*50
- k=rnd(1)*12
- CALL MAKEWINDOW(k+1,j+1,7,25,FNATTR(i,5),FNATTR(i,5),4,2,0)
- CALL TITLEWINDOW(2,FNATTR(i,7),label$)
- DELAY .5
- NEXT
- CALL MAKEWINDOW(7,20,7,25,FNATTR(31,5),FNATTR(31,5),4,2,0)
- CALL TITLEWINDOW(2,FNATTR(31,5),"[ Color: 31 ]")
-
- DELAY 4
- FOR x = 1 to 17
- CALL REMOVEWINDOW
- NEXT
-
- CALL CLEARWINDOW
- CALL PRTCWINDOW(5,"The window itself can be presented in many")
- CALL PRTCWINDOW(6,"different ways. It can be flat...")
-
- DELAY 3
-
- CALL MAKEWINDOW(5,10,10,30,FNATTR(15,5),FNATTR(14,5),1,0,0)
- CALL MAKEWINDOW(5,45,10,30,FNATTR(15,5),FNATTR(14,5),1,0,0)
-
- DELAY 3
- CALL REMOVEWINDOW
- CALL REMOVEWINDOW
- CALL CLEARWINDOW
- CALL PRTCWINDOW(4,"it can have one of four types of shadow underneath")
- CALL PRTCWINDOW(6,"this is SOLID black - type 1 left type 2 right")
- DELAY 3
- CALL MAKEWINDOW(5,10,10,30,FNATTR(15,5),FNATTR(14,5),2,1,0)
- CALL PRTCWINDOW(7,"Left Shadow")
- DELAY 2
- CALL MAKEWINDOW(5,45,10,30,FNATTR(15,2),FNATTR(0,2),2,2,0)
- CALL PRTCWINDOW(7,"Right Shadow")
- DELAY 2
- CALL REMOVEWINDOW
- CALL REMOVEWINDOW
-
- CALL CLEARWINDOW
- CALL PRTCWINDOW(6,"this is SHADOW black - type 3 left type 4 right")
- DELAY 3
- CALL MAKEWINDOW(5,10,10,30,FNATTR(15,5),FNATTR(14,5),2,3,0)
- CALL PRTCWINDOW(7,"Left Shadow")
- DELAY 2
- CALL MAKEWINDOW(5,45,10,30,FNATTR(15,2),FNATTR(0,2),2,4,0)
- CALL PRTCWINDOW(7,"Right Shadow")
- DELAY 2
- CALL REMOVEWINDOW
- CALL REMOVEWINDOW
- CALL CLEARWINDOW
- CALL PRTCWINDOW(2,"Titles may be placed in any of six different")
- CALL PRTCWINDOW(3,"locations, in any color or any combination.")
- DELAY 2
- CALL MAKEWINDOW(2,5,10,70,FNATTR(15,5),FNATTR(15,5),2,1,0)
- FOR x = 1 to 6
- title$ = "[ Location"+str$(x)+" ]"
- CALL TITLEWINDOW(x,FNATTR(rnd(1)*16,rnd(1)*8),title$)
- DELAY 1
- NEXT
- DELAY 3
- CALL REMOVEWINDOW
- CALL CLEARWINDOW
- CALL PRTCWINDOW(3,"Windows can be zoomed")
- CALL PRTCWINDOW(4,"onto the screen.")
- DELAY 2
- CALL MAKEWINDOW(2,2,15,60,FNATTR(0,2),FNATTR(14,2),2,0,1)
- DELAY 2
- CALL MAKEWINDOW(13,10,10,60,FNATTR(1,3),FNATTR(15,3),3,0,1)
- DELAY 2
- CALL MAKEWINDOW(7,33,10,45,FNATTR(14,5),FNATTR(14,5),1,0,1)
- DELAY 2
- CALL MAKEWINDOW(7,10,12,63,FNATTR(15,4),FNATTR(14,4),2,4,1)
- CALL PRTCWINDOW(5,"HOW ABOUT THAT !!!")
- DELAY 3
- FOR x = 1 to 4
- CALL REMOVEWINDOW
- NEXT
- CALL CLEARWINDOW
- CALL PRTWINDOW(1,2,"Once you have your window on the screen, simply")
- CALL PRTWINDOW(2,2,"use CALLs to PRTWINDOW or PRTCWINDOW to put text")
- CALL PRTWINDOW(3,2,"in them. A CALL to CLEARWINDOW will erase the")
- CALL PRTWINDOW(4,2,"contents of the window ... ")
- DELAY 3
-
-
- CALL CLEARWINDOW
-
- CALL PRTWINDOW(1,2,"Each window is stored as a result of a CALL to")
- CALL PRTWINDOW(2,2,"MAKEWINDOW. To restore the screen to it's")
- CALL PRTWINDOW(3,2,"original contents, simply CALL REMOVEWINDOW.")
- CALL PRTWINDOW(4,2,"Here is a good example . . .")
- DELAY 5
- CALL MAKEWINDOW(3,5,15,45,FNATTR(0,2),FNATTR(14,2),4,3,1)
- CALL PRTCWINDOW(6,"This is screen 1 ...")
- DELAY 2
- CALL MAKEWINDOW(6,29,17,50,FNATTR(15,4),FNATTR(14,4),4,3,1)
- CALL PRTCWINDOW(6,"This is screen 2 ...")
- DELAY 2
- CALL MAKEWINDOW(9,22,15,35,FNATTR(0,3),FNATTR(1,3),4,3,1)
- CALL PRTCWINDOW(7,"This is screen 3 ...")
- DELAY 2
- CALL PRTCWINDOW(7,"Now we will return ...")
- DELAY 2
- CALL REMOVEWINDOW
- CALL PRTCWINDOW(7,"Back to screen 2")
- DELAY 2
- CALL REMOVEWINDOW
- CALL PRTCWINDOW(7,"Back to screen 1")
- DELAY 2
- CALL REMOVEWINDOW
- DELAY 2
- CALL CLEARWINDOW
- CALL PRTWINDOW(2,2,"Next is a demonstration of the MAKEMENU")
- CALL PRTWINDOW(3,2,"procedure which will create a point and")
- CALL PRTWINDOW(4,2,"shoot type menu.")
- DELAY 3
- CALL REMOVEWINDOW
-
- CALL TEXTBORDER(7)
- CALL TBWFILL(1,1,25,80,32,FNATTR(0,3))
- CALL mainmenu
- CALL TEXTBORDER(0)
- cls
-
-
- sub mainmenu
- shared item$(),itemcount,startpos
- shared curntpos,done
- done = 0
- curntpos = 0
- CALL MAKEWINDOW(10,20,7,40,FNATTR%(15,1),FNATTR(14,1),2,4,0)
- CALL TITLEWINDOW(2,FNATTR(0,7),"[ MAIN MENU ]")
- while not done
- oldcurntpos = curntpos
- item$(1) = "Pop Screen 1"
- item$(2) = "Pop Screen 2"
- item$(3) = "Pop Screen 3"
- item$(4) = "Second Menu Demo"
- item$(5) = "Exit"
- itemcount = 5
- startpos = 1
- CALL MAKEMENU
- select case curntpos
- case 1 'screen 1
- CALL popscreen1
- case 2 ' screen 2
- CALL popscreen2
- case 3 ' screen 3
- CALL popscreen3
- case 4 ' second menu
- CALL secondmenu
- case else
- CALL REMOVEWINDOW
- curntpos = oldcurntpos
- CALL TEXTBORDER(1)
- CALL TBWFILL(1,1,25,80,32,FNATTR(15,1))
- CALL MAKEWINDOW(9,16,8,52,FNATTR(0,7),FNATTR(1,7),2,0,0)
- CALL PRTWINDOW(3,2,"Please see the source code and documentation")
- CALL PRTWINDOW(4,2,"FOR how to create and use menu windows in")
- CALL PRTWINDOW(5,2,"your programs....")
- DELAY 5
- done = -1
- end select
- wend 'done
- CALL REMOVEWINDOW
- end sub
-
- sub popscreen1
- CALL MAKEWINDOW(8,10,7,60,FNATTR(0,6),FNATTR(14,6),2,3,1)
- CALL TITLEWINDOW(2,FNATTR(0,7),"[ SELECTION 1 ]")
- CALL TBWPRINTC(10,10,70,"This is selection no. 1",FNATTR(0,6))
- CALL TBWPRINTC(11,10,70,"Press enter to return to main menu...",FNATTR(15,6))
- while not instat
- wend
- a$=inkey$
- CALL REMOVEWINDOW
- end sub
-
- sub popscreen2
- CALL MAKEWINDOW(8,10,7,60,FNATTR(0,3),FNATTR(15,3),2,3,1)
- CALL TITLEWINDOW(2,FNATTR(10,0),"[ SELECTION 2 ]")
- CALL TBWPRINTC(10,10,70,"This is selection no. 2",FNATTR(0,3))
- CALL TBWPRINTC(11,10,70,"Press enter to return to main menu...",FNATTR(0,3))
- while not instat
- wend
- a$=inkey$
- CALL REMOVEWINDOW
- end sub
-
- sub popscreen3
- CALL MAKEWINDOW(8,10,7,60,FNATTR(14,5),FNATTR(15,5),2,3,1)
- CALL TITLEWINDOW(2,FNATTR(0,7),"[ SELECTION 3 ]")
- CALL TBWPRINTC(10,10,70,"This is selection no. 3",FNATTR(14,5))
- CALL TBWPRINTC(11,10,70,"Press enter to return to main menu...",FNATTR(14,5))
- while not instat
- wend
- a$=inkey$
- CALL REMOVEWINDOW
- end sub
-
- sub secondmenu
- shared item$(),itemcount,startpos
- shared curntpos,done
- CALL MAKEWINDOW(7,25,6,40,FNATTR%(14,2),FNATTR(15,2),2,4,0)
- CALL TITLEWINDOW(2,FNATTR(10,0),"[ SECOND MENU DEMO ]")
- done = 0
- oldcurntpos = curntpos
- curntpos = 0
- while not done
- item$(1) = "Pop Screen 1"
- item$(2) = "Pop Screen 2"
- item$(3) = "Pop Screen 3"
- item$(4) = "Exit"
- itemcount = 4
- startpos = 3
- CALL MAKEMENU
- select case curntpos
- case 1 'screen 1
- CALL popscreen1
- case 2 ' screen 2
- CALL popscreen2
- case 3 ' screen 3
- CALL popscreen3
- case else
- CALL REMOVEWINDOW
- curntpos = oldcurntpos
- done = -1
- end select
- wend 'done
- done = 0
- end sub
-