! VUESCR.BAS how to use VUESBR.SBR ! by James A. Jarboe IV, GR/AM (409) 295-5767 ! 02/20/86 ! makes use of: ! VUESBR.SBR ! VUESCR.INC ! WINDOW.SBR ! ! VUESBR.SBR (by James A. Jarboe) is an inhanced version of VUE.SBR by Dave Pallmann ! ! VUESBR.SBR allows editing of text in a VUE like fashion ! Hope it helps someone else ! ! XCALL VUESBR,ST,ROWS,COLUMNS,START'ROW,START'COL ! ! ST = variable string to input or change ! I map it as ARRAY(?) to make access easier ! although just using the ST as the variable will work just as well ! ROWS = the maximum amount of rows you choose to use ! COLUMNS = the maximum amount of columns you choose to use ! START'ROW = row number that you wish the editing to begin on. ! START'COL = column number that you wish the editing to begin on. ! ! ! ! ESCAPE : the escape key gets you out of the VUESCR.SBR editing mode and ! : returns the string ST with the changes you have made ! ! EXTRA - Using START'ROW, START'COL, ROWS, and COLUMNS for your ? TAB ! Statements makes movement of the editing area easier than changing ! everything. I.E. try changing the value of START'ROW to 5 and ! START'COL to 8 and everything moves accordingly ! ! ! WINDOW.SBR by James A. Jarboe IV draws an alternate set graphics window ! according to dimensions ! ! XCALL WINDOW, START'ROW, START'COL, COLUMNS, ROWS ! ! START'ROW = Row number you want corner of window to start on ! START'COL = Column number you want left vertical side to be on ! COL'LONG = number of columns wide you want window to be ! ROW'LONG = number of rows deep you want window to be MAP1 ST ! make string length as long as you want MAP2 ARRAY(22),X,77 ! easier way to get at ST ! this string is 256 bytes long MAP1 ROWS,F,6,20 ! maximum number of rows you want to have MAP1 COLUMNS,F,6,77 ! maximum number of columns per row that you want MAP1 START'ROW,F,6,1 ! what screen row you want to start display at-1 MAP1 START'COL,F,6,1 ! what screen col you want to start display at-1 MAP1 COL'LONG,F MAP1 ROW'LONG,F CLEAR'SCREEN: ? tab(-1,0); ? TAB(1,1);"123456789*123456789*123456789*123456789*123456789*123456789*123456789*123456789*"; FOR A=1 TO 24 I=I+1 IF I=10 THEN I=0 ? TAB(A,1);STR(I); NEXT A XCALL WINDOW,2,2,78,23 DEMO: FOR A=3 TO 23 ? TAB(A,3);SPACE$(76); NEXT A ? TAB(3,20);"VUESCR.SBR Demonstration Program" ? tab(5,10);"Enter the number of screen ROWS to edit "; INPUT "",ROWS ? TAB(6,10);"Enter the number of screen COLUMNS to edit "; INPUT "",COLUMNS ? TAB(7,10);"Enter the ROW to start editing on "; INPUT "",START'ROW ? TAB(8,10);"Enter the COLUMN to start editing on "; INPUT "",START'COL IF ROWS<22 AND COLUMNS<77 AND START'ROW>2 AND START'COL>2 & AND START'ROW<23 AND START'COL<77 THEN GOTO VUE IF ROWS>21 THEN ? TAB(10,3);"That many ROWS will upset the display" IF COLUMNS > 76 THEN ? TAB(11,3);"That many COLUMNS will upset the display" IF START'ROW<3 THEN ? TAB(12,3);"Starting on that ROW will upset the display" IF START'COL<3 THEN ? TAB(13,3);"Starting on tha COLUMN will upset the display" ? TAB(15,3);"Enter a Carriage Return to Try Again ";:INPUT "",A$ GOTO DEMO ! here it is the infamous VUESCR.SBR VUE: XCALL WINDOW, START'ROW-1,START'COL-1,COLUMNS+2,ROWS+2 XCALL VUESCR, ST,ROWS,COLUMNS,START'ROW,START'COL DO'AGAIN: ? TAB(22,3); INPUT "Would you like to try again ?",Y$ ? tab(22,3);" "; IF UCS(Y$[1;1])="Y" THEN GOTO DEMO ? TAB(-1,0);"Hope this helps someone !!!!" END