Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:fsescrn.001
Deck FSESCRN Part 001
22 Modifications
Listing Sections
- Deck FSESCRN Start
- Deck FSESCRN Part 1 (Line 1861)
Source
Seq # *Modification Id* Act ----------------------------+ 01861 M00S01625.fsescrn +++| BEGIN 01862 M00S01626.fsescrn +++| FILNUM=SPLITFILE[SPLIT]; 01863 M00S01627.fsescrn +++| IF FILNUM NQ 0 THEN 01864 M00S01628.fsescrn +++| BEGIN 01865 M00S01629.fsescrn +++| IF LTPS(SPLIT) NQ TOPS(SPLIT) 01866 M00S01630.fsescrn +++| OR LASTNAME[SPLIT] NQ FILENAM[FILNUM] THEN 01867 M00S01631.fsescrn +++| BEGIN 01868 M00S01632.fsescrn +++| PAINTONESPLT(SPLIT); 01869 M00S01633.fsescrn +++| END 01870 M00S01634.fsescrn +++| END 01871 M00S01635.fsescrn +++| END 01872 M00S01636.fsescrn +++| END 01873 M00S01637.fsescrn +++| 01874 M00S01638.fsescrn +++| PAINTMARKS(2); 01875 M00S01639.fsescrn +++| 01876 M00S01640.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL USRNUMLIN DO 01877 M00S01641.fsescrn +++| BEGIN 01878 M00S01642.fsescrn +++| IF ROWPAINT[SCRNPT1] OR ROWORIG[SCRNPT1] NQ SCRNPT1 THEN 01879 M00S01643.fsescrn +++| BEGIN 01880 M00S01644.fsescrn +++| ROWPAINT[SCRNPT1]=FALSE; 01881 M00S01645.fsescrn +++| ROWORIG[SCRNPT1]=SCRNPT1; 01882 M00S01646.fsescrn +++| GOTO PAINTSW[ROWTYPE[SCRNPT1]]; 01883 M00S01647.fsescrn +++| 01884 M00S01648.fsescrn +++|PTTEXT: 01885 M00S01649.fsescrn +++| IF ROWPMARK[SCRNPT1] THEN 01886 M00S01650.fsescrn +++| BEGIN # IF ONLY LOGICALLY MARKED # 01887 M00S01651.fsescrn +++| IF NUMMARKS EQ 0 THEN ROWPMARK[SCRNPT1] = FALSE; 01888 M00S01652.fsescrn +++| END 01889 M00S01653.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01890 M00S01654.fsescrn +++| VDTPOS(0,SCRNPT1); # POSITION # 01891 M00S01655.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01892 M00S01656.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01893 M00S01657.fsescrn +++| IF TABLOCKMDE[0] THEN 01894 M00S01658.fsescrn +++| BEGIN # IF BLOCK MODE TERMINAL # 01895 M00S01659.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET ATTRIBUTE POSITION # 01896 M00S01660.fsescrn +++| END 01897 M00S01661.fsescrn +++| ELSE 01898 M00S01662.fsescrn +++| BEGIN # NOT BLOCK MODE # 01899 M00S01663.fsescrn +++| VDTPOS(0,SCRNPT1); # POSITION # 01900 M00S01664.fsescrn +++| END 01901 M00S01665.fsescrn +++|CONTROL FI; # END OF NOT MULTI # 01902 M00S01666.fsescrn +++| SPLIT=ROWSPLIT[SCRNPT1]; 01903 M00S01667.fsescrn +++| SCRNPT2=YTOL(SCRNPT1,SPLIT); 01904 M00S01668.fsescrn +++| IF VTCLRFRST[0] THEN VDTCLL(0,SCRNPT1); 01905 M00S01669.fsescrn +++| SCRNPT6=XSHIFT[SPLIT]-1; # PRESET COLUMN LENGTH # 01906 M00S01670.fsescrn +++| IF SCRNPT2 LS BOTS(SPLIT) THEN 01907 M00S01671.fsescrn +++| BEGIN 01908 M00S01672.fsescrn +++| POSZ(SCRNPT2); 01909 M00S01673.fsescrn +++| SCRNPT6=LENGTH(LIN); 01910 M00S01674.fsescrn +++| IF SCRNPT6 GR NUMWIDBLK+WIDTH AND ERRSTRING EQ " $" THEN 01911 M00S01675.fsescrn +++| BEGIN 01912 M00S01676.fsescrn +++| ERRSTRING="WIDE LINE$"; 01913 M00S01677.fsescrn +++| YCURSOR=SCRNPT1; 01914 M00S01678.fsescrn +++| END 01915 M00S01679.fsescrn +++| IF USRNUMCOL+XSHIFT[SPLIT] LS SCRNPT6 AND NOT ROWPMARK[SCRNPT1] 01916 M00S01680.fsescrn +++| THEN 01917 M00S01681.fsescrn +++| BEGIN 01918 M00S01682.fsescrn +++| SETCHAR(LINE,USRNUMCOL+XSHIFT[SPLIT]+1,CENDLINE); 01919 M00S01683.fsescrn +++| TRIMPAD; 01920 M00S01684.fsescrn +++| SCRNPT6=LENGTH(LIN); 01921 M00S01685.fsescrn +++| END 01922 M00S01686.fsescrn +++| IF ROWCOLUM[SCRNPT1] THEN 01923 M00S01687.fsescrn +++| BEGIN 01924 M00S01688.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01925 M00S01689.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(0); 01926 M00S01690.fsescrn +++|CONTROL FI; 01927 M00S01691.fsescrn +++| ROWCOLUM[SCRNPT1] = FALSE; 01928 M00S01692.fsescrn +++| SCRNPT6 = 1; 01929 M00S01693.fsescrn +++| FOR SCRNPT4 = XSHIFT[SPLIT] STEP 1 UNTIL 01930 M00S01694.fsescrn +++| XSHIFT[SPLIT] + USRNUMCOL DO 01931 M00S01695.fsescrn +++| BEGIN 01932 M00S01696.fsescrn +++| SCRNPT5 = MOD(SCRNPT4+1,10) + CDIGIT0; 01933 M00S01697.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01934 M00S01698.fsescrn +++| IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0] THEN 01935 M00S01699.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01936 M00S01700.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01937 M00S01701.fsescrn +++| IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0] 01938 M00S01702.fsescrn +++| AND NOT TABLOCKMDE[0] THEN 01939 M00S01703.fsescrn +++|CONTROL FI; # END OF IF NOT MULTI # 01940 M00S01704.fsescrn +++| BEGIN 01941 M00S01705.fsescrn +++| SCRNPT6 = SCRNPT6 LXR 1; 01942 M00S01706.fsescrn +++| IF SCRNPT6 EQ 0 THEN 01943 M00S01707.fsescrn +++| BEGIN 01944 M00S01708.fsescrn +++| VDTSAM(0); 01945 M00S01709.fsescrn +++| END 01946 M00S01710.fsescrn +++| ELSE 01947 M00S01711.fsescrn +++| BEGIN 01948 M00S01712.fsescrn +++| VDTSAM(MSKINVERSE); 01949 M00S01713.fsescrn +++| END 01950 M00S01714.fsescrn +++| END 01951 M00S01715.fsescrn +++| SCRNPT5 = XLTINTXP[SCRNPT5]; 01952 M00S01716.fsescrn +++| VDTCHR(SCRNPT5); 01953 M00S01717.fsescrn +++| END 01954 M00S01718.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01955 M00S01719.fsescrn +++| IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] THEN VDTSAM(0); 01956 M00S01720.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01957 M00S01721.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01958 M00S01722.fsescrn +++| IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] AND NOT TABLOCKMDE[0] 01959 M00S01723.fsescrn +++| THEN VDTSAM(0); 01960 M00S01724.fsescrn +++|CONTROL FI; # END OF IF NOT MULTI # 01961 M00S01725.fsescrn +++| GOTO PTDONE; # FINISHED WITH THIS LINE # 01962 M00S01726.fsescrn +++| END 01963 M00S01727.fsescrn +++| ELSE IF ROWPMARK[SCRNPT1] THEN 01964 M00S01728.fsescrn +++| BEGIN 01965 M00S01729.fsescrn +++| IF SCRNPT6 EQ 0 THEN 01966 M00S01730.fsescrn +++| BEGIN 01967 M00S01731.fsescrn +++| LINE[0]=BLANKLIN; 01968 M00S01732.fsescrn +++| SCRNPT6=LENGTH(LIN); 01969 M00S01733.fsescrn +++| END 01970 M00S01734.fsescrn +++| SCRNPT4=XSHIFT[SPLIT]; 01971 M00S01735.fsescrn +++| SCRNPT5=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 01972 M00S01736.fsescrn +++| SCRNPT2 = SCRNPT4; # SAVE DEFAULT VALUES # 01973 M00S01737.fsescrn +++| SCRNPT3 = SCRNPT5; 01974 M00S01738.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG] AND MRKCHAR[0] 01975 M00S01739.fsescrn +++| GQ 0 THEN SCRNPT4=MAX(MRKCHAR[0],XSHIFT[SPLIT]); 01976 M00S01740.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG+1] AND MRKCHAR[1] 01977 M00S01741.fsescrn +++| GQ 0 THEN SCRNPT5=MIN(MRKCHAR[1],SCRNPT5); 01978 M00S01742.fsescrn +++| IF SCRNPT4 GR SCRNPT5 THEN 01979 M00S01743.fsescrn +++| BEGIN # IF BEYOND MARKED AREA # 01980 M00S01744.fsescrn +++| SCRNPT4 = - 1; 01981 M00S01745.fsescrn +++| SCRNPT5 = - 1; 01982 M00S01746.fsescrn +++| END 01983 M00S01747.fsescrn +++| IF TABLOCKMDE[0] THEN 01984 M00S01748.fsescrn +++| BEGIN # IF BLOCK MODE TYPE TERMINAL # 01985 M00S01749.fsescrn +++| IF (SCRNPT2 EQ SCRNPT4) AND (SCRNPT3 EQ SCRNPT5) THEN 01986 M00S01750.fsescrn +++| BEGIN # IF MARKING # 01987 M00S01751.fsescrn +++| VDTSAM(MSKINVERSE); 01988 M00S01752.fsescrn +++| END 01989 M00S01753.fsescrn +++| ELSE 01990 M00S01754.fsescrn +++| BEGIN # NOT MARKING # 01991 M00S01755.fsescrn +++| VDTSAM(0); 01992 M00S01756.fsescrn +++| END 01993 M00S01757.fsescrn +++| END 01994 M00S01758.fsescrn +++| SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 01995 M00S01759.fsescrn +++| FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO 01996 M00S01760.fsescrn +++| BEGIN 01997 M00S01761.fsescrn +++| IF SCRNPT2 EQ SCRNPT4 AND NOT TABLOCKMDE[0] THEN 01998 M00S01762.fsescrn +++| BEGIN 01999 M00S01763.fsescrn +++| IF TABATTRCHR[0] THEN 02000 M00S01764.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A SPACE # 02001 M00S01765.fsescrn +++| IF TABNOTCHAR[0] AND SCRNPT2 EQ XSHIFT[SPLIT] 02002 M00S01766.fsescrn +++| AND SCRNPT2 NQ SCRNPT5 THEN 02003 M00S01767.fsescrn +++| BEGIN # IF A CHARACTER MUST BE SKIPPED # 02004 M00S01768.fsescrn +++| SCRNPT2 = SCRNPT2 + 1; 02005 M00S01769.fsescrn +++| END 02006 M00S01770.fsescrn +++| ELSE 02007 M00S01771.fsescrn +++| BEGIN # MOVE CURSOR BACK FOR ATTRIBUTE # 02008 M00S01772.fsescrn +++| VDTOUT(X"08"); 02009 M00S01773.fsescrn +++| END 02010 M00S01774.fsescrn +++| END 02011 M00S01775.fsescrn +++| VDTSAM(MSKINVERSE); 02012 M00S01776.fsescrn +++| END 02013 M00S01777.fsescrn +++| GETCHAR(LINE,SCRNPT2,SCRNPT3); 02014 M00S01778.fsescrn +++| SCRNPT3=XLTINTXP[SCRNPT3];
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2623 |
Seq # *Modification Id* Act ----------------------------+ 02015 M01S00001.ns2623 +++| IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT]; 02016 M00S01779.fsescrn +++| VDTCHR(SCRNPT3); 02017 M00S01780.fsescrn +++| IF SCRNPT2 EQ SCRNPT5 AND NOT TABLOCKMDE[0] THEN 02018 M00S01781.fsescrn +++| BEGIN 02019 M00S01782.fsescrn +++| IF TABATTRCHR[0] THEN 02020 M00S01783.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A BYTE # 02021 M00S01784.fsescrn +++| IF SCRNPT2 EQ VTXMAX THEN 02022 M00S01785.fsescrn +++| BEGIN # IF AT END OF CURRENT LINE # 02023 M00S01786.fsescrn +++| VDTOUT(X"08"); # CURSOR MUST MOVE BACK # 02024 M00S01787.fsescrn +++| END 02025 M00S01788.fsescrn +++| ELSE 02026 M00S01789.fsescrn +++| BEGIN # SKIP AN OUTPUT CHARACTER # 02027 M00S01790.fsescrn +++| IF SCRNPT2 NQ SCRNPT6 THEN SCRNPT2 = SCRNPT2 + 1; 02028 M00S01791.fsescrn +++| END 02029 M00S01792.fsescrn +++| END 02030 M00S01793.fsescrn +++| VDTSAM(0); 02031 M00S01794.fsescrn +++| END 02032 M00S01795.fsescrn +++| END 02033 M00S01796.fsescrn +++| ROWPMARK[SCRNPT1]=FALSE; 02034 M00S01797.fsescrn +++| END 02035 M00S01798.fsescrn +++| ELSE 02036 M00S01799.fsescrn +++| BEGIN # ALL TEXT THAT FITS WINDOW # 02037 M00S01800.fsescrn +++| IF TABATTRCHR[0] THEN 02038 M00S01801.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A BYTE # 02039 M00S01802.fsescrn +++| IF ROWTYPE[SCRNPT1-1] EQ ROWST"TITLE" THEN 02040 M00S01803.fsescrn +++| BEGIN # IF FIRST LINE AFTER TITLE # 02041 M00S01804.fsescrn +++| VDTPOS(VTXMAX,SCRNPT1-1); 02042 M00S01805.fsescrn +++| ATTRIBMASK = MSKINVERSE; 02043 M00S01806.fsescrn +++| END 02044 M00S01807.fsescrn +++| END 02045 M00S01808.fsescrn +++| VDTSAM(0); # CLEAR ATTRIBUTES # 02046 M00S01809.fsescrn +++| SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 02047 M00S01810.fsescrn +++| SCRNPT4 = -1; # NUMBER OF BLANKS SO FAR, - 1 # 02048 M00S01811.fsescrn +++| FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO 02049 M00S01812.fsescrn +++| BEGIN 02050 M00S01813.fsescrn +++| GETCHAR(LINE,SCRNPT2,SCRNPT3); 02051 M00S01814.fsescrn +++| IF VTCLRFRST[0] AND SCRNPT3 EQ CBLANK THEN 02052 M00S01815.fsescrn +++| BEGIN # IF LINE CLEAR, CHAR. A BLANK # 02053 M00S01816.fsescrn +++| SCRNPT4 = SCRNPT4 + 1; 02054 M00S01817.fsescrn +++| END 02055 M00S01818.fsescrn +++| ELSE 02056 M00S01819.fsescrn +++| BEGIN # NOT A BLANK, OR NO CLEAR LINE # 02057 M00S01820.fsescrn +++| IF SCRNPT4 GQ 0 THEN 02058 M00S01821.fsescrn +++| BEGIN # IF SOME BLANKS HAVE BEEN SEEN # 02059 M00S01822.fsescrn +++| IF SCRNPT4 GQ VTNUMBLNK[0] THEN 02060 M00S01823.fsescrn +++| BEGIN # IF AT OR PAST THRESHOLD # 02061 M00S01824.fsescrn +++| VDTPOS(SCRNPT2-XSHIFT[SPLIT],SCRNPT1); 02062 M00S01825.fsescrn +++| END 02063 M00S01826.fsescrn +++| ELSE 02064 M00S01827.fsescrn +++| BEGIN # NOT WORTH VDTPOS # 02065 M00S01828.fsescrn +++| SCRNPT5 = XLTINTXP[CBLANK];
Line S01829 Modification History | |
---|---|
M01 (Removed by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02066 M01S01829.ns2444a ---| FOR DUMB = 0 STEP 1 UNTIL SCRNPT4 DO
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02067 M01S00001.ns2444a +++| FOR SCRNPT4 = SCRNPT4 STEP -1 UNTIL 0 DO 02068 M00S01830.fsescrn +++| BEGIN # SEND BLANKS # 02069 M00S01831.fsescrn +++| VDTCHR(SCRNPT5); 02070 M00S01832.fsescrn +++| END 02071 M00S01833.fsescrn +++| END 02072 M00S01834.fsescrn +++| SCRNPT4 = -1; # RESET BLANK COUNT # 02073 M00S01835.fsescrn +++| END 02074 M00S01836.fsescrn +++| SCRNPT3 = XLTINTXP[SCRNPT3];
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2623 |
Seq # *Modification Id* Act ----------------------------+ 02075 M01S00002.ns2623 +++| IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT]; 02076 M00S01837.fsescrn +++| VDTCHR(SCRNPT3); 02077 M00S01838.fsescrn +++| END 02078 M00S01839.fsescrn +++| END 02079 M00S01840.fsescrn +++| END 02080 M00S01841.fsescrn +++| END 02081 M00S01842.fsescrn +++| ELSE 02082 M00S01843.fsescrn +++| BEGIN 02083 M00S01844.fsescrn +++| VDTSAM(0); # CLEAR ATTRIBUTES # 02084 M00S01845.fsescrn +++| ROWPMARK[SCRNPT1] = FALSE; 02085 M00S01846.fsescrn +++| END 02086 M00S01847.fsescrn +++| SCRNPT6=SCRNPT6-XSHIFT[SPLIT]+1; 02087 M00S01848.fsescrn +++| SCRNPT6=MAX(SCRNPT6,0); 02088 M00S01849.fsescrn +++| IF SCRNPT6 LQ VTXMAX AND # IF NOT CLEARED (AT PTTEXT)# 02089 M00S01850.fsescrn +++| NOT VTCLRFRST[0] THEN # BEFORE PRINTING OR BY THE # 02090 M00S01851.fsescrn +++| VDTCLL(SCRNPT6,SCRNPT1); # ACTUAL PRINTING OF OUTPUT # 02091 M00S01852.fsescrn +++| GOTO PTDONE; 02092 M00S01853.fsescrn +++| 02093 M00S01854.fsescrn +++|PTTITLE: 02094 M00S01855.fsescrn +++| SPLIT=ROWSPLIT[SCRNPT1]; 02095 M00S01856.fsescrn +++| FILNUM=SPLITFILE[SPLIT]; 02096 M00S01857.fsescrn +++| IF TABLOCKMDE[0] THEN 02097 M00S01858.fsescrn +++| BEGIN # IF NOT CHARACTER MODE # 02098 M00S01859.fsescrn +++| SCRNPT6 = 1; # WRITE TITLE LINE # 02099 M00S01860.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); 02100 M00S01861.fsescrn +++| VDTSAM(MSKPROTECT+MSKUNDERLN); 02101 M00S01862.fsescrn +++| END 02102 M00S01863.fsescrn +++| ELSE 02103 M00S01864.fsescrn +++| BEGIN # CHARACTER MODE TERMINAL # 02104 M00S01865.fsescrn +++| SCRNPT6 = 0; # NO CHANGE YET TO TITLE LINE # 02105 M00S01866.fsescrn +++| END 02106 M00S01867.fsescrn +++| GENTITLE(SPLIT); 02107 M00S01868.fsescrn +++| SCRNPT5=LENGTH(TTYLIN); 02108 M00S01869.fsescrn +++| IF TABATTRCHR[0] THEN SCRNPT5 = SCRNPT5 - 3; 02109 M00S01870.fsescrn +++| IF SPLIT EQ 1 THEN 02110 M00S01871.fsescrn +++| BEGIN # IF TOP SPLIT # 02111 M00S01872.fsescrn +++| FOR SCRNPT2=LENGTH(TITLE1LIN) STEP 1 UNTIL SCRNPT5 DO 02112 M00S01873.fsescrn +++| BEGIN 02113 M00S01874.fsescrn +++| SETCHAR(TITLE1LINE,SCRNPT2,CENDLINE); 02114 M00S01875.fsescrn +++| END 02115 M00S01876.fsescrn +++| END 02116 M00S01877.fsescrn +++| ELSE # IF BOTTOM SPLIT # 02117 M00S01878.fsescrn +++| BEGIN 02118 M00S01879.fsescrn +++| FOR SCRNPT2=LENGTH(TITLE2LIN) STEP 1 UNTIL SCRNPT5 DO 02119 M00S01880.fsescrn +++| BEGIN 02120 M00S01881.fsescrn +++| SETCHAR(TITLE2LINE,SCRNPT2,CENDLINE); 02121 M00S01882.fsescrn +++| END 02122 M00S01883.fsescrn +++| END 02123 M00S01884.fsescrn +++| SCRNPT2 = 0; 02124 M00S01885.fsescrn +++| IF TABATTRCHR[0] THEN SCRNPT2 = 1; 02125 M00S01886.fsescrn +++| FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL SCRNPT5 DO 02126 M00S01887.fsescrn +++| BEGIN # UNTIL DONE FOR TITLE LINE # 02127 M00S01888.fsescrn +++| IF SPLIT EQ 1 THEN GETCHAR(TITLE1LINE,SCRNPT2,SCRNPT3); 02128 M00S01889.fsescrn +++| ELSE GETCHAR(TITLE2LINE,SCRNPT2,SCRNPT3); 02129 M00S01890.fsescrn +++| GETCHAR(TTYLINE,SCRNPT2,SCRNPT4); 02130 M00S01891.fsescrn +++| IF SCRNPT3 NQ SCRNPT4 AND SCRNPT4 NQ CENDLINE THEN 02131 M00S01892.fsescrn +++| BEGIN # IF CHARACTER HAS CHANGED # 02132 M00S01893.fsescrn +++| SCRNPT4=XLTINTXP[SCRNPT4]; 02133 M00S01894.fsescrn +++| IF SCRNPT6 EQ 0 THEN 02134 M00S01895.fsescrn +++| BEGIN # IF FIRST CHANGE (CHAR. MODE) # 02135 M00S01896.fsescrn +++| IF TABNOTCHAR[0] THEN 02136 M00S01897.fsescrn +++| BEGIN # IF ATTRIBUTE IS "EMBEDDED" # 02137 M00S01898.fsescrn +++| VDTPOS(0,SCRNPT1); 02138 M00S01899.fsescrn +++| END 02139 M00S01900.fsescrn +++| ELSE 02140 M00S01901.fsescrn +++| BEGIN # ATTRIBUTE WILL NOT OVERWRITE # 02141 M00S01902.fsescrn +++| VDTPOS(SCRNPT2,SCRNPT1); 02142 M00S01903.fsescrn +++| END 02143 M00S01904.fsescrn +++| IF TABVTPROTM[0] THEN 02144 M00S01905.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02145 M00S01906.fsescrn +++| VDTSAM(MSKPROTECT+MSKUNDERLN); 02146 M00S01907.fsescrn +++| END 02147 M00S01908.fsescrn +++| ELSE 02148 M00S01909.fsescrn +++| BEGIN # NO PROTECT # 02149 M00S01910.fsescrn +++| VDTSAM(MSKUNDERLN); 02150 M00S01911.fsescrn +++| END 02151 M00S01912.fsescrn +++| IF TABNOTCHAR[0] THEN 02152 M00S01913.fsescrn +++| BEGIN # IF ATTRIBUTE IS "EMBEDDED" # 02153 M00S01914.fsescrn +++| VDTPOS(SCRNPT2,SCRNPT1); 02154 M00S01915.fsescrn +++| END 02155 M00S01916.fsescrn +++| SCRNPT6 = 1; 02156 M00S01917.fsescrn +++| END 02157 M00S01918.fsescrn +++| ELSE 02158 M00S01919.fsescrn +++| BEGIN # NOT FIRST CHANGED CHARACTER # 02159 M00S01920.fsescrn +++| IF SCRNPT2 NQ VTXCUR THEN VDTPOS(SCRNPT2,SCRNPT1); 02160 M00S01921.fsescrn +++| END 02161 M00S01922.fsescrn +++| VDTCHR(SCRNPT4); 02162 M00S01923.fsescrn +++| END 02163 M00S01924.fsescrn +++| END 02164 M00S01925.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02165 M00S01926.fsescrn +++| BEGIN # IF CHARACTER MODE TERMINAL # 02166 M00S01927.fsescrn +++| IF SCRNPT6 EQ 1 THEN 02167 M00S01928.fsescrn +++| BEGIN # IF CHANGE MADE TO TITLE LINE #
Line S01929 Modification History | |
---|---|
M01 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02168 M01S01929.ns2700 ---| IF TABNOTCHAR[0] THEN 02169 M01S01930.ns2700 ---| BEGIN # IF ATTRIBUTE IS "EMBEDDED" # 02170 M01S01931.ns2700 ---| IF TABATTRCHR[0] THEN 02171 M01S01932.ns2700 ---| BEGIN # IF ATTRIBUTE TAKES SPACE # 02172 M01S01933.ns2700 ---| VDTPOS(VTXMAX-1,SCRNPT1); 02173 M01S01934.ns2700 ---| END 02174 M01S01935.ns2700 ---| ELSE 02175 M01S01936.ns2700 ---| BEGIN # NO SPACE TAKEN BY ATTRIBUTE # 02176 M01S01937.ns2700 ---| VDTPOS(VTXMAX,SCRNPT1); 02177 M01S01938.ns2700 ---| END
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02178 M01S00002.ns2700 +++| IF TABNOTCHAR[0] AND TABATTRCHR[0] THEN 02179 M01S00003.ns2700 +++| BEGIN # IF ATTRIBUTE TAKES SPACE # 02180 M01S00004.ns2700 +++| VDTPOS(VTXMAX-1,SCRNPT1); 02181 M01S00005.ns2700 +++| END 02182 M01S00006.ns2700 +++| ELSE 02183 M01S00007.ns2700 +++| BEGIN # IF ATTRIBUTE TAKES NO SPACE # 02184 M01S00008.ns2700 +++| VDTPOS(VTXMAX,SCRNPT1); 02185 M00S01939.fsescrn +++| END 02186 M00S01940.fsescrn +++| VDTSAM(0); 02187 M00S01941.fsescrn +++| SCRNPT6 = 0; 02188 M00S01942.fsescrn +++| END 02189 M00S01943.fsescrn +++| END 02190 M00S01944.fsescrn +++| ATTRIBMASK[0] = 0; # CLEAR MASK # 02191 M00S01945.fsescrn +++| FOR SCRNPT2 = 0 STEP 1 UNTIL TTLLNLEN DO 02192 M00S01946.fsescrn +++| BEGIN 02193 M00S01947.fsescrn +++| IF SPLIT EQ 1 THEN TITLE1LINE[SCRNPT2]=TTYLINE[SCRNPT2]; 02194 M00S01948.fsescrn +++| ELSE TITLE2LINE[SCRNPT2]=TTYLINE[SCRNPT2]; 02195 M00S01949.fsescrn +++| END 02196 M00S01950.fsescrn +++| LTPS(SPLIT)=TOPS(SPLIT); 02197 M00S01951.fsescrn +++| LASTNAME[SPLIT]=FILENAM[FILNUM]; 02198 M00S01952.fsescrn +++| GOTO PTDONE; 02199 M00S01953.fsescrn +++| 02200 M00S01954.fsescrn +++|PTLABEL: 02201 M00S01955.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET ATTR POSITION # 02202 M00S01956.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02203 M00S01957.fsescrn +++| BEGIN # IF NOT BLOCK MODE # 02204 M00S01958.fsescrn +++| VDTCLL(0,SCRNPT1); # CLEAR LINE # 02205 M00S01959.fsescrn +++| END 02206 M00S01960.fsescrn +++| IF TABVTPROTM[0] THEN VDTSAM(MSKPROTECT); 02207 M00S01961.fsescrn +++| SCRNPT3=1;
Line S01962 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02208 M01S01962.ns2675 ---| IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3 THEN SCRNPT3=-1; 02209 M01S01963.ns2675 ---| SCRNPT4=0; 02210 M01S01964.ns2675 ---| IF SCRNPT1 GQ FKEYROW+3 THEN SCRNPT4=FKEYSHOW;
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02211 M02S00001.ns2700 ---| IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3 02212 M02S00002.ns2700 ---| OR SCRNPT1 EQ FKEYROW+6 THEN SCRNPT3 = -1; 02213 M02S00003.ns2700 ---| IF SCRNPT1 LS FKEYROW+2 THEN SCRNPT4 = 0; 02214 M02S00004.ns2700 ---| ELSE IF SCRNPT1 LS FKEYROW+5 THEN SCRNPT4 = FKEYSHOW;
Line S00009 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02215 M01S00009.ns2700 +++| IF SHIFTFKEY NQ 0 AND (SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3 02216 M01S00010.ns2700 +++| OR SCRNPT1 EQ FKEYROW+6) THEN SCRNPT3 = -1; 02217 M01S00011.ns2700 +++| IF SCRNPT1 LS FKEYROW+1+SHIFTFKEY THEN SCRNPT4 = 0; 02218 M01S00012.ns2700 +++| ELSE IF SCRNPT1 LS FKEYROW+2*(2+SHIFTFKEY)-1 THEN 02219 M01S00013.ns2700 +++| SCRNPT4 = FKEYSHOW;
Line S00005 Modification History | |
---|---|
M01 (Added by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02220 M01S00005.ns2675 +++| ELSE SCRNPT4 = FKEYSHOW+FKEYSHOW;
Line S00006 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02221 M02S00006.ns2700 ---| SCRNPT2=1; 02222 M02S00007.ns2700 ---| FOR SCRNPT5 = 1 STEP 1 UNTIL POSFKEYS DO 02223 M02S00008.ns2700 ---| BEGIN 02224 M02S00009.ns2700 ---| IF (FKEYSTRING[SCRNPT5] NQ NULLIN) OR 02225 M02S00010.ns2700 ---| (FKEYSTRING[-SCRNPT5] NQ NULLIN) THEN 02226 M02S00011.ns2700 ---| BEGIN 02227 M02S00012.ns2700 ---| FKEYNUMS[SCRNPT2] = SCRNPT5; 02228 M02S00013.ns2700 ---| SCRNPT2 = SCRNPT2 + 1; 02229 M02S00014.ns2700 ---| END 02230 M02S00015.ns2700 ---| END 02231 M02S00016.ns2700 ---| FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL POSFKEYS DO 02232 M02S00017.ns2700 ---| FKEYNUMS[SCRNPT2] = 0; 02233 M00S01965.fsescrn +++| FOR SCRNPT2=1 STEP 1 WHILE SCRNPT2 LQ FKEYSHOW
Line S01966 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02234 M01S01966.ns2675 ---| AND SCRNPT1 NQ FKEYROW+2 DO
Line S00018 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02235 M02S00018.ns2700 ---| AND SCRNPT1 NQ FKEYROW+2 AND SCRNPT1 NQ FKEYROW+5 DO
Line S00014 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02236 M01S00014.ns2700 +++| AND SCRNPT1 NQ FKEYROW+1+SHIFTFKEY 02237 M01S00015.ns2700 +++| AND SCRNPT1 NQ FKEYROW+2*(2+SHIFTFKEY)-1 DO 02238 M00S01967.fsescrn +++| BEGIN
Line S01968 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02239 M01S01968.ns2675 ---| SCRNPT5=SCRNPT2+SCRNPT4;
Line S00019 Modification History | |
---|---|
M01 (Added by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02240 M01S00019.ns2675 +++| SCRNPT5 = FKEYNUMS[SCRNPT2+SCRNPT4]; 02241 M01S00020.ns2675 +++| IF SCRNPT5 EQ 0 THEN SCRNPT3 = -1; 02242 M00S01969.fsescrn +++| IF SCRNPT3 GQ 0 THEN 02243 M00S01970.fsescrn +++| BEGIN 02244 M00S01971.fsescrn +++| IF SCRNPT5 LS 10 THEN TTSTR("F$"); 02245 M00S01972.fsescrn +++| TTDEC(SCRNPT5); 02246 M00S01973.fsescrn +++| TTSTR(FKEYSPC1); # " $" OR "$" # 02247 M00S01974.fsescrn +++| END 02248 M00S01975.fsescrn +++| ELSE TTSTR(FKEYSPC2); # " $" OR " $" # 02249 M00S01976.fsescrn +++| IF TABVTPROTM[0] THEN 02250 M00S01977.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02251 M00S01978.fsescrn +++| VDTSAM(MSKPROTECT+MSKINVERSE); 02252 M00S01979.fsescrn +++| END 02253 M00S01980.fsescrn +++| ELSE 02254 M00S01981.fsescrn +++| BEGIN # NO PROTECT # 02255 M00S01982.fsescrn +++| VDTSAM(MSKINVERSE); 02256 M00S01983.fsescrn +++| END
Line S01984 Modification History | |
---|---|
M01 (Removed by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02257 M01S01984.ns2641 ---| IF VTXMAX EQ 131 THEN TTSTR(" $");
Line S00152 Modification History | |
---|---|
M01 (Added by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02258 M01S00152.ns2641 +++| IF FKEYPAD GR 0 THEN TTST(" ",FKEYPAD); 02259 M00S01985.fsescrn +++| TTST(FKEYNAME[SCRNPT5*SCRNPT3],FKEYCHARS);
Line S01986 Modification History | |
---|---|
M01 (Removed by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02260 M01S01986.ns2641 ---| IF VTXMAX EQ 131 THEN TTSTR(" $");
Line S00153 Modification History | |
---|---|
M01 (Added by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02261 M01S00153.ns2641 +++| IF FKEYPAD GR 0 THEN TTST(" ",FKEYPAD); 02262 M00S01987.fsescrn +++| IF SCRNPT2 NQ FKEYSHOW THEN 02263 M00S01988.fsescrn +++| BEGIN # IF NOT FKEYSHOW # 02264 M00S01989.fsescrn +++| IF TABVTPROTM[0] THEN 02265 M00S01990.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02266 M00S01991.fsescrn +++| VDTSAM(MSKPROTECT); 02267 M00S01992.fsescrn +++| END 02268 M00S01993.fsescrn +++| ELSE 02269 M00S01994.fsescrn +++| BEGIN # NO PROTECT # 02270 M00S01995.fsescrn +++| VDTSAM(0); 02271 M00S01996.fsescrn +++| END 02272 M00S01997.fsescrn +++| TTSTR(FKEYSPC1); # " $" OR "$" # 02273 M00S01998.fsescrn +++| END 02274 M00S01999.fsescrn +++| END 02275 M00S02000.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02276 M00S02001.fsescrn +++| BEGIN # IF CHARACTER MODE TERMINAL # 02277 M00S02002.fsescrn +++| IF NOT(TABATTRCHR[0] AND TABLASTPOS[0] EQ CURSORMOVE"SCROLL" 02278 M00S02003.fsescrn +++| AND VTYCUR EQ VTYMAX) THEN VDTSAM(0); 02279 M00S02004.fsescrn +++| END 02280 M00S02005.fsescrn +++| ELSE 02281 M00S02006.fsescrn +++| BEGIN # IF BLOCK MODE TERMINAL #
Line S02007 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02282 M01S02007.ns2675 ---| IF SCRNPT1 EQ FKEYROW+2 THEN VDTCLL(0,SCRNPT1);
Line S00021 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02283 M02S00021.ns2700 ---| IF SCRNPT1 EQ FKEYROW+2 OR SCRNPT1 EQ FKEYROW+5 THEN
Line S00016 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02284 M01S00016.ns2700 +++| IF SCRNPT1 EQ FKEYROW+1+SHIFTFKEY 02285 M01S00017.ns2700 +++| OR SCRNPT1 EQ FKEYROW+2*(2+SHIFTFKEY)-1 THEN
Line S00022 Modification History | |
---|---|
M01 (Added by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02286 M01S00022.ns2675 +++| VDTCLL(0,SCRNPT1); 02287 M00S02008.fsescrn +++| END 02288 M00S02009.fsescrn +++| ATTRIBMASK[0] = 0; # CLEAR MASK # 02289 M00S02010.fsescrn +++| GOTO PTDONE; 02290 M00S02011.fsescrn +++| 02291 M00S02012.fsescrn +++|PTEMPTY: 02292 M00S02013.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET UP AN ATTR BYTE # 02293 M00S02014.fsescrn +++| VDTSAM(0); 02294 M00S02015.fsescrn +++| VDTCLL(0,SCRNPT1); 02295 M00S02016.fsescrn +++| GOTO PTDONE; 02296 M00S02017.fsescrn +++| 02297 M00S02018.fsescrn +++|PTCMD: 02298 M00S02019.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); # SET UP AN ATTR BYTE # 02299 M00S02020.fsescrn +++| VDTSAM(0); 02300 M00S02021.fsescrn +++| VDTCLL(0,COMMANDROW); 02301 M00S02022.fsescrn +++| GOTO PTDONE; 02302 M00S02023.fsescrn +++| 02303 M00S02024.fsescrn +++|PTRESPONSE: 02304 M00S02025.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); # SET ATTRIBUTE POSITION # 02305 M00S02026.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT); 02306 M00S02027.fsescrn +++| VDTCLL(0,RESPONSEROW); 02307 M00S02028.fsescrn +++| ATTRIBMASK[0] = 0; 02308 M00S02029.fsescrn +++| # FALL THROUGH TO PTDONE # 02309 M00S02030.fsescrn +++|PTDONE: 02310 M00S02031.fsescrn +++| 02311 M00S02032.fsescrn +++| END 02312 M00S02033.fsescrn +++| END 02313 M00S02034.fsescrn +++| 02314 M00S02035.fsescrn +++| IF ERRCURSOR GQ 0 THEN 02315 M00S02036.fsescrn +++| BEGIN 02316 M00S02037.fsescrn +++| XCURSOR=ERRCURSOR; 02317 M00S02038.fsescrn +++| IF YCURSOR EQ COMMANDROW THEN 02318 M00S02039.fsescrn +++| BEGIN # IF COMMAND ROW # 02319 M00S02040.fsescrn +++| IF TABLOCKMDE[0] THEN 02320 M00S02041.fsescrn +++| BEGIN # SET ATTRIBUTE # 02321 M00S02042.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); 02322 M00S02043.fsescrn +++| VDTSAM(0); 02323 M00S02044.fsescrn +++| END 02324 M00S02045.fsescrn +++| VDTCLL(0,COMMANDROW); 02325 M00S02046.fsescrn +++| FOR SCRNPT2 = 0 STEP 1 UNTIL LENGTH(CMDLIN) - 1 DO 02326 M00S02047.fsescrn +++| BEGIN # WRITE COMMAND # 02327 M00S02048.fsescrn +++| GETCHAR(CMDLINE,SCRNPT2,SCRNPT3); 02328 M00S02049.fsescrn +++| VDTCHR(XLTINTXP[SCRNPT3]); 02329 M00S02050.fsescrn +++| END 02330 M00S02051.fsescrn +++| ROWPAINT[COMMANDROW]=TRUE; 02331 M00S02052.fsescrn +++| END 02332 M00S02053.fsescrn +++| END 02333 M00S02054.fsescrn +++| ELSE 02334 M00S02055.fsescrn +++| BEGIN # NO NEED TO PAINT # 02335 M00S02056.fsescrn +++| IF TABLOCKMDE[0] THEN 02336 M00S02057.fsescrn +++| BEGIN # INSURE ATTRIBUTE # 02337 M00S02058.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); 02338 M00S02059.fsescrn +++| VDTSAM(0); 02339 M00S02060.fsescrn +++| END 02340 M00S02061.fsescrn +++| END 02341 M00S02062.fsescrn +++| 02342 M00S02063.fsescrn +++| IF ERRSTRING NQ " $" THEN 02343 M00S02064.fsescrn +++| BEGIN 02344 M00S02065.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); 02345 M00S02066.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT); 02346 M00S02067.fsescrn +++| VDTCLL(0,RESPONSEROW); 02347 M00S02068.fsescrn +++| TTSTR(ERRSTRING); 02348 M00S02069.fsescrn +++| ATTRIBMASK[0] = 0; 02349 M00S02070.fsescrn +++| ROWPAINT[RESPONSEROW]=TRUE; 02350 M00S02071.fsescrn +++| END 02351 M00S02072.fsescrn +++| 02352 M00S02073.fsescrn +++| POSZ(CURF(CURFILE)); 02353 M00S02074.fsescrn +++| IF XCURSOR LS 0 THEN XCURSOR=0; 02354 M00S02075.fsescrn +++| IF XCURSOR GR USRNUMCOL THEN 02355 M00S02076.fsescrn +++| BEGIN # IF CURSOR OFF EDGE OF SCREEN # 02356 M00S02077.fsescrn +++| XCURSOR=0; 02357 M00S02078.fsescrn +++| IF ERRSTRING EQ " $" THEN 02358 M00S02079.fsescrn +++| BEGIN # IF NO OTHER ERROR MESSAGE # 02359 M00S02080.fsescrn +++| ERRSTRING = "CURSOR RESET FROM BEYOND EDGE OF SCREEN$"; 02360 M00S02081.fsescrn +++| CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 02361 M00S02082.fsescrn +++| IF TABLOCKMDE[0] THEN 02362 M00S02083.fsescrn +++| BEGIN 02363 M00S02084.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); 02364 M00S02085.fsescrn +++| VDTSAM(MSKPROTECT); 02365 M00S02086.fsescrn +++| END 02366 M00S02087.fsescrn +++| CONTROL FI; # END OF NOT MULTI USER FSE # 02367 M00S02088.fsescrn +++| VDTCLL(0,RESPONSEROW); 02368 M00S02089.fsescrn +++| TTSTR(ERRSTRING); 02369 M00S02090.fsescrn +++| ATTRIBMASK[0] = 0; 02370 M00S02091.fsescrn +++| ROWPAINT[RESPONSEROW]=TRUE; 02371 M00S02092.fsescrn +++| END 02372 M00S02093.fsescrn +++| END 02373 M00S02094.fsescrn +++| VDTPOS(XCURSOR,YCURSOR); 02374 M00S02095.fsescrn +++| 02375 M00S02096.fsescrn +++| IOEND # PAINTSCREEN # 02376 M00S02097.fsescrn +++|PAGE # GLOBAL LOCATE/CHANGE PROMPT # 02377 M00S02098.fsescrn +++| 02378 M00S02099.fsescrn +++| 02379 M00S02100.fsescrn +++|PROC GLOBALPROMPT; 02380 M00S02101.fsescrn +++| IOBEGIN(GLOBALPROMPT) 02381 M00S02102.fsescrn +++|# 02382 M00S02103.fsescrn +++|** GLOBALPROMPT - ASK QUESTION FOR GLOBAL OPERATIONS. 02383 M00S02104.fsescrn +++|* 02384 M00S02105.fsescrn +++|* THIS ROUTINE PROVIDES SCREEN FORMATTING AND INTERACTIVE 02385 M00S02106.fsescrn +++|* DIALOGUE FOR THE GENERAL CATEGORY OF GLOBAL SEARCH AND 02386 M00S02107.fsescrn +++|* GLOBAL CHANGES. THESE FUNCTIONS REQUIRE INTERMITTENT 02387 M00S02108.fsescrn +++|* CALLS TO A SCREEN DRIVER WHILE PROCESSING A FILE. THE 02388 M00S02109.fsescrn +++|* ACTUAL PROCESSING CODE INTERFACES TO EITHER GLOBALLOCATE 02389 M00S02110.fsescrn +++|* OR GLOBALCHANGE. THESE ROUTINES PERFORM PRELIMINARY 02390 M00S02111.fsescrn +++|* OPERATIONS AND THEN PASS THE CALL TO THIS ROUTINE. THEN 02391 M00S02112.fsescrn +++|* THE INTERFACE ROUTINE ANALYZES THE USERS REPLY. 02392 M00S02113.fsescrn +++|* 02393 M00S02114.fsescrn +++|* GLOBALPROMPT HAS THREE BASIC FUNCTIONS. FIRST, IT DOES 02394 M00S02115.fsescrn +++|* INITIAL SCREEN FORMATTING ON THE FIRST CALL OF THE GLOBAL 02395 M00S02116.fsescrn +++|* OPERATION OR THE FIRST CALL AFTER A DIALOGUE. SECOND, IT 02396 M00S02117.fsescrn +++|* DISPLAYS EACH LINE OF TEXT AS THEY BECOME AVAILABLE. 02397 M00S02118.fsescrn +++|* THIRD, WHEN THE DISPLAY IS FULL OR THE OPERATION IS ABOUT 02398 M00S02119.fsescrn +++|* TO FINISH, GLOBALPROMPT PROMPTS THE USER FOR INSTRUCTIONS. 02399 M00S02120.fsescrn +++|* 02400 M00S02121.fsescrn +++|* ENTRY SCRNPT4 - ORDINAL OF PROMPT MESSAGE. 02401 M00S02122.fsescrn +++|* SCREENMODE, PROMPTING - BOTH TRUE TO DO ANYTHING. 02402 M00S02123.fsescrn +++|* ROWSUSED - AS INITIALIZED OR LEFT BY PREVIOUS CALL. 02403 M00S02124.fsescrn +++|* LINCTR - INDICATES FINAL CALL OF GLOBAL OPERATION. 02404 M00S02125.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02405 M00S02126.fsescrn +++|* COMMANDROW, TITLEROW[ALL], NUMROWS[ALL] - SETUP. 02406 M00S02127.fsescrn +++|* 02407 M00S02128.fsescrn +++|* EXIT SCRNPT5=1 IF PROMPT REALLY OCCURRED, ELSE 0. 02408 M00S02129.fsescrn +++|* TTYLIN - POSSIBLY INPUT TEXT. 02409 M00S02130.fsescrn +++|* TMPLIN - OLD VERSION OF TTYLIN IF TTYLIN CHANGED. 02410 M00S02131.fsescrn +++|* ROWLNPTR[ALL] - INDICATE WHICH FILE LINE ON ROW. 02411 M00S02132.fsescrn +++|* ROWUSED - UPDATED. 02412 M00S02133.fsescrn +++|* ROWPAINT[THIS SPLIT] - TRUE. 02413 M00S02134.fsescrn +++|* TITLE1LIN, TITLE2LIN - CLEARED. 02414 M00S02135.fsescrn +++|* 02415 M00S02136.fsescrn +++|* MACROS GETCHAR. 02416 M00S02137.fsescrn +++|* 02417 M00S02138.fsescrn +++|* CALLS VDTCLL, VDTPOS, TTLPAD, TTSTR, VDTCHR, PAINTNONE, 02418 M00S02139.fsescrn +++|* COPYLIN, ASKUSER, PAINTSPLIT. 02419 M00S02140.fsescrn +++|* 02420 M00S02141.fsescrn +++|* USES P<FROM>, SCRNPT1, SCRNPT2, SCRNPT3, SCRNPT6. 02421 M00S02142.fsescrn +++|# 02422 M00S02143.fsescrn +++| ARRAY GLBLMSGS [1:4] S(8); 02423 M00S02144.fsescrn +++| BEGIN 02424 M00S02145.fsescrn +++| ITEM GLBLTITLE C(0,0,40) = [ "LOCATED LINES$", 02425 M00S02146.fsescrn +++| "LOCATED LINES$", "CHANGED LINES$", "CHANGED LINES$" ]; 02426 M00S02147.fsescrn +++| ITEM GLBLPROMPT C(4,0,40) = [ 02427 M00S02148.fsescrn +++| "ENTER LINE NUMBER OR PRESS NEXT$", 02428 M00S02149.fsescrn +++| "ENTER LINE NUMBER OR PRESS NEXT$", 02429 M00S02150.fsescrn +++| "ENTER UNDO OR PRESS NEXT FOR MORE$", 02430 M00S02151.fsescrn +++| "ENTER UNDO OR PRESS NEXT TO END$" ]; 02431 M00S02152.fsescrn +++| END 02432 M00S02153.fsescrn +++| 02433 M00S02154.fsescrn +++| SCRNPT5=0; 02434 M00S02155.fsescrn +++| 02435 M00S02156.fsescrn +++| IF NOT (SCREENMODE AND PROMPTING) THEN IORET 02436 M00S02157.fsescrn +++| 02437 M00S02158.fsescrn +++| IF ROWSUSED EQ 0 THEN # INIT DISPLAY # 02438 M00S02159.fsescrn +++| BEGIN 02439 M00S02160.fsescrn +++| VDTCLL(0,COMMANDROW); 02440 M00S02161.fsescrn +++| VDTCLL(0,RESPONSEROW); 02441 M00S02162.fsescrn +++| TITLE1LINE[0]=NULLIN; 02442 M00S02163.fsescrn +++| TITLE2LINE[0]=NULLIN; 02443 M00S02164.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL VTYMAX DO ROWLNPTR[SCRNPT1]=0; 02444 M00S02165.fsescrn +++| FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL 02445 M00S02166.fsescrn +++| TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO VDTCLL(0,SCRNPT1); 02446 M00S02167.fsescrn +++| VDTPOS(0,TITLEROW[CURSPLIT]); 02447 M00S02168.fsescrn +++| TTSTR("F$"); 02448 M00S02169.fsescrn +++| TTLCSTR("ILE $"); 02449 M00S02170.fsescrn +++| TTLFN(FILENAM[SPLITFILE[CURSPLIT]]); 02450 M00S02171.fsescrn +++| TTSTR(" D$"); 02451 M00S02172.fsescrn +++| TTLCSTR("ISPLAYING $"); 02452 M00S02173.fsescrn +++| P<FROM>=LOC(GLBLTITLE[SCRNPT4]); 02453 M00S02174.fsescrn +++| TTLCSTR(FROM); 02454 M00S02175.fsescrn +++| END 02455 M00S02176.fsescrn +++| 02456 M00S02177.fsescrn +++| IF LINCTR LS LARGENUM THEN # NOT FINAL CALL # 02457 M00S02178.fsescrn +++| BEGIN 02458 M00S02179.fsescrn +++| ROWSUSED=ROWSUSED+1; 02459 M00S02180.fsescrn +++| # PRINT ONE TEXT LINE NEXT POSITION # 02460 M00S02181.fsescrn +++| VDTPOS(0,TITLEROW[CURSPLIT]+ROWSUSED); 02461 M00S02182.fsescrn +++| ROWLNPTR[TITLEROW[CURSPLIT]+ROWSUSED]=CURRENT-TOPF(CURFILE); 02462 M00S02183.fsescrn +++| TTLPAD(CURRENT-TOPF(CURFILE),7," "); 02463 M00S02184.fsescrn +++| TTSTR(" $"); 02464 M00S02185.fsescrn +++| SCRNPT6 = -1; # NUMBER OF BLANKS SO FAR, - 1 # 02465 M00S02186.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL MIN(LENGTH(LIN)-1,VTXMAX-8) DO 02466 M00S02187.fsescrn +++| BEGIN 02467 M00S02188.fsescrn +++| GETCHAR(LINE,SCRNPT1,SCRNPT2); 02468 M00S02189.fsescrn +++| IF SCRNPT2 EQ CBLANK THEN 02469 M00S02190.fsescrn +++| BEGIN # IF CHARACTER IS A BLANK # 02470 M00S02191.fsescrn +++| SCRNPT6 = SCRNPT6 + 1; 02471 M00S02192.fsescrn +++| END 02472 M00S02193.fsescrn +++| ELSE 02473 M00S02194.fsescrn +++| BEGIN # NOT A BLANK # 02474 M00S02195.fsescrn +++| IF SCRNPT6 GQ 0 THEN 02475 M00S02196.fsescrn +++| BEGIN # IF SOME BLANKS HAVE BEEN SEEN # 02476 M00S02197.fsescrn +++| IF SCRNPT6 GQ VTNUMBLNK[0] THEN 02477 M00S02198.fsescrn +++| BEGIN # IF AT OR PAST THRESHOLD # 02478 M00S02199.fsescrn +++| VDTPOS(SCRNPT1+8,VTYCUR); 02479 M00S02200.fsescrn +++| END 02480 M00S02201.fsescrn +++| ELSE 02481 M00S02202.fsescrn +++| BEGIN # NOT WORTH VDTPOS # 02482 M00S02203.fsescrn +++| SCRNPT3 = XLTINTXP[CBLANK];
Line S02204 Modification History | |
---|---|
M01 (Removed by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02483 M01S02204.ns2444a ---| FOR DUMB = 0 STEP 1 UNTIL SCRNPT6 DO
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02484 M01S00002.ns2444a +++| FOR SCRNPT6 = SCRNPT6 STEP -1 UNTIL 0 DO 02485 M00S02205.fsescrn +++| BEGIN # SEND BLANKS # 02486 M00S02206.fsescrn +++| VDTCHR(SCRNPT3); 02487 M00S02207.fsescrn +++| END 02488 M00S02208.fsescrn +++| END 02489 M00S02209.fsescrn +++| SCRNPT6 = -1; # RESET BLANK COUNT # 02490 M00S02210.fsescrn +++| END 02491 M00S02211.fsescrn +++| SCRNPT2 = XLTINTXP[SCRNPT2]; 02492 M00S02212.fsescrn +++| VDTCHR(SCRNPT2); 02493 M00S02213.fsescrn +++| END 02494 M00S02214.fsescrn +++| END 02495 M00S02215.fsescrn +++| END 02496 M00S02216.fsescrn +++| 02497 M00S02217.fsescrn +++| IF ROWSUSED LS NUMROWS[CURSPLIT] AND LINCTR LS LARGENUM 02498 M00S02218.fsescrn +++| THEN IORET 02499 M00S02219.fsescrn +++| 02500 M00S02220.fsescrn +++| PAINTNONE; # SUPPRESS PAINTSCREEN OUTPUT # 02501 M00S02221.fsescrn +++| COPYLIN(TTYLIN,TMPLIN); # PRESERVE OLD TTYLIN # 02502 M00S02222.fsescrn +++| P<FROM>=LOC(GLBLPROMPT[SCRNPT4]); 02503 M00S02223.fsescrn +++| ASKUSER(FROM,0); 02504 M00S02224.fsescrn +++| PROMPTING=TRUE; # SINCE ASKUSER CLEARS # 02505 M00S02225.fsescrn +++| PAINTSPLIT; # SO SCREEN WILL BE RE-BUILT # 02506 M00S02226.fsescrn +++| SCRNPT5=1; # INDICATE PROMPT ON THIS CYCLE # 02507 M00S02227.fsescrn +++| ROWSUSED=0; # INDICATE FRESH BATCH NEXT TIME # 02508 M00S02228.fsescrn +++| 02509 M00S02229.fsescrn +++| IOEND # OF GLOBALPROMPT # 02510 M00S02230.fsescrn +++| 02511 M00S02231.fsescrn +++| 02512 M00S02232.fsescrn +++|PROC GLOBALLOCATE; 02513 M00S02233.fsescrn +++| IOBEGIN(GLOBALLOCATE) 02514 M00S02234.fsescrn +++|# 02515 M00S02235.fsescrn +++|** GLOBALLOCATE - GLOBAL LOCATE PROMPTING INTERFACE. 02516 M00S02236.fsescrn +++|* 02517 M00S02237.fsescrn +++|* GLOBALLOCATE IS AN INTERFACE BETWEEN THE LOCATE 02518 M00S02238.fsescrn +++|* COMMAND PROCESSING AND THE GLOBALPROMPT ROUTINE. 02519 M00S02239.fsescrn +++|* GLOBAL SEARCHES DROP INTO A SECONDARY DISPLAY AND PROMPT. 02520 M00S02240.fsescrn +++|* GLOBALLOCATE USES GLOBALPROMPT FOR CONTROL OVER THE 02521 M00S02241.fsescrn +++|* DISPLAY AND USER'S REPLY, AND PERFORMS ITS OWN 02522 M00S02242.fsescrn +++|* ANALYSIS OF REPLIES. GLOBALLOCATE CAN DIRECT THE COMMAND 02523 M00S02243.fsescrn +++|* DRIVER TO SHUTDOWN THE SEARCH ON USER REQUEST. 02524 M00S02244.fsescrn +++|* 02525 M00S02245.fsescrn +++|* ENTRY LINCTR - INDICATES LAST CALL OF OPERATION. 02526 M00S02246.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02527 M00S02247.fsescrn +++|* 02528 M00S02248.fsescrn +++|* EXIT LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN. 02529 M00S02249.fsescrn +++|* CURRENT - POSSIBLY MOVED. 02530 M00S02250.fsescrn +++|* 02531 M00S02251.fsescrn +++|* MACROS GETCHAR. 02532 M00S02252.fsescrn +++|* 02533 M00S02253.fsescrn +++|* CALLS GLOBALPROMPT, WINDOLIN, POSZ. 02534 M00S02254.fsescrn +++|* 02535 M00S02255.fsescrn +++|* USES TTYLIN, SCRNPT4, SCRNPT5. 02536 M00S02256.fsescrn +++|# 02537 M00S02257.fsescrn +++| ITEM TMP1, TMP2, TMP3; # USE INSTANTLY # 02538 M00S02258.fsescrn +++| 02539 M00S02259.fsescrn +++| SCRNPT4=1; # INDICATE MESSAGE SELECTION # 02540 M00S02260.fsescrn +++| IF LINCTR EQ LARGENUM THEN SCRNPT4=2; 02541 M00S02261.fsescrn +++| GLOBALPROMPT; 02542 M00S02262.fsescrn +++| IF SCRNPT5 EQ 0 THEN IORET # IF NO REPLY YET # 02543 M00S02263.fsescrn +++| 02544 M00S02264.fsescrn +++| # EXIT IMMEDIATELY IF USER ESCAPING WITH FKEY # 02545 M00S02265.fsescrn +++| IF ESCAPE THEN IORET 02546 M00S02266.fsescrn +++| 02547 M00S02267.fsescrn +++| TMP1=-1; # SEE IF NUMERIC REPLY # 02548 M00S02268.fsescrn +++| FOR TMP2=0 STEP 1 UNTIL LENGTH(TTYLIN)-1 DO 02549 M00S02269.fsescrn +++| BEGIN 02550 M00S02270.fsescrn +++| GETCHAR(TTYLINE,TMP2,TMP3); 02551 M00S02271.fsescrn +++| IF TMP3 GQ CDIGIT0 AND TMP3 LQ CDIGIT9 THEN 02552 M00S02272.fsescrn +++| BEGIN 02553 M00S02273.fsescrn +++| IF TMP1 LS 0 THEN TMP1=0; 02554 M00S02274.fsescrn +++| TMP1=TMP1*10 + TMP3-CDIGIT0; 02555 M00S02275.fsescrn +++| END 02556 M00S02276.fsescrn +++| END 02557 M00S02277.fsescrn +++| 02558 M00S02278.fsescrn +++| IF TMP1 LS 0 AND YCURSOR GR 0 AND ROWLNPTR[YCURSOR-1] NQ 0 02559 M00S02279.fsescrn +++| THEN TMP1=ROWLNPTR[YCURSOR-1]; # IF CURSOR POINTED # 02560 M00S02280.fsescrn +++| 02561 M00S02281.fsescrn +++| IF TMP1 GQ 0 THEN # STOP ON SIGNIFICANT REPLY # 02562 M00S02282.fsescrn +++| BEGIN 02563 M00S02283.fsescrn +++| LINCTR=LARGENUM; # TO STOP DORANGE # 02564 M00S02284.fsescrn +++| TMP1=TMP1+TOPF(CURFILE); 02565 M00S02285.fsescrn +++| WINDOLIN(TMP1,CURFILE); 02566 M00S02286.fsescrn +++| POSZ(TMP1); 02567 M00S02287.fsescrn +++| END 02568 M00S02288.fsescrn +++| 02569 M00S02289.fsescrn +++| IOEND # OF GLOBALLOCATE # 02570 M00S02290.fsescrn +++| 02571 M00S02291.fsescrn +++| 02572 M00S02292.fsescrn +++|PROC GLOBALCHANGE; 02573 M00S02293.fsescrn +++| IOBEGIN(GLOBALCHANGE) 02574 M00S02294.fsescrn +++|# 02575 M00S02295.fsescrn +++|** GLOBALCHANGE - GLOBAL CHANGE PROMPTING INTERFACE. 02576 M00S02296.fsescrn +++|* 02577 M00S02297.fsescrn +++|* ENTRY LINCTR - INDICATES LAST CALL OF OPERATION. 02578 M00S02298.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02579 M00S02299.fsescrn +++|* 02580 M00S02300.fsescrn +++|* EXIT LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN. 02581 M00S02301.fsescrn +++|* CMDLIN - POSSIBLY UNDO COMMAND. 02582 M00S02302.fsescrn +++|* 02583 M00S02303.fsescrn +++|* MACROS GETCHAR. 02584 M00S02304.fsescrn +++|* 02585 M00S02305.fsescrn +++|* CALLS GLOBALPROMPT, EXCHWD, DSPLCOD, STARTCMD. 02586 M00S02306.fsescrn +++|* 02587 M00S02307.fsescrn +++|* USES TMPLIN, SCRNPT4, SCRNPT5. 02588 M00S02308.fsescrn +++|* 02589 M00S02309.fsescrn +++|* NOTE TTYLIN USED WITH RESTORATION. 02590 M00S02310.fsescrn +++|# 02591 M00S02311.fsescrn +++| 02592 M00S02312.fsescrn +++| ITEM TMP1, TMP2, TMP3; # USE INSTANTLY # 02593 M00S02313.fsescrn +++| 02594 M00S02314.fsescrn +++| IF NOT (SCREENMODE AND PROMPTING) THEN IORET # EFFICIENT # 02595 M00S02315.fsescrn +++| 02596 M00S02316.fsescrn +++| SCRNPT4=3; # INDICATE MESSAGE SELECTION # 02597 M00S02317.fsescrn +++| IF LINCTR EQ LARGENUM THEN SCRNPT4=4; 02598 M00S02318.fsescrn +++| GLOBALPROMPT; 02599 M00S02319.fsescrn +++| IF SCRNPT5 EQ 0 THEN IORET # LEAVE IF NO REPLY YET # 02600 M00S02320.fsescrn +++| 02601 M00S02321.fsescrn +++| # GET OUT IF USER ESCAPING WITH FKEY # 02602 M00S02322.fsescrn +++| IF ESCAPE THEN IORET 02603 M00S02323.fsescrn +++| 02604 M00S02324.fsescrn +++| EXCHWD(BUFWIDP1,TTYLIN,TMPLIN); # TTYLIN AS WAS, TMPLIN=INPUT # 02605 M00S02325.fsescrn +++| TMP1=-1; # SEARCH FOR ALPHABETIC REPLY # 02606 M00S02326.fsescrn +++| FOR TMP2=0 STEP 1 UNTIL LENGTH(TMPLIN)-1 DO 02607 M00S02327.fsescrn +++| BEGIN 02608 M00S02328.fsescrn +++| GETCHAR(TMPLINE,TMP2,TMP3); 02609 M00S02329.fsescrn +++| DSPLCOD(TMP3); 02610 M00S02330.fsescrn +++| IF TMP1 LS 0 AND TMP3 GQ CLETTERA AND TMP3 LQ CLETTERZ 02611 M00S02331.fsescrn +++| THEN TMP1=TMP3; 02612 M00S02332.fsescrn +++| END 02613 M00S02333.fsescrn +++| IF TMP1 EQ "U" THEN 02614 M00S02334.fsescrn +++| BEGIN 02615 M00S02335.fsescrn +++| LINCTR=LARGENUM; # TO STOP DORANGE # 02616 M00S02336.fsescrn +++| SETCHAR(CMDLINE,0,CLETTERU); # CREATE UNDO COMMAND # 02617 M00S02337.fsescrn +++| SETCHAR(CMDLINE,1,CENDLINE); 02618 M00S02338.fsescrn +++| STARTCMD; 02619 M00S02339.fsescrn +++| END 02620 M00S02340.fsescrn +++| 02621 M00S02341.fsescrn +++| IOEND # OF GLOBALCHANGE # 02622 M00S02342.fsescrn +++|PAGE # GENERAL LINE TO SCREEN DISPLAYS # 02623 M00S02343.fsescrn +++| 02624 M00S02344.fsescrn +++|# 02625 M00S02345.fsescrn +++|** DEDICATED DISPLAY DRIVERS. 02626 M00S02346.fsescrn +++|* 02627 M00S02347.fsescrn +++|* BGNDSPLAY, ENDDSPLAY, AND EOLDSPLAY PROVIDE A GENERAL 02628 M00S02348.fsescrn +++|* MECHANISM FOR COMMAND PROCESSORS IN THE EDITOR TO 02629 M00S02349.fsescrn +++|* OVERRIDE THE NORMAL DISPLAY AND DISPLAY SPECIALIZED 02630 M00S02350.fsescrn +++|* INFORMATION. AT THE CURRENT TIME, THESE ROUTINES ARE 02631 M00S02351.fsescrn +++|* COMPILED ONLY IN THE SINGLE-USER VERSION OF THE EDITOR 02632 M00S02352.fsescrn +++|* DUE TO THEIR LIMITED SCOPE OF NEED. 02633 M00S02353.fsescrn +++|* 02634 M00S02354.fsescrn +++|* THE CALLER USES BGNDSPLAY TO TAKE OVER THE SCREEN, 02635 M00S02355.fsescrn +++|* THEN USES ANY OF THE FSEFORM ROUTINES TO FORMAT EACH 02636 M00S02356.fsescrn +++|* LINE OF TEXT, CALLING EOLDSPLAY TO ADVANCE THE CURSOR 02637 M00S02357.fsescrn +++|* BETWEEN LINES. THE DISPLAY IS COMPLETED BY ENDDSPLAY. 02638 M00S02358.fsescrn +++|* NOTE THAT EOLDSPLAY INCLUDES LOGIC TO TURN PAGES. 02639 M00S02359.fsescrn +++|# 02640 M00S02360.fsescrn +++| 02641 M00S02361.fsescrn +++|CONTROL IFEQ SINGLE,1; 02642 M00S02362.fsescrn +++| 02643 M00S02363.fsescrn +++| PROC BGNDSPLAY; 02644 M00S02364.fsescrn +++|# TITLE BGNDSPLAY - INTIALIZE DEDICATED DISPLAY FORMAT. # 02645 M00S02365.fsescrn +++| 02646 M00S02366.fsescrn +++| BEGIN # BGNDSPLAY # 02647 M00S02367.fsescrn +++| 02648 M00S02368.fsescrn +++|# 02649 M00S02369.fsescrn +++|** BGNDSPLAY - INITIALIZE DEDICATED DISPLAY FORMAT. 02650 M00S02370.fsescrn +++|* 02651 M00S02371.fsescrn +++|* PROC BGNDSPLAY 02652 M00S02372.fsescrn +++|* 02653 M00S02373.fsescrn +++|* ENTRY SCREENMODE - ON FOR NON-TRIVIAL OPERATION. 02654 M00S02374.fsescrn +++|* 02655 M00S02375.fsescrn +++|* EXIT SCRNPT1 - INITIALIZED AS PAGE COUNTER. 02656 M00S02376.fsescrn +++|* SCREEN CLEARED, CURSOR POSITIONED. 02657 M00S02377.fsescrn +++|* TITLE1LIN, TITLE2LIN - CLEARED. 02658 M00S02378.fsescrn +++|* 02659 M00S02379.fsescrn +++|* CALLS PAINTNONE, VDTCLS, VDTPOS. 02660 M00S02380.fsescrn +++|# 02661 M00S02381.fsescrn +++| 02662 M00S02382.fsescrn +++| IF SCREENMODE THEN 02663 M00S02383.fsescrn +++| BEGIN 02664 M00S02384.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN 02665 M00S02385.fsescrn +++| BEGIN # IF IN SPLIT SCREEN MODE # 02666 M00S02386.fsescrn +++| IF CURSPLIT EQ 1 THEN 02667 M00S02387.fsescrn +++| BEGIN # IF FIRST SPLIT IS CURRENT # 02668 M00S02388.fsescrn +++| CURSPLIT = 2; # CLEAR FOR OTHER SPLIT # 02669 M00S02389.fsescrn +++| PAINTNONE; 02670 M00S02390.fsescrn +++| CURSPLIT = 1; # RESET # 02671 M00S02391.fsescrn +++| END 02672 M00S02392.fsescrn +++| ELSE 02673 M00S02393.fsescrn +++| BEGIN # CURRENT SPLIT IN THE SECOND # 02674 M00S02394.fsescrn +++| CURSPLIT = 1; # CLEAR FOR OTHER SPLIT # 02675 M00S02395.fsescrn +++| PAINTNONE; 02676 M00S02396.fsescrn +++| CURSPLIT = 2; # RESET # 02677 M00S02397.fsescrn +++| END 02678 M00S02398.fsescrn +++| END 02679 M00S02399.fsescrn +++| PAINTNONE; 02680 M00S02400.fsescrn +++| VDTCLS; 02681 M00S02401.fsescrn +++| TITLE1LINE[0]=NULLIN; 02682 M00S02402.fsescrn +++| TITLE2LINE[0]=NULLIN; 02683 M00S02403.fsescrn +++| SCRNPT1=TITLEROW[1]; 02684 M00S02404.fsescrn +++| VDTPOS(0,SCRNPT1); 02685 M00S02405.fsescrn +++| END 02686 M00S02406.fsescrn +++| 02687 M00S02407.fsescrn +++| END # BGNDSPLAY # 02688 M00S02408.fsescrn +++| 02689 M00S02409.fsescrn +++| 02690 M00S02410.fsescrn +++| PROC ENDDSPLAY; 02691 M00S02411.fsescrn +++| BEGIN 02692 M00S02412.fsescrn +++|# 02693 M00S02413.fsescrn +++|** ENDDSPLAY - TERMINATE SPECIAL DISPLAY SEQUENCE. 02694 M00S02414.fsescrn +++|* 02695 M00S02415.fsescrn +++|* EXIT ROWPAINT[ALL] - TRUE. 02696 M00S02416.fsescrn +++|* 02697 M00S02417.fsescrn +++|* CALLS EOLDSPLAY, PAINTALL. 02698 M00S02418.fsescrn +++|* 02699 M00S02419.fsescrn +++|* USES SCRNPT1. 02700 M00S02420.fsescrn +++|# 02701 M00S02421.fsescrn +++| SCRNPT1=VTYMAX; 02702 M00S02422.fsescrn +++| EOLDSPLAY; 02703 M00S02423.fsescrn +++| PAINTALL; 02704 M00S02424.fsescrn +++| END # OF ENDDSPLAY # 02705 M00S02425.fsescrn +++| 02706 M00S02426.fsescrn +++| 02707 M00S02427.fsescrn +++| PROC EOLDSPLAY; 02708 M00S02428.fsescrn +++| BEGIN 02709 M00S02429.fsescrn +++|# 02710 M00S02430.fsescrn +++|** EOLDSPLAY - LINE BY LINE CONTROL FOR SPECIAL DISPLAYS. 02711 M00S02431.fsescrn +++|* 02712 M00S02432.fsescrn +++|* ENTRY SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 02713 M00S02433.fsescrn +++|* SCRNPT1 - AS INITIALIZED BY BGNDSPLAY OR INCREMENTED 02714 M00S02434.fsescrn +++|* IN LAST CALL TO EOLDSPLAY. 02715 M00S02435.fsescrn +++|* 02716 M00S02436.fsescrn +++|* EXIT SCRNPT1 - INCREMENTED OR RE-INITIALIZED. 02717 M00S02437.fsescrn +++|* CURSOR MOVED TO NEXT LINE. 02718 M00S02438.fsescrn +++|* 02719 M00S02439.fsescrn +++|* CALLS ASKUSER, BGNDSPLAY, VDTPOS, TTBRK. 02720 M00S02440.fsescrn +++|* 02721 M00S02441.fsescrn +++|* USES SCRNPT2. 02722 M00S02442.fsescrn +++|# 02723 M00S02443.fsescrn +++| IF SCREENMODE THEN 02724 M00S02444.fsescrn +++| BEGIN 02725 M00S02445.fsescrn +++| SCRNPT1=SCRNPT1+1; 02726 M00S02446.fsescrn +++| SCRNPT2=USRNUMLIN; 02727 M00S02447.fsescrn +++| IF SCRNPT2 EQ COMMANDROW THEN SCRNPT2=SCRNPT2-1; 02728 M00S02448.fsescrn +++| IF SCRNPT1 GR SCRNPT2 THEN 02729 M00S02449.fsescrn +++| BEGIN 02730 M00S02450.fsescrn +++| ASKUSER("PRESS NEXT TO CONTINUE$",0); 02731 M00S02451.fsescrn +++| BGNDSPLAY; 02732 M00S02452.fsescrn +++| END 02733 M00S02453.fsescrn +++| ELSE VDTPOS(0,SCRNPT1); 02734 M00S02454.fsescrn +++| END 02735 M00S02455.fsescrn +++| ELSE TTBRK; 02736 M00S02456.fsescrn +++| END # OF EOLDSPLAY # 02737 M00S02457.fsescrn +++| 02738 M00S02458.fsescrn +++|CONTROL FI; 02739 M00S02459.fsescrn +++|PAGE # SCREEN SETUP/MANIPULATION # 02740 M00S02460.fsescrn +++| 02741 M00S02461.fsescrn +++| 02742 M00S02462.fsescrn +++|PROC PAINTALL; 02743 M00S02463.fsescrn +++| BEGIN 02744 M00S02464.fsescrn +++|# 02745 M00S02465.fsescrn +++|** PAINTALL - SET PAINT BITS ON ALL LINES. 02746 M00S02466.fsescrn +++|* 02747 M00S02467.fsescrn +++|* EXIT ROWPAINT[ALL] - TRUE. 02748 M00S02468.fsescrn +++|* 02749 M00S02469.fsescrn +++|* CALLS PAINTREST. 02750 M00S02470.fsescrn +++|# 02751 M00S02471.fsescrn +++| PAINTREST(0); 02752 M00S02472.fsescrn +++| END # OF PAINTALL # 02753 M00S02473.fsescrn +++| 02754 M00S02474.fsescrn +++| 02755 M00S02475.fsescrn +++|PROC PAINTNONE; 02756 M00S02476.fsescrn +++| BEGIN 02757 M00S02477.fsescrn +++|# 02758 M00S02478.fsescrn +++|** PAINTNONE - CLEAR PAINT BITS FOR ONE SPLIT. 02759 M00S02479.fsescrn +++|* 02760 M00S02480.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT TO SUPPRESS PAINT. 02761 M00S02481.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02762 M00S02482.fsescrn +++|* 02763 M00S02483.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - FALSE. 02764 M00S02484.fsescrn +++|* ROWORIG[ALL IN SPLIT] - NOMINAL. 02765 M00S02485.fsescrn +++|# 02766 M00S02486.fsescrn +++| FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL 02767 M00S02487.fsescrn +++| TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO 02768 M00S02488.fsescrn +++| BEGIN # SUPPRESS PAINTSCREEN OUTPUT # 02769 M00S02489.fsescrn +++| ROWPAINT[SCRNPT1]=FALSE; 02770 M00S02490.fsescrn +++| ROWORIG[SCRNPT1]=SCRNPT1; 02771 M00S02491.fsescrn +++| END 02772 M00S02492.fsescrn +++| END # OF PAINTNONE # 02773 M00S02493.fsescrn +++| 02774 M00S02494.fsescrn +++| 02775 M00S02495.fsescrn +++|PROC PAINTREST(PARM); 02776 M00S02496.fsescrn +++|# TITLE PAINTREST - SET PAINT BITS FOR REST OF SCREEN. # 02777 M00S02497.fsescrn +++| 02778 M00S02498.fsescrn +++| BEGIN # PAINTREST # 02779 M00S02499.fsescrn +++| 02780 M00S02500.fsescrn +++|# 02781 M00S02501.fsescrn +++|** PAINTREST - SET PAINT BITS FOR REST OF SCREEN. 02782 M00S02502.fsescrn +++|* 02783 M00S02503.fsescrn +++|* PROC PAINTREST(PARM) 02784 M00S02504.fsescrn +++|* 02785 M00S02505.fsescrn +++|* ENTRY PARM - FIRST LINE TO SET BIT FOR. 02786 M00S02506.fsescrn +++|* VTYMAX - LAST LINE. 02787 M00S02507.fsescrn +++|* 02788 M00S02508.fsescrn +++|* EXIT ROWPAINT[THOSE] - TRUE. 02789 M00S02509.fsescrn +++|# 02790 M00S02510.fsescrn +++| 02791 M00S02511.fsescrn +++| ITEM PARM I; # FIRST LINE # 02792 M00S02512.fsescrn +++| ITEM TMP1 I; # TEMPORARY STORAGE # 02793 M00S02513.fsescrn +++| 02794 M00S02514.fsescrn +++| FOR TMP1=PARM STEP 1 UNTIL VTYMAX DO 02795 M00S02515.fsescrn +++| BEGIN 02796 M00S02516.fsescrn +++| ROWPAINT[TMP1]=TRUE; 02797 M00S02517.fsescrn +++| IF ROWTYPE[TMP1] EQ ROWST"TITLE" THEN 02798 M00S02518.fsescrn +++| BEGIN 02799 M00S02519.fsescrn +++| IF ROWSPLIT[TMP1] EQ 1 THEN TITLE1LINE[0]=NULLIN; 02800 M00S02520.fsescrn +++| ELSE TITLE2LINE[0]=NULLIN; 02801 M00S02521.fsescrn +++| END 02802 M00S02522.fsescrn +++| END 02803 M00S02523.fsescrn +++| 02804 M00S02524.fsescrn +++| END # PAINTREST # 02805 M00S02525.fsescrn +++| 02806 M00S02526.fsescrn +++| 02807 M00S02527.fsescrn +++|PROC PAINTSPLIT; 02808 M00S02528.fsescrn +++|# TITLE PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT. # 02809 M00S02529.fsescrn +++| 02810 M00S02530.fsescrn +++| BEGIN # PAINTSPLIT # 02811 M00S02531.fsescrn +++| 02812 M00S02532.fsescrn +++|# 02813 M00S02533.fsescrn +++|** PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT. 02814 M00S02534.fsescrn +++|* 02815 M00S02535.fsescrn +++|* PROC PAINTSPLIT 02816 M00S02536.fsescrn +++|* 02817 M00S02537.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT TO PAINT. 02818 M00S02538.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02819 M00S02539.fsescrn +++|* 02820 M00S02540.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - TRUE. 02821 M00S02541.fsescrn +++|* 02822 M00S02542.fsescrn +++|* CALLS PAINTONESPLT. 02823 M00S02543.fsescrn +++|# 02824 M00S02544.fsescrn +++| 02825 M00S02545.fsescrn +++| PAINTONESPLT(CURSPLIT); 02826 M00S02546.fsescrn +++| 02827 M00S02547.fsescrn +++| END # PAINTSPLIT # 02828 M00S02548.fsescrn +++| 02829 M00S02549.fsescrn +++| 02830 M00S02550.fsescrn +++|PROC PAINTONESPLT(SPLIT); 02831 M00S02551.fsescrn +++|# TITLE PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT. # 02832 M00S02552.fsescrn +++| 02833 M00S02553.fsescrn +++| BEGIN # PAINTONESPLT # 02834 M00S02554.fsescrn +++| 02835 M00S02555.fsescrn +++|# 02836 M00S02556.fsescrn +++|** PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT. 02837 M00S02557.fsescrn +++|* 02838 M00S02558.fsescrn +++|* PROC PAINTONESPLT(SPLIT) 02839 M00S02559.fsescrn +++|* 02840 M00S02560.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT TO PAINT. 02841 M00S02561.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02842 M00S02562.fsescrn +++|* 02843 M00S02563.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - TRUE. 02844 M00S02564.fsescrn +++|# 02845 M00S02565.fsescrn +++| 02846 M00S02566.fsescrn +++| ITEM SPLIT; # WHICH SPLIT TO PAINT # 02847 M00S02567.fsescrn +++| ITEM TMP1; # TEMPORARY STORAGE # 02848 M00S02568.fsescrn +++| 02849 M00S02569.fsescrn +++| FOR TMP1=TITLEROW[SPLIT] STEP 1 UNTIL 02850 M00S02570.fsescrn +++| TITLEROW[SPLIT]+NUMROWS[SPLIT] DO ROWPAINT[TMP1]=TRUE; 02851 M00S02571.fsescrn +++| 02852 M00S02572.fsescrn +++| END # PAINTONESPLT # 02853 M00S02573.fsescrn +++| 02854 M00S02574.fsescrn +++| 02855 M00S02575.fsescrn +++|PROC SETUPSCREEN(I,J,K); 02856 M00S02576.fsescrn +++| BEGIN 02857 M00S02577.fsescrn +++|# 02858 M00S02578.fsescrn +++|** SETUPSCREEN - INITIALIZE ALL SCREEN FORMAT CONTROLS. 02859 M00S02579.fsescrn +++|* 02860 M00S02580.fsescrn +++|* ENTRY I - FILE BRACKET NUMBER FOR SPLIT 1. 02861 M00S02581.fsescrn +++|* J - FILE BRACKET NUMBER FOR SPLIT 2. 02862 M00S02582.fsescrn +++|* K - NUMBER OF DATA LINES IN BOTTOM SPLIT. 02863 M00S02583.fsescrn +++|* TABVTHOMEU[0] - CONTROLS SELECTION OF COMMANDROW. 02864 M00S02584.fsescrn +++|* FKEYNUMROW - WHETHER TO INCLUDE FUNCTION KEY DISPLAY. 02865 M00S02585.fsescrn +++|* 02866 M00S02586.fsescrn +++|* EXIT COMMANDROW, FKEYROW - SETUP. 02867 M00S02587.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02868 M00S02588.fsescrn +++|* TOPS(1-2), BOTS(1-2) - SETUP. 02869 M00S02589.fsescrn +++|* ALL ROW CONTROLS SETUP. 02870 M00S02590.fsescrn +++|* 02871 M00S02591.fsescrn +++|* CALLS SETTOPBOTS, SETROWTYPE.
Line S00018 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02872 M01S00018.ns2700 +++|* 02873 M01S00019.ns2700 +++|* USES SCRNPT1, SCRNPT2. 02874 M00S02592.fsescrn +++|# 02875 M00S02593.fsescrn +++| ITEM I,J,K; 02876 M00S02594.fsescrn +++| ITEM NKEYS, NTITLES; 02877 M00S02595.fsescrn +++| 02878 M00S02596.fsescrn +++| 02879 M00S02597.fsescrn +++| PROC SETROWSPLIT; 02880 M00S02598.fsescrn +++|# TITLE SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR. # 02881 M00S02599.fsescrn +++| 02882 M00S02600.fsescrn +++| BEGIN # SETROWSPLIT # 02883 M00S02601.fsescrn +++| 02884 M00S02602.fsescrn +++|# 02885 M00S02603.fsescrn +++|** SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR. 02886 M00S02604.fsescrn +++|* 02887 M00S02605.fsescrn +++|* PROC SETROWSPLIT 02888 M00S02606.fsescrn +++|* 02889 M00S02607.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT. 02890 M00S02608.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02891 M00S02609.fsescrn +++|* 02892 M00S02610.fsescrn +++|* EXIT ROWTYPE[ALL IN SPLIT] - INITIALIZED. 02893 M00S02611.fsescrn +++|* ROWSPLIT[ALL IN SPLIT] - INITIALIZED. 02894 M00S02612.fsescrn +++|* 02895 M00S02613.fsescrn +++|* CALLS PAINTSPLIT. 02896 M00S02614.fsescrn +++|* 02897 M00S02615.fsescrn +++|* USES SCRNPT1, SCRNPT5. 02898 M00S02616.fsescrn +++|# 02899 M00S02617.fsescrn +++| 02900 M00S02618.fsescrn +++| IF ROWTYPE[TITLEROW[CURSPLIT]] NQ ROWST"TITLE" 02901 M00S02619.fsescrn +++| OR ROWSPLIT[TITLEROW[CURSPLIT]] NQ CURSPLIT THEN 02902 M00S02620.fsescrn +++| BEGIN 02903 M00S02621.fsescrn +++| PAINTSPLIT; 02904 M00S02622.fsescrn +++| IF CURSPLIT EQ 1 THEN TITLE1LINE[0]=NULLIN; 02905 M00S02623.fsescrn +++| ELSE TITLE2LINE[0]=NULLIN; 02906 M00S02624.fsescrn +++| END 02907 M00S02625.fsescrn +++| ROWTYPE[TITLEROW[CURSPLIT]]=ROWST"TITLE"; 02908 M00S02626.fsescrn +++| ROWSPLIT[TITLEROW[CURSPLIT]]=CURSPLIT; 02909 M00S02627.fsescrn +++| FOR SCRNPT1=1 STEP 1 UNTIL NUMROWS[CURSPLIT] DO 02910 M00S02628.fsescrn +++| BEGIN 02911 M00S02629.fsescrn +++| SCRNPT5=SCRNPT1+TITLEROW[CURSPLIT]; 02912 M00S02630.fsescrn +++| IF ROWTYPE[SCRNPT5] NQ ROWST"TEXT" 02913 M00S02631.fsescrn +++| OR ROWSPLIT[SCRNPT5] NQ CURSPLIT THEN ROWPAINT[SCRNPT5]=TRUE; 02914 M00S02632.fsescrn +++| ROWTYPE[SCRNPT5]=ROWST"TEXT"; 02915 M00S02633.fsescrn +++| ROWSPLIT[SCRNPT5]=CURSPLIT; 02916 M00S02634.fsescrn +++| END 02917 M00S02635.fsescrn +++| 02918 M00S02636.fsescrn +++| END # SETROWSPLIT # 02919 M00S02637.fsescrn +++| 02920 M00S02638.fsescrn +++| 02921 M00S02639.fsescrn +++| PROC SETROWTYPE; 02922 M00S02640.fsescrn +++| BEGIN 02923 M00S02641.fsescrn +++|# 02924 M00S02642.fsescrn +++|** SETROWTYPE - CLASSIFY LINES BY TYPE OF DISPLAY. 02925 M00S02643.fsescrn +++|* 02926 M00S02644.fsescrn +++|* ENTRY COMMANDROW, RESPONSEROW, TITLEROW[1-2], 02927 M00S02645.fsescrn +++|* FKEYROW, SPLITFILE[1-2] - INITIALIZED. 02928 M00S02646.fsescrn +++|* VTYMAX - NUMBER OF LINES ON SCREEN. 02929 M00S02647.fsescrn +++|* 02930 M00S02648.fsescrn +++|* EXIT ROWTYPE[ALL] - INITIALIZED. 02931 M00S02649.fsescrn +++|* ROWSPLIT[ALL] - INITIALIZED. 02932 M00S02650.fsescrn +++|* CURSPLIT - INITIALIZED. 02933 M00S02651.fsescrn +++|* 02934 M00S02652.fsescrn +++|* CALLS SETROWSPLIT. 02935 M00S02653.fsescrn +++|* 02936 M00S02654.fsescrn +++|* USES SCRNPT1, SCRNPT2, SCRNPT3. 02937 M00S02655.fsescrn +++|# 02938 M00S02656.fsescrn +++| ROWTYPE[COMMANDROW]=ROWST"COMMAND"; 02939 M00S02657.fsescrn +++| ROWSPLIT[COMMANDROW]=1; 02940 M00S02658.fsescrn +++| ROWTYPE[RESPONSEROW] = ROWST"RESPONSE"; 02941 M00S02659.fsescrn +++| 02942 M00S02660.fsescrn +++| CURSPLIT=1; 02943 M00S02661.fsescrn +++| SETROWSPLIT; 02944 M00S02662.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN 02945 M00S02663.fsescrn +++| BEGIN 02946 M00S02664.fsescrn +++| CURSPLIT=2; 02947 M00S02665.fsescrn +++| SETROWSPLIT; 02948 M00S02666.fsescrn +++| END 02949 M00S02667.fsescrn +++|
Line S02668 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02950 M01S02668.ns2675 ---| SCRNPT1=-1; 02951 M01S02669.ns2675 ---| IF FKEYNUMROW EQ 1 THEN SCRNPT1=1; 02952 M01S02670.ns2675 ---| IF FKEYNUMROW EQ 2 THEN SCRNPT1=4;
Line S00023 Modification History | |
---|---|
M01 (Added by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02953 M01S00023.ns2675 +++| IF FKEYNUMROW EQ 0 THEN SCRNPT1=-1;
Line S00024 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02954 M02S00024.ns2700 ---| ELSE SCRNPT1=1+(FKEYNUMROW-1)*3;
Line S00020 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02955 M01S00020.ns2700 +++| ELSE SCRNPT1=FKEYNUMROW*(2+SHIFTFKEY)-2; 02956 M00S02671.fsescrn +++| FOR SCRNPT2=0 STEP 1 UNTIL SCRNPT1 DO 02957 M00S02672.fsescrn +++| BEGIN 02958 M00S02673.fsescrn +++| IF ROWTYPE[FKEYROW+SCRNPT2] NQ ROWST"LABEL" THEN 02959 M00S02674.fsescrn +++| BEGIN 02960 M00S02675.fsescrn +++| ROWPAINT[FKEYROW+SCRNPT2]=TRUE; 02961 M00S02676.fsescrn +++| ROWTYPE[FKEYROW+SCRNPT2]=ROWST"LABEL"; 02962 M00S02677.fsescrn +++| END 02963 M00S02678.fsescrn +++| END 02964 M00S02679.fsescrn +++| SCRNPT1=FKEYROW+SCRNPT1+1; 02965 M00S02680.fsescrn +++| SCRNPT3=VTYMAX; 02966 M00S02681.fsescrn +++| IF COMMANDROW EQ VTYMAX THEN SCRNPT3=VTYMAX-1; 02967 M00S02682.fsescrn +++| FOR SCRNPT2=SCRNPT1 STEP 1 UNTIL SCRNPT3 DO 02968 M00S02683.fsescrn +++| BEGIN 02969 M00S02684.fsescrn +++| # BLANK OUT BOTTOM OF SCREEN IF USER REQUESTED SHORT SCREEN # 02970 M00S02685.fsescrn +++| IF ROWTYPE[SCRNPT2] NQ ROWST"EMPTY" THEN ROWPAINT[SCRNPT2]=TRUE; 02971 M00S02686.fsescrn +++| ROWTYPE[SCRNPT2]=ROWST"EMPTY"; 02972 M00S02687.fsescrn +++| END 02973 M00S02688.fsescrn +++| 02974 M00S02689.fsescrn +++| END # OF SETROWTYPE # 02975 M00S02690.fsescrn +++| 02976 M00S02691.fsescrn +++| 02977 M00S02692.fsescrn +++| # ACTUAL SETUPSCREEN MAIN CODE STARTS HERE # 02978 M00S02693.fsescrn +++| 02979 M00S02694.fsescrn +++| IF NOT SCREENMODE THEN RETURN; 02980 M00S02695.fsescrn +++| 02981 M00S02696.fsescrn +++| IF TABVTHOMEU[0] THEN 02982 M00S02697.fsescrn +++| BEGIN 02983 M00S02698.fsescrn +++| COMMANDROW=0; 02984 M00S02699.fsescrn +++| RESPONSEROW=1; 02985 M00S02700.fsescrn +++| TITLEROW[1]=2; 02986 M00S02701.fsescrn +++| END 02987 M00S02702.fsescrn +++| ELSE 02988 M00S02703.fsescrn +++| BEGIN 02989 M00S02704.fsescrn +++| COMMANDROW=VTYMAX; 02990 M00S02705.fsescrn +++| RESPONSEROW = VTYMAX-1; 02991 M00S02706.fsescrn +++| TITLEROW[1]=0; 02992 M00S02707.fsescrn +++| END 02993 M00S02708.fsescrn +++| 02994 M00S02709.fsescrn +++| SPLITFILE[1]=I; 02995 M00S02710.fsescrn +++| SPLITFILE[2]=J; 02996 M00S02711.fsescrn +++|
Line S02712 Modification History | |
---|---|
M01 (Removed by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02997 M01S02712.ns2675 ---| NKEYS=FKEYNUMROW*2; 02998 M01S02713.ns2675 ---| IF NKEYS EQ 4 THEN NKEYS=5; 02999 M01S02714.ns2675 ---| FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1);
Line S00025 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Removed by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 03000 M02S00025.ns2700 ---| NKEYS=MAX(0,FKEYNUMROW*3-1);
Line S00021 Modification History | |
---|---|
M01 (Added by) | ns2700 |
M02 (Removed by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03001 M02S00021.ns2718 ---| SHIFTFKEY = 0;
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03002 M01S00001.ns2718 +++| SFKEYDEFS = 0;
Line S00022 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 03003 M01S00022.ns2700 +++| SCRNPT1 = 1; 03004 M01S00023.ns2700 +++| FOR SCRNPT2 = 1 STEP 1 UNTIL POSFKEYS DO 03005 M01S00024.ns2700 +++| BEGIN 03006 M01S00025.ns2700 +++| IF (FKEYNAME[SCRNPT2] NQ " ") OR 03007 M01S00026.ns2700 +++| (FKEYNAME[-SCRNPT2] NQ " ") THEN 03008 M01S00027.ns2700 +++| BEGIN # IF FUNCTION KEY DEFINED # 03009 M01S00028.ns2700 +++| FKEYNUMS[SCRNPT1] = SCRNPT2; 03010 M01S00029.ns2700 +++| SCRNPT1 = SCRNPT1 + 1;
Line S00030 Modification History | |
---|---|
M01 (Added by) | ns2700 |
M02 (Removed by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03011 M02S00030.ns2718 ---| IF FKEYNAME[-SCRNPT2] NQ " " THEN SHIFTFKEY = 1;
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03012 M01S00002.ns2718 +++| IF FKEYNAME[-SCRNPT2] NQ " " THEN SFKEYDEFS = 1;
Line S00031 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 03013 M01S00031.ns2700 +++| END 03014 M01S00032.ns2700 +++| END 03015 M01S00033.ns2700 +++| FOR SCRNPT1 = SCRNPT1 STEP 1 UNTIL POSFKEYS DO 03016 M01S00034.ns2700 +++| FKEYNUMS[SCRNPT1] = 0;
Line S00003 Modification History | |
---|---|
M01 (Added by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03017 M01S00003.ns2718 +++| SHIFTFKEY = SFKEYDEFS LAN SFKEYSHOW;
Line S00035 Modification History | |
---|---|
M01 (Added by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 03018 M01S00035.ns2700 +++| NKEYS=MAX(0,FKEYNUMROW*(2+SHIFTFKEY)-1);
Line S00026 Modification History | |
---|---|
M01 (Added by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 03019 M01S00026.ns2675 +++| FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1); 03020 M00S02715.fsescrn +++| 03021 M00S02716.fsescrn +++| NUMROWS[1]=0; 03022 M00S02717.fsescrn +++| IF K LS 0 THEN NUMROWS[2]=(USRNUMLIN-2-NKEYS)/2; 03023 M00S02718.fsescrn +++| ELSE NUMROWS[2]=MIN(K,(USRNUMLIN-2-NKEYS)); 03024 M00S02719.fsescrn +++| 03025 M00S02720.fsescrn +++| IF J EQ 0 THEN NTITLES=1; 03026 M00S02721.fsescrn +++| ELSE NTITLES=2; 03027 M00S02722.fsescrn +++| 03028 M00S02723.fsescrn +++| IF I NQ 0 THEN 03029 M00S02724.fsescrn +++| BEGIN 03030 M00S02725.fsescrn +++| NUMROWS[1]=USRNUMLIN-NKEYS-NTITLES-NUMROWS[2]-1; 03031 M00S02726.fsescrn +++| SETTOPBOTS(1); 03032 M00S02727.fsescrn +++| END 03033 M00S02728.fsescrn +++| IF J NQ 0 THEN 03034 M00S02729.fsescrn +++| BEGIN 03035 M00S02730.fsescrn +++| TITLEROW[2]=USRNUMLIN-NKEYS-NUMROWS[2]-2+TITLEROW[1]; 03036 M00S02731.fsescrn +++| SETTOPBOTS(2); 03037 M00S02732.fsescrn +++| END 03038 M00S02733.fsescrn +++| ELSE TITLEROW[2]=TITLEROW[1]+NUMROWS[1]; 03039 M00S02734.fsescrn +++| SETROWTYPE; 03040 M00S02735.fsescrn +++| IF TABLOCKMDE[0] OR TABATTRCHR[0] THEN 03041 M00S02736.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A POSITION # 03042 M00S02737.fsescrn +++| IF TABLOCKMDE[0] THEN ATTCOUNT = 1; 03043 M00S02738.fsescrn +++| FKEYSPC1 = "$"; 03044 M00S02739.fsescrn +++| FKEYSPC2 = " $"; 03045 M00S02740.fsescrn +++| END 03046 M00S02741.fsescrn +++| ELSE 03047 M00S02742.fsescrn +++| BEGIN # CHARACTER MODE TERMINAL # 03048 M00S02743.fsescrn +++| ATTCOUNT = 0; # NO ATTRIBUTE BYTE # 03049 M00S02744.fsescrn +++| FKEYSPC1 = " $"; 03050 M00S02745.fsescrn +++| FKEYSPC2 = " $"; 03051 M00S02746.fsescrn +++| END 03052 M00S02747.fsescrn +++| END # OF SETUPSCREEN # 03053 M00S02748.fsescrn +++| 03054 M00S02749.fsescrn +++|CONTROL IFEQ SINGLE,1; 03055 M00S02750.fsescrn +++| PROC CLEARSCREEN; 03056 M00S02751.fsescrn +++|# TITLE CLEARSCREEN - GET BACK TO LINE MODE. # 03057 M00S02752.fsescrn +++| 03058 M00S02753.fsescrn +++| BEGIN # CLEARSCREEN # 03059 M00S02754.fsescrn +++| 03060 M00S02755.fsescrn +++|# 03061 M00S02756.fsescrn +++|** CLEARSCREEN - GET BACK TO LINE MODE. 03062 M00S02757.fsescrn +++|* 03063 M00S02758.fsescrn +++|* EXIT SCREEN CLEARED. 03064 M00S02759.fsescrn +++|* VIRTERM SHUT DOWN VIA VDTSTM ROUTINE. 03065 M00S02760.fsescrn +++|* ALL PAINT BITS TRUE. 03066 M00S02761.fsescrn +++|* 03067 M00S02762.fsescrn +++|* CALLS PAINTALL, VDTCLS, VDTSTM. 03068 M00S02763.fsescrn +++|* 03069 M00S02764.fsescrn +++|* USES SCRNPT1. 03070 M00S02765.fsescrn +++|# 03071 M00S02766.fsescrn +++| 03072 M00S02767.fsescrn +++| IF SCREENMODE THEN 03073 M00S02768.fsescrn +++| BEGIN 03074 M00S02769.fsescrn +++| VDTCLS; 03075 M00S02770.fsescrn +++| PAINTALL; 03076 M00S02771.fsescrn +++| VDTSTM(0,SCRNPT1); # SET LINE MODE # 03077 M00S02772.fsescrn +++| ATTCOUNT = 0; # CLEAR ATTRIBUTE BYTE COUNT # 03078 M00S02773.fsescrn +++| END 03079 M00S02774.fsescrn +++| 03080 M00S02775.fsescrn +++| END # CLEARSCREEN # 03081 M00S02776.fsescrn +++|CONTROL FI; 03082 M00S02777.fsescrn +++|PAGE # EDITOR/WORKIO/SCREEN INTERFACE # 03083 M00S02778.fsescrn +++| 03084 M00S02779.fsescrn +++| 03085 M00S02780.fsescrn +++|PROC SETTOPBOTS(SPLIT); 03086 M00S02781.fsescrn +++|# TITLE SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT. # 03087 M00S02782.fsescrn +++| 03088 M00S02783.fsescrn +++| BEGIN # SETTOPBOTS # 03089 M00S02784.fsescrn +++| 03090 M00S02785.fsescrn +++|# 03091 M00S02786.fsescrn +++|** SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT. 03092 M00S02787.fsescrn +++|* 03093 M00S02788.fsescrn +++|* SETTOPBOTS ASSURES THAT TOPS AND BOTS ARE WITHIN LEGAL 03094 M00S02789.fsescrn +++|* FILE BOUNDARIES AND THAT THEY BRACKET THE CURRENT LINE. 03095 M00S02790.fsescrn +++|* IF THESE CONDITIONS ARE ALREADY TRUE, NOTHING IS CHANGED. 03096 M00S02791.fsescrn +++|* ELSE WE BUILD NEW SPLIT STARTING AT CURRENT LINE. 03097 M00S02792.fsescrn +++|* 03098 M00S02793.fsescrn +++|* PROC SETTOPBOTS(SPLIT) 03099 M00S02794.fsescrn +++|* 03100 M00S02795.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03101 M00S02796.fsescrn +++|* SPLITFILE[SPLIT] - SETUP. 03102 M00S02797.fsescrn +++|* CURF(SPLITFILE[SPLIT]) - CURRENT LINE. 03103 M00S02798.fsescrn +++|* TOPS(SPLIT), BOTS(SPLIT) - POSSIBLY ALREADY VALID. 03104 M00S02799.fsescrn +++|* 03105 M00S02800.fsescrn +++|* EXIT TOPS(SPLIT), BOTS(SPLIT) - GUARANTEED VALID. 03106 M00S02801.fsescrn +++|* ROWPAINT[ALL THIS SPLIT] - POSSIBLY TRUE. 03107 M00S02802.fsescrn +++|* 03108 M00S02803.fsescrn +++|* CALLS SETTOPS, SETBOTS, PAINTONESPLT. 03109 M00S02804.fsescrn +++|# 03110 M00S02805.fsescrn +++| 03111 M00S02806.fsescrn +++| ITEM SPLIT I; # WHICH SPLIT # 03112 M00S02807.fsescrn +++| ITEM L I; # LINE # 03113 M00S02808.fsescrn +++| 03114 M00S02809.fsescrn +++| SETTOPS(SPLIT); 03115 M00S02810.fsescrn +++| SETBOTS(SPLIT); 03116 M00S02811.fsescrn +++| L=CURF(SPLITFILE[SPLIT]); 03117 M00S02812.fsescrn +++| L=MAX(L,TOPF(SPLITFILE[SPLIT])+1); 03118 M00S02813.fsescrn +++| L=MIN(L,BOTF(SPLITFILE[SPLIT])-1); 03119 M00S02814.fsescrn +++| IF L LQ TOPS(SPLIT) OR L GQ BOTS(SPLIT) THEN 03120 M00S02815.fsescrn +++| BEGIN 03121 M00S02816.fsescrn +++| TOPS(SPLIT)=L-1; 03122 M00S02817.fsescrn +++| SETTOPS(SPLIT); 03123 M00S02818.fsescrn +++| SETBOTS(SPLIT); 03124 M00S02819.fsescrn +++| IF BOTS(SPLIT) GR TOPS(SPLIT)+1 THEN PAINTONESPLT(SPLIT); 03125 M00S02820.fsescrn +++| END 03126 M00S02821.fsescrn +++| 03127 M00S02822.fsescrn +++| END # SETTOPBOTS # 03128 M00S02823.fsescrn +++| 03129 M00S02824.fsescrn +++| 03130 M00S02825.fsescrn +++|PROC SETTOPS(SPLIT); 03131 M00S02826.fsescrn +++| BEGIN 03132 M00S02827.fsescrn +++|# 03133 M00S02828.fsescrn +++|** SETTOPS - ASSURE TOPS() IS IN FILE BOUNDS. 03134 M00S02829.fsescrn +++|* 03135 M00S02830.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03136 M00S02831.fsescrn +++|* SPLITFILE[SPLIT] - WHICH FILE. 03137 M00S02832.fsescrn +++|* TOPF(FILE), BOTF(FILE) - FILE BOUNDARIES. 03138 M00S02833.fsescrn +++|* 03139 M00S02834.fsescrn +++|* EXIT TOPS(SPLIT) - GUARANTEED IN BOUNDS. 03140 M00S02835.fsescrn +++|# 03141 M00S02836.fsescrn +++| ITEM SPLIT; 03142 M00S02837.fsescrn +++| TOPS(SPLIT)=MIN(TOPS(SPLIT),BOTF(SPLITFILE[SPLIT])-2); 03143 M00S02838.fsescrn +++| TOPS(SPLIT)=MAX(TOPS(SPLIT),TOPF(SPLITFILE[SPLIT])); 03144 M00S02839.fsescrn +++| END # OF SETTOPS # 03145 M00S02840.fsescrn +++| 03146 M00S02841.fsescrn +++| 03147 M00S02842.fsescrn +++|PROC SETBOTS(SPLIT); 03148 M00S02843.fsescrn +++| BEGIN 03149 M00S02844.fsescrn +++|# 03150 M00S02845.fsescrn +++|** SETBOTS - SET BOTS() BY TOPS() AND FILE BOUNDS. 03151 M00S02846.fsescrn +++|* 03152 M00S02847.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03153 M00S02848.fsescrn +++|* SPLITFILE[SPLIT] - WHICH FILE BRACKET. 03154 M00S02849.fsescrn +++|* TOPS(SPLIT), BOTF(FILE) - SETUP. 03155 M00S02850.fsescrn +++|* 03156 M00S02851.fsescrn +++|* EXIT BOTS(SPLIT) - DEFINED. 03157 M00S02852.fsescrn +++|# 03158 M00S02853.fsescrn +++| ITEM SPLIT; 03159 M00S02854.fsescrn +++| BOTS(SPLIT)=MIN(TOPS(SPLIT)+NUMROWS[SPLIT]+1,BOTF(SPLITFILE[SPLIT])); 03160 M00S02855.fsescrn +++| END # OF SETBOTS # 03161 M00S02856.fsescrn +++| 03162 M00S02857.fsescrn +++| 03163 M00S02858.fsescrn +++|PROC REPX; 03164 M00S02859.fsescrn +++| IOBEGIN(REPX) 03165 M00S02860.fsescrn +++|# 03166 M00S02861.fsescrn +++|** REPX - INTERFACE FOR LINE REPLACEMENT. 03167 M00S02862.fsescrn +++|* 03168 M00S02863.fsescrn +++|* REPX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03169 M00S02864.fsescrn +++|* REPLACING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03170 M00S02865.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03171 M00S02866.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03172 M00S02867.fsescrn +++|* FILE DIRECTORY. 03173 M00S02868.fsescrn +++|* 03174 M00S02869.fsescrn +++|* REPX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03175 M00S02870.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03176 M00S02871.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03177 M00S02872.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03178 M00S02873.fsescrn +++|* 03179 M00S02874.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03180 M00S02875.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03181 M00S02876.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03182 M00S02877.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03183 M00S02878.fsescrn +++|* 03184 M00S02879.fsescrn +++|* ENTRY LIN - THE LINE IMAGE AS CHANGED. 03185 M00S02880.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03186 M00S02881.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03187 M00S02882.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03188 M00S02883.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03189 M00S02884.fsescrn +++|* 03190 M00S02885.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03191 M00S02886.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03192 M00S02887.fsescrn +++|* 03193 M00S02888.fsescrn +++|* CALLS REPS (INTERNAL), REPZ. 03194 M00S02889.fsescrn +++|# 03195 M00S02890.fsescrn +++| 03196 M00S02891.fsescrn +++| PROC REPS(SPLIT); 03197 M00S02892.fsescrn +++| BEGIN 03198 M00S02893.fsescrn +++|# 03199 M00S02894.fsescrn +++|** REPS - INTERNAL LOGIC FOR REPX. 03200 M00S02895.fsescrn +++|* 03201 M00S02896.fsescrn +++|* NOTE SEE HEADER FOR REPX. 03202 M00S02897.fsescrn +++|# 03203 M00S02898.fsescrn +++| ITEM SPLIT; 03204 M00S02899.fsescrn +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) 03205 M00S02900.fsescrn +++| AND (SPLIT NQ CURSPLIT OR NOT HARDFN) 03206 M00S02901.fsescrn +++| THEN ROWPAINT[LTOY(CURRENT,SPLIT)]=TRUE; 03207 M00S02902.fsescrn +++| END # OF REPS # 03208 M00S02903.fsescrn +++| 03209 M00S02904.fsescrn +++| # ACTUAL REPX CODE STARTS HERE # 03210 M00S02905.fsescrn +++| REPZ; 03211 M00S02906.fsescrn +++| IF SCREENMODE THEN 03212 M00S02907.fsescrn +++| BEGIN 03213 M00S02908.fsescrn +++| REPS(1); 03214 M00S02909.fsescrn +++| REPS(2); 03215 M00S02910.fsescrn +++| END 03216 M00S02911.fsescrn +++| IOEND # OF REPX # 03217 M00S02912.fsescrn +++| 03218 M00S02913.fsescrn +++| 03219 M00S02914.fsescrn +++|PROC INSX; 03220 M00S02915.fsescrn +++| IOBEGIN(INSX) 03221 M00S02916.fsescrn +++|# 03222 M00S02917.fsescrn +++|** INSX - INTERFACE FOR LINE INSERTION. 03223 M00S02918.fsescrn +++|* 03224 M00S02919.fsescrn +++|* INSX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03225 M00S02920.fsescrn +++|* INSERTING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03226 M00S02921.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03227 M00S02922.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03228 M00S02923.fsescrn +++|* FILE DIRECTORY. 03229 M00S02924.fsescrn +++|* 03230 M00S02925.fsescrn +++|* INSX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03231 M00S02926.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03232 M00S02927.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03233 M00S02928.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03234 M00S02929.fsescrn +++|* 03235 M00S02930.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03236 M00S02931.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03237 M00S02932.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03238 M00S02933.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03239 M00S02934.fsescrn +++|* 03240 M00S02935.fsescrn +++|* ENTRY LIN - THE LINE IMAGE TO BE INSERTED. 03241 M00S02936.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03242 M00S02937.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03243 M00S02938.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03244 M00S02939.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03245 M00S02940.fsescrn +++|* TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS. 03246 M00S02941.fsescrn +++|* 03247 M00S02942.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03248 M00S02943.fsescrn +++|* ROWPAINT[LOWER], ROWBITS[LOWER] - PROPOGATED AS NEEDED. 03249 M00S02944.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03250 M00S02945.fsescrn +++|* 03251 M00S02946.fsescrn +++|* CALLS INSS (INTERNAL), INSZ. 03252 M00S02947.fsescrn +++|# 03253 M00S02948.fsescrn +++| 03254 M00S02949.fsescrn +++| PROC INSS(SPLIT); 03255 M00S02950.fsescrn +++| BEGIN 03256 M00S02951.fsescrn +++|# 03257 M00S02952.fsescrn +++|** INSS - INTERNAL LOGIC FOR INSX. 03258 M00S02953.fsescrn +++|* 03259 M00S02954.fsescrn +++|* NOTE SEE HEADER FOR INSX. 03260 M00S02955.fsescrn +++|# 03261 M00S02956.fsescrn +++| ITEM SPLIT, I, THISROW, LASTROW; 03262 M00S02957.fsescrn +++| IF SPLITFILE[SPLIT] NQ 0 THEN 03263 M00S02958.fsescrn +++| BEGIN 03264 M00S02959.fsescrn +++| IF CURRENT GR TOPF(SPLITFILE[SPLIT]) AND 03265 M00S02960.fsescrn +++| CURRENT LS BOTF(SPLITFILE[SPLIT]) THEN 03266 M00S02961.fsescrn +++| BEGIN 03267 M00S02962.fsescrn +++| SETBOTS(SPLIT); 03268 M00S02963.fsescrn +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN 03269 M00S02964.fsescrn +++| BEGIN 03270 M00S02965.fsescrn +++| THISROW=LTOY(CURRENT,SPLIT); 03271 M00S02966.fsescrn +++| LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT]; 03272 M00S02967.fsescrn +++| FOR I=LASTROW STEP -1 UNTIL THISROW+1 DO 03273 M00S02968.fsescrn +++| BEGIN 03274 M00S02969.fsescrn +++| ROWPAINT[I]=ROWPAINT[I-1]; 03275 M00S02970.fsescrn +++| ROWBITS[I]=ROWBITS[I-1]; 03276 M00S02971.fsescrn +++| END 03277 M00S02972.fsescrn +++| IF HARDFN AND SPLIT EQ CURSPLIT THEN 03278 M00S02973.fsescrn +++| BEGIN 03279 M00S02974.fsescrn +++| IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW+1); 03280 M00S02975.fsescrn +++| END 03281 M00S02976.fsescrn +++| ELSE 03282 M00S02977.fsescrn +++| BEGIN 03283 M00S02978.fsescrn +++| FOR I=LASTROW STEP -1 UNTIL THISROW+1 03284 M00S02979.fsescrn +++| DO ROWORIG[I]=ROWORIG[I-1]; 03285 M00S02980.fsescrn +++| ROWORIG[THISROW]=0; 03286 M00S02981.fsescrn +++| END 03287 M00S02982.fsescrn +++| END 03288 M00S02983.fsescrn +++| END 03289 M00S02984.fsescrn +++| END 03290 M00S02985.fsescrn +++| END # OF INSS # 03291 M00S02986.fsescrn +++| 03292 M00S02987.fsescrn +++| # ACTUAL INSX CODE STARTS HERE # 03293 M00S02988.fsescrn +++| INSZ; 03294 M00S02989.fsescrn +++| IF SCREENMODE THEN 03295 M00S02990.fsescrn +++| BEGIN 03296 M00S02991.fsescrn +++| INSS(1); 03297 M00S02992.fsescrn +++| INSS(2); 03298 M00S02993.fsescrn +++| END 03299 M00S02994.fsescrn +++| IOEND # OF INSX # 03300 M00S02995.fsescrn +++| 03301 M00S02996.fsescrn +++| 03302 M00S02997.fsescrn +++|PROC DELX; 03303 M00S02998.fsescrn +++| IOBEGIN(DELX) 03304 M00S02999.fsescrn +++|# 03305 M00S03000.fsescrn +++|** DELX - INTERFACE FOR LINE DELETION. 03306 M00S03001.fsescrn +++|* 03307 M00S03002.fsescrn +++|* DELX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03308 M00S03003.fsescrn +++|* DELETEING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03309 M00S03004.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03310 M00S03005.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03311 M00S03006.fsescrn +++|* FILE DIRECTORY. 03312 M00S03007.fsescrn +++|* 03313 M00S03008.fsescrn +++|* DELX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03314 M00S03009.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03315 M00S03010.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03316 M00S03011.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03317 M00S03012.fsescrn +++|* 03318 M00S03013.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03319 M00S03014.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03320 M00S03015.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03321 M00S03016.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03322 M00S03017.fsescrn +++|* 03323 M00S03018.fsescrn +++|* ENTRY LIN - THE LINE IMAGE TO BE DELETED. 03324 M00S03019.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03325 M00S03020.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03326 M00S03021.fsescrn +++|* TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS. 03327 M00S03022.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03328 M00S03023.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03329 M00S03024.fsescrn +++|* 03330 M00S03025.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03331 M00S03026.fsescrn +++|* ROWPAINT[LOWER], ROWBITS[LOWER] - POSSIBLY PROPOGATED. 03332 M00S03027.fsescrn +++|* LIN - UNAFFECTED BY DELX CODE. MAY BE AFFECTED BY 03333 M00S03028.fsescrn +++|* PASS-ON CALL TO DELZ. 03334 M00S03029.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03335 M00S03030.fsescrn +++|* 03336 M00S03031.fsescrn +++|* CALLS DELS (INTERNAL), DELZ. 03337 M00S03032.fsescrn +++|#
Line S00001 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03338 M01S00001.fsesc30 +++| ITEM SPLIT; # TEMPORARY SPLIT REFERENCE # 03339 M00S03033.fsescrn +++| 03340 M00S03034.fsescrn +++| PROC DELS(SPLIT); 03341 M00S03035.fsescrn +++| BEGIN 03342 M00S03036.fsescrn +++|# 03343 M00S03037.fsescrn +++|** DELS - INTERNAL LOGIC FOR DELX. 03344 M00S03038.fsescrn +++|* 03345 M00S03039.fsescrn +++|* NOTE SEE HEADER FOR DELX. 03346 M00S03040.fsescrn +++|# 03347 M00S03041.fsescrn +++| ITEM SPLIT,I,THISROW,LASTROW; 03348 M00S03042.fsescrn +++| IF SPLITFILE[SPLIT] NQ 0 THEN
Line S03043 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03349 M01S03043.fsesc30 ---| BEGIN
Line S00002 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03350 M01S00002.fsesc30 +++| BEGIN # IF A FILE IN THIS SPLIT #
Line S03044 Modification History | |
---|---|
M01 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03351 M01S03044.fses30a ---| IF CURRENT GQ TOPF(SPLITFILE[SPLIT]) AND 03352 M01S03045.fses30a ---| CURRENT LQ BOTF(SPLITFILE[SPLIT]) THEN
Line S03046 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
M02 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03353 M02S03046.fses30a ---| BEGIN 03354 M02S03047.fses30a ---| IF CURRENT GQ TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN 03355 M02S03048.fses30a ---| BEGIN
Line S00003 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03356 M02S00003.fses30a ---| BEGIN # IF DELETED LINE IN THIS FILE # 03357 M02S00004.fses30a ---| IF TEMP GR 0 AND CURRENT LS BOTS(SPLIT) THEN
Line S00001 Modification History | |
---|---|
M01 (Added by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03358 M01S00001.fses30a +++| IF TEMP GR 0 THEN
Line S00005 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03359 M01S00005.fsesc30 +++| BEGIN # IF DELETED LINE WAS ON SCREEN # 03360 M00S03049.fsescrn +++| THISROW=CURRENT-DELETCTL; 03361 M00S03050.fsescrn +++| THISROW=LTOY(THISROW,SPLIT); 03362 M00S03051.fsescrn +++| LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT]; 03363 M00S03052.fsescrn +++| FOR I=THISROW+2 STEP 1 UNTIL LASTROW DO
Line S03053 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03364 M01S03053.fsesc30 ---| BEGIN
Line S00006 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03365 M01S00006.fsesc30 +++| BEGIN # REPAINT LINES AFTER DELETION # 03366 M00S03054.fsescrn +++| ROWPAINT[I-1]=ROWPAINT[I]; 03367 M00S03055.fsescrn +++| ROWBITS[I-1]=ROWBITS[I]; 03368 M00S03056.fsescrn +++| END 03369 M00S03057.fsescrn +++| ROWPAINT[LASTROW]=TRUE; 03370 M00S03058.fsescrn +++| IF HARDFN AND SPLIT EQ CURSPLIT THEN 03371 M00S03059.fsescrn +++| BEGIN 03372 M00S03060.fsescrn +++| IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW); 03373 M00S03061.fsescrn +++| END 03374 M00S03062.fsescrn +++| ELSE 03375 M00S03063.fsescrn +++| BEGIN 03376 M00S03064.fsescrn +++| ROWORIG[THISROW]=0; 03377 M00S03065.fsescrn +++| FOR I=THISROW+2 STEP 1 UNTIL LASTROW 03378 M00S03066.fsescrn +++| DO ROWORIG[I-1]=ROWORIG[I]; 03379 M00S03067.fsescrn +++| END 03380 M00S03068.fsescrn +++| END
Line S00007 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03381 M02S00007.fses30a ---| POPTEMP;
Line S03069 Modification History | |
---|---|
M01 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03382 M01S03069.fses30a ---| END
Line S00002 Modification History | |
---|---|
M01 (Added by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03383 M01S00002.fses30a +++| POPTEMP; 03384 M00S03070.fsescrn +++| END 03385 M00S03071.fsescrn +++| END # OF DELS # 03386 M00S03072.fsescrn +++| 03387 M00S03073.fsescrn +++| # ACTUAL DELX CODE STARTS HERE # 03388 M00S03074.fsescrn +++| 03389 M00S03075.fsescrn +++| IF NUMMARKS GR 0 THEN 03390 M00S03076.fsescrn +++| BEGIN # IF MARK IS ACTIVE # 03391 M00S03077.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG] THEN 03392 M00S03078.fsescrn +++| BEGIN # IF FIRST MARKED LINE DELETED # 03393 M00S03079.fsescrn +++| IF REGLINE[MARKREG+1] GR CURRENT THEN 03394 M00S03080.fsescrn +++| BEGIN # IF MORE THAN ONE MARKED LINE # 03395 M00S03081.fsescrn +++| REGLINE[MARKREG] = CURRENT + 1; 03396 M00S03082.fsescrn +++| MRKCHAR[0] = - 1; 03397 M00S03083.fsescrn +++| END 03398 M00S03084.fsescrn +++| ELSE 03399 M00S03085.fsescrn +++| BEGIN # ONLY ONE MARKED LINE #
Line S03086 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03400 M01S03086.fsesc30 ---| KILLMARKS = TRUE;
Line S00008 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03401 M01S00008.fsesc30 +++| KILLMARKS = TRUE; 03402 M00S03087.fsescrn +++| END 03403 M00S03088.fsescrn +++| END 03404 M00S03089.fsescrn +++| ELSE 03405 M00S03090.fsescrn +++| BEGIN # NOT FIRST MARKED LINE DELETED # 03406 M00S03091.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG+1] THEN 03407 M00S03092.fsescrn +++| BEGIN # IF LAST MARKED LINE DELETED # 03408 M00S03093.fsescrn +++| IF REGLINE[MARKREG] LS CURRENT THEN 03409 M00S03094.fsescrn +++| BEGIN # IF MORE THAN ONE MARKED LINE # 03410 M00S03095.fsescrn +++| REGLINE[MARKREG+1] = CURRENT - 1;
Line S03096 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03411 M01S03096.fsesc30 ---| MRKCHAR[1] = - 1;
Line S00009 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03412 M01S00009.fsesc30 +++| MRKCHAR[1] = - 1; 03413 M00S03097.fsescrn +++| END 03414 M00S03098.fsescrn +++| ELSE 03415 M00S03099.fsescrn +++| BEGIN # ONLY ONE MARKED LINE #
Line S03100 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03416 M01S03100.fsesc30 ---| KILLMARKS = TRUE;
Line S00010 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03417 M01S00010.fsesc30 +++| KILLMARKS = TRUE; 03418 M00S03101.fsescrn +++| END 03419 M00S03102.fsescrn +++| END 03420 M00S03103.fsescrn +++| END 03421 M00S03104.fsescrn +++| END
Line S03105 Modification History | |
---|---|
M01 (Removed by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03422 M01S03105.fsesc30 ---| DELZ; 03423 M00S03106.fsescrn +++| IF SCREENMODE THEN 03424 M00S03107.fsescrn +++| BEGIN
Line S00011 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03425 M01S00011.fsesc30 +++| FOR SPLIT=2 STEP -1 UNTIL 1 DO 03426 M01S00012.fsesc30 +++| BEGIN 03427 M01S00013.fsesc30 +++| IF SPLITFILE[SPLIT] NQ 0 THEN 03428 M01S00014.fsesc30 +++| BEGIN # IF A FILE IN THIS SPLIT #
Line S00003 Modification History | |
---|---|
M01 (Added by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03429 M01S00003.fses30a +++| PUSHTEMP; 03430 M01S00004.fses30a +++| TEMP = 0;
Line S00015 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03431 M01S00015.fsesc30 +++| IF CURRENT GQ TOPF(SPLITFILE[SPLIT]) AND 03432 M01S00016.fsesc30 +++| CURRENT LQ BOTF(SPLITFILE[SPLIT]) THEN 03433 M01S00017.fsesc30 +++| BEGIN # IF DELETING LINE IN THIS FILE #
Line S00018 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Removed by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03434 M02S00018.fses30a ---| PUSHTEMP; 03435 M02S00019.fses30a ---| TEMP = CURRENT - TOPS(SPLIT);
Line S00005 Modification History | |
---|---|
M01 (Added by) | fses30a |
M02 (Removed by) | fses30b |
Seq # *Modification Id* Act ----------------------------+ 03436 M02S00005.fses30b ---| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN
Line S00001 Modification History | |
---|---|
M01 (Added by) | fses30b |
Seq # *Modification Id* Act ----------------------------+ 03437 M01S00001.fses30b +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN
Line S00006 Modification History | |
---|---|
M01 (Added by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03438 M01S00006.fses30a +++| TEMP = 1;
Line S00020 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03439 M01S00020.fsesc30 +++| END 03440 M01S00021.fsesc30 +++| END 03441 M01S00022.fsesc30 +++| END 03442 M01S00023.fsesc30 +++| DELZ; 03443 M00S03108.fsescrn +++| DELS(1); 03444 M00S03109.fsescrn +++| DELS(2); 03445 M00S03110.fsescrn +++| END
Line S00024 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03446 M01S00024.fsesc30 +++| ELSE DELZ; 03447 M00S03111.fsescrn +++| IOEND # OF DELX # 03448 M00S03112.fsescrn +++| 03449 M00S03113.fsescrn +++| 03450 M00S03114.fsescrn +++|END TERM
cdc/nos2.source/opl.opl871/deck/fsescrn.001.txt ยท Last modified: (external edit)