! ! THIS DEFINES THE INTERFACE TO THE SCREEN HANDLING ROUTINES AND ! SHOULD BE INCLUDED IN THE SOURCE OF ANY PROGRAM USING THEM. ! ! THE COMMON AREA 'SCREEN' CONTAINS THE FOLLOWING VARIABLES: ! ! ADDBUF - ADDRESS OF BUFFER TO HOLD FORMATTING STRINGS ! TOTBYT - LENGTH OF BUFFER ! BYTCNT - NUMBER OF BYTES IN BUFFER ALREADY USED ! COLNO - COLUMN NUMBER FOR CURSOR POSITIONING (1-N) ! ROWNO - ROW NUMBER FOR CURSOR POSITIONING (1-N) ! TABCNT - TAB STOP COUNT FOR TABBING ! LINENO - LINE NUMBER FOR SCROLL AREA SETTING ! OUT - FLAG TO CONTROL OUTPUT (1=OUTPUT THE STRING) ! LUN - LUN FOR OUTPUT IF OUT=1 ! 10 MAP (SCREEN) ADDBUF%,TOTBYT%,BYTCNT%,COLNO%,ROWNO%,& TABCNT%,LINENO%,OUT%,LUN%,BUFF$=40 20 MAP (CURSOR) ATT%,LINV$=25%,COLV$=81%,& ERASE%,NULL%,ERALIN% 30 MAP (CURSOR) ATT$=2%,LIN$(24%)=1%,COL$(80%)=1%,& ERASE$=2%,NULL$=2%,ERALIN$=2% 40 ATT% = 7693% 50 ERASE% = 24% 55 ERALIN% = 22% 60 NULL% = 0% 70 LINV$ = " @ABCDEFGHIJKLMNOPQRSTUVW" 80 COLV$ = ' !"#$%&'+"'()*+,-./0123456789:;<=>?@ABCDEFG"+& "HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno" 90 OUT% = 1% 100 LUN% = 13% 110 TOTBYT% = 40% 120 CALL GETADR BY REF (ADDBUF%,BUFF$) 130 PRINT ERASE$;NULL$;ATT$;COL$(10%);LIN$(5%);& 'This is Method 2 at Line 5, Column 10'; 150 COLNO% = 10% 160 ROWNO% = 7% 170 CALL CURPOS !Position the Cursor 180 CALL INVON !Set Inverse Video On 190 PRINT 'This is Method 1 at Line 7, Column 10 (11 for MK2TBL)'; 200 CALL INVOFF !Set Inverse Video Off 32767 END