!*************************** AMUS Program Label ****************************** ! Filename: VUESCR.BAS Date: 01/12/89 ! Category: UTIL Hash Code: 050-206-101-400 Version: 1.1(1) ! Initials: GR/AM Name: JAMES A. JARBOE IV ! Company: EDUCATIONAL FILMSTRIPS & VIDEO Telephone #: 4092955767 ! Related Files: VUESCR.M68, VUESCR.INC, WINDOW.M68 ! Min. Op. Sys.: 1.0 Expertise Level: BEG ! Special: Use VUESCR.SBR, WINDOW.SBR, VUESCR.INC ! Description: Demonstrates the usage of VUESCR.SBR and WINDOW.SBR ! The VUESCR.INC file will NOT be destroyed by this program ! !***************************************************************************** ! ! VUESCR.BAS how to use VUESCR.SBR ! by James A. Jarboe IV, GR/AM (409) 295-5767 ! ! Original 20-Feb-86 ! Updated 12-Jan-89 ! ! Be sure to get the following files from AMUS ! ! VUESCR.M68 - Assembly subroutine listing ! VUESCR.BAS - Basic program listing ! VUESCR.INC - Help file that VUESCR.bas uses ! WINDOW.M68 - Draws pretty boxes ! ! VUESCR.SBR (by James A. Jarboe) is an inhanced version of VUE.SBR ! by Dave Pallman ! VUESCR.SBR allows editing of text in a VUE like fashion ! Hope it helps someone else ! ! XCALL VUESCR,ST,ROWS,COLUMNS,START'ROW,START'COL,{Rtncde} ! ! 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 = the row that you wish the editing to begin on. ! START'COL = the column that you wish the editing to begin on. ! Rtncde = the value of ^T or ^R, only if Rtncde is added on the XCALL ! line and is binary and is the 6th variable. If Rtncde is not ! used then ^T or ^R will not exit the subroutine nor will ! the values be displayed. Rtncde will also return the value ! of escape & ^C if Rtncde is used ! ! ESCAPE : the escape key gets you out of the VUESCR.SBR editing mode and ! : returns the string ST with the changes you have made ! ! ^C : Control C will also get you out of VUESCR.SBR and not abort ! : the basic program ! ^T : Will exit the subroutine if Rtncde is used ! ^R : Will exit the subroutine if Rtncde is used ! ! EXTRA - Using START'ROW, START'COL, ROWS, and COLUMNS for your ? TAB ! Statements makes movement of the editing area easier than changing ! everything. ! ! 02/23/86 ! 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 PROGRAM VUESCR,1.1(1) MAP1 ST ! make string length as long as you want MAP2 ARRAY(20),X,77 ! easier way to get at ST ! this string is 1,540 bytes long ! If you use X variable (unformatted) you can ! clear the variable to nulls so that *'s will ! show on the screen 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 MAP1 RTNCDE,B,2 ! Rtncde used by VUESCR to show value of key CLEAR'SCREEN: ? tab(-1,0); ! ! VUESCR.INC is a short descriptive file that shows how to use VUESCR ! OPEN #1,"VUESCR.INC",INPUT LOOP: I=I+1 IF I>ROWS THEN GOTO EDIT INPUT LINE #1,ARRAY(I) IF EOF(1)=1 THEN GOTO EDIT GOTO LOOP EDIT: CLOSE #1 EDIT2: ? TAB(-1,0); XCALL WINDOW,2,1,79,22 START'ROW=3 START'COL=2 ! here it is the infamous VUESCR.SBR VUE: ! ! Try using the XCALL VUESCR with RTNCDE and see the results on a ^T & ^R ! Then try using the XCALL VUESCR without the RTNCDE ! XCALL VUESCR, ST,ROWS,COLUMNS,START'ROW,START'COL ! XCALL VUESCR, ST,ROWS,COLUMNS,START'ROW,START'COL,RTNCDE DO'AGAIN: IF RTNCDE>0 ? TAB(1,4);"RTNCDE is ";RTNCDE; if RTNCDE=18 THEN GOTO CTRL'R IF RTNCDE=20 THEN GOTO CTRL'T ? TAB(1,20); INPUT LINE "Would you like to re-edit the string ?",Y$ ? tab(1,4);TAB(-1,9); IF UCS(Y$[1;1])="Y" THEN GOTO EDIT2 ? TAB(-1,0);"Hope this helps someone !!!!" END CTRL'R: ! You could reload the ARRAY with the previous ?? lines here GOTO VUE CTRL'T: ! You could reload the ARRAY with the next ?? lines here GOTO VUE END