cdc:nos2.source:opl.opl871:deck:fsescrn.001
Deck FSESCRN Part 001
22 Modifications
Listing Sections
- Deck FSESCRN Start
- Deck FSESCRN Part 1 (Line 1713)
Source
Seq # *Modification Id* Act ----------------------------+ 01713 M01S01484.fsescrn +++| GENLITERAL(POS," - $"); 01714 M01S01485.fsescrn +++| GENDECIMAL(POS,BOTS(SPLIT)-1-TOPF(FILNUM)); 01715 M01S01486.fsescrn +++| END 01716 M01S01487.fsescrn +++| GENLITERAL(POS," SIZE $"); 01717 M01S01488.fsescrn +++| GENDECIMAL(POS,BOTF(FILE)-1-TOPF(FILE)); 01718 M01S01489.fsescrn +++| END 01719 M01S01490.fsescrn +++| IF XSHIFT[SPLIT] NQ 0 THEN 01720 M01S01491.fsescrn +++| BEGIN # IF SET VIEW OFFSET ENABLED # 01721 M01S01492.fsescrn +++| GENLITERAL(POS," OFFSET $"); 01722 M01S01493.fsescrn +++| GENDECIMAL(POS,XSHIFT[SPLIT]+1); 01723 M01S01494.fsescrn +++| END 01724 M01S01495.fsescrn +++| IF FILENAM[1] EQ FILENAM[2] THEN 01725 M01S01496.fsescrn +++| BEGIN # IF SAME FILE IN BOTH SPLITS # 01726 M01S01497.fsescrn +++| CHANGED[1] = CHANGED[1] LOR CHANGED[2]; 01727 M01S01498.fsescrn +++| CHANGED[2] = CHANGED[1]; 01728 M01S01499.fsescrn +++| END 01729 M01S01500.fsescrn +++| IF CHANGED[SPLIT] NQ 0 THEN 01730 M01S01501.fsescrn +++| BEGIN # IF FILE HAS BEEN CHANGED # 01731 M01S01502.fsescrn +++| GENLITERAL(POS," (CHANGED)$"); 01732 M01S01503.fsescrn +++| END 01733 M01S01504.fsescrn +++| ELSE 01734 M01S01505.fsescrn +++| BEGIN # NO CHANGE # 01735 M01S01506.fsescrn +++| IF LOCKED[SPLIT] NQ 0 THEN 01736 M01S01507.fsescrn +++| BEGIN # IF FILE IS LOCKED # 01737 M01S01508.fsescrn +++| GENLITERAL(POS," (READ-ONLY)$"); 01738 M01S01509.fsescrn +++| END 01739 M01S01510.fsescrn +++| ELSE 01740 M01S01511.fsescrn +++| BEGIN # NO LOCK # 01741 M01S01512.fsescrn +++| GENLITERAL(POS," (NO CHANGES)$"); 01742 M01S01513.fsescrn +++| END 01743 M01S01514.fsescrn +++| END 01744 M01S00001.fsesc28 +++| IF NUMMARKS GR 0 AND MRKFILE[0] EQ FDLF(FILE) THEN 01745 M01S00002.fsesc28 +++| BEGIN 01746 M01S00003.fsesc28 +++| IF NUMMARKS EQ 1 THEN 01747 M01S00004.fsesc28 +++| GENLITERAL(POS," <MARK ACTIVE>$"); 01748 M01S00005.fsesc28 +++| ELSE 01749 M01S00006.fsesc28 +++| GENLITERAL(POS," <MARKS ACTIVE>$"); 01750 M01S00007.fsesc28 +++| END 01751 M01S01515.fsescrn +++| END 01752 M01S01516.fsescrn +++| FOR POS = POS STEP 1 UNTIL(VTXMAX - ATTCOUNT) DO 01753 M01S01517.fsescrn +++| BEGIN # UNTIL END OF LINE # 01754 M01S01518.fsescrn +++| SETCHAR(TTYLINE,POS,CBLANK); 01755 M01S01519.fsescrn +++| END 01756 M01S01520.fsescrn +++| SETCHAR(TTYLINE,POS,CENDLINE); 01757 M01S01521.fsescrn +++| 01758 M01S01522.fsescrn +++| END # GENTITLE # 01759 M01S01523.fsescrn +++| 01760 M01S01524.fsescrn +++| 01761 M01S01525.fsescrn +++| 01762 M01S01526.fsescrn +++| 01763 M01S01527.fsescrn +++| # MAIN PAINTSCREEN CODE STARTS HERE # 01764 M01S01528.fsescrn +++| 01765 M01S01529.fsescrn +++| IF NOT PROMPTING THEN 01766 M01S01530.fsescrn +++| BEGIN 01767 M01S01531.fsescrn +++| 01768 M01S01532.fsescrn +++| IF FORCEAUTOP[0] THEN 01769 M01S01533.fsescrn +++| BEGIN # IF AUTO HALF PAGE # 01770 M01S01534.fsescrn +++| TOPS(CURSPLIT) = BOTS(CURSPLIT) - NUMROWS[CURSPLIT] / 2; 01771 M01S01535.fsescrn +++| SETTOPS(CURSPLIT); 01772 M01S01536.fsescrn +++| XCURSOR = 0; 01773 M01S01537.fsescrn +++| YCURSOR = BOTS(CURSPLIT); 01774 M01S01538.fsescrn +++| YCURSOR = LTOY(YCURSOR,CURSPLIT); 01775 M01S01539.fsescrn +++| SETBOTS(CURSPLIT); 01776 M01S01540.fsescrn +++| PAINTSPLIT; 01777 M01S01541.fsescrn +++| END 01778 M01S01542.fsescrn +++| FORCEAUTOP[0] = FALSE; 01779 M01S01543.fsescrn +++| 01780 M01S01544.fsescrn +++| # DETERMINE WHETHER RESIDUAL CURSOR IS OUT OF TEXT AREAS # 01781 M01S01545.fsescrn +++| 01782 M01S01546.fsescrn +++| SCRNPT2=0; 01783 M01S01547.fsescrn +++| IF YCURSOR LS 0 OR YCURSOR GR VTYMAX THEN SCRNPT2=1; 01784 M01S01548.fsescrn +++| IF SCRNPT2 EQ 0 THEN 01785 M01S01549.fsescrn +++| BEGIN 01786 M01S01550.fsescrn +++| IF ROWTYPE[YCURSOR] NQ ROWST"TEXT" 01787 M01S01551.fsescrn +++| AND ROWTYPE[YCURSOR] NQ ROWST"COMMAND" THEN SCRNPT2=1; 01788 M01S01552.fsescrn +++| END 01789 M01S01553.fsescrn +++| 01790 M01S01554.fsescrn +++| # VERIFY VALIDITY OF SCREEN BOUNDS, MAKE GOOD CURSOR POSITION # 01791 M01S01555.fsescrn +++| 01792 M01S01556.fsescrn +++| IF SCRNPT2 EQ 0 THEN 01793 M01S01557.fsescrn +++| BEGIN # SIMPLY VERIFY SCREEN BOUNDS # 01794 M01S01558.fsescrn +++| SETTOPBOTS(1); 01795 M01S01559.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN SETTOPBOTS(2); 01796 M01S01560.fsescrn +++| END 01797 M01S01561.fsescrn +++| ELSE 01798 M01S01562.fsescrn +++| BEGIN # RECOMPUTE CURSOR WHEN OFF TEXT # 01799 M01S01563.fsescrn +++| IF SPLITFILE[2] EQ 0 THEN CURFILE=SPLITFILE[1]; 01800 M01S01564.fsescrn +++| CURSPLIT=MIN(MAX(CURSPLIT,1),2); 01801 M01S01565.fsescrn +++| IF SPLITFILE[CURSPLIT] NQ CURFILE 01802 M01S01566.fsescrn +++| THEN CURSPLIT=CURSPLIT LXR 3; 01803 M01S01567.fsescrn +++| IF SPLITFILE[2] NQ 0 01804 M01S01568.fsescrn +++| AND FDLF(SPLITFILE[1]) EQ FDLF(SPLITFILE[2]) THEN 01805 M01S01569.fsescrn +++| BEGIN 01806 M01S01570.fsescrn +++| SETTOPBOTS(CURSPLIT); 01807 M01S01571.fsescrn +++| YCURSOR=CURF(CURFILE); 01808 M01S01572.fsescrn +++| YCURSOR=LTOY(YCURSOR,CURSPLIT); 01809 M01S01573.fsescrn +++| IF ROWTYPE[YCURSOR] EQ ROWST"TITLE" AND NUMROWS[CURSPLIT] 01810 M01S01574.fsescrn +++| GR 0 THEN YCURSOR=YCURSOR+1; 01811 M01S01575.fsescrn +++| END 01812 M01S01576.fsescrn +++| ELSE 01813 M01S01577.fsescrn +++| BEGIN 01814 M01S01578.fsescrn +++| FOR SCRNPT1=1 STEP 1 UNTIL 2 DO 01815 M01S01579.fsescrn +++| BEGIN 01816 M01S01580.fsescrn +++| IF SPLITFILE[SCRNPT1] NQ 0 THEN 01817 M01S01581.fsescrn +++| BEGIN 01818 M01S01582.fsescrn +++| SETTOPBOTS(SCRNPT1); 01819 M01S01583.fsescrn +++| IF SPLITFILE[SCRNPT1] EQ CURFILE THEN 01820 M01S01584.fsescrn +++| BEGIN 01821 M01S01585.fsescrn +++| YCURSOR=CURF(CURFILE); 01822 M01S01586.fsescrn +++| YCURSOR=LTOY(YCURSOR,SCRNPT1); 01823 M01S01587.fsescrn +++| IF ROWTYPE[YCURSOR] EQ ROWST"TITLE" AND 01824 M01S01588.fsescrn +++| NUMROWS[SCRNPT1] GR 0 THEN YCURSOR=YCURSOR+1; 01825 M01S01589.fsescrn +++| CURSPLIT=SCRNPT1; 01826 M01S01590.fsescrn +++| END 01827 M01S01591.fsescrn +++| END 01828 M01S01592.fsescrn +++| END 01829 M01S01593.fsescrn +++| END 01830 M01S01594.fsescrn +++| END 01831 M01S01595.fsescrn +++| IF FORCEAUTOR[0] THEN 01832 M01S01596.fsescrn +++| BEGIN # IF FORCED TO NEXT LINE # 01833 M01S01597.fsescrn +++| XCURSOR = 0; 01834 M01S01598.fsescrn +++| YCURSOR = YCURSOR + 1; 01835 M01S01599.fsescrn +++| FORCEAUTOR[0] = FALSE; 01836 M01S01600.fsescrn +++| END 01837 M01S01601.fsescrn +++| IF YCURSOR LS 0 OR YCURSOR GR VTYMAX THEN YCURSOR=COMMANDROW; 01838 M01S01602.fsescrn +++| 01839 M01S01603.fsescrn +++| # SEE IF LAST TITLE NOW OBSOLETE # 01840 M01S01604.fsescrn +++| 01841 M01S01605.fsescrn +++| GENTITLE(1); 01842 M01S01606.fsescrn +++| SCRNPT4=MAX(LENGTH(TITLE1LIN),LENGTH(TTYLIN)); 01843 M01S01607.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL SCRNPT4 DO 01844 M01S01608.fsescrn +++| BEGIN 01845 M01S01609.fsescrn +++| GETCHAR(TITLE1LINE,SCRNPT1,SCRNPT2); 01846 M01S01610.fsescrn +++| GETCHAR(TTYLINE,SCRNPT1,SCRNPT3); 01847 M01S01611.fsescrn +++| IF SCRNPT2 NQ SCRNPT3 THEN ROWPAINT[TITLEROW[1]]=TRUE; 01848 M01S01612.fsescrn +++| END 01849 M01S01613.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN 01850 M01S01614.fsescrn +++| BEGIN 01851 M01S01615.fsescrn +++| GENTITLE(2); 01852 M01S01616.fsescrn +++| SCRNPT4=MAX(LENGTH(TITLE2LIN),LENGTH(TTYLIN)); 01853 M01S01617.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL SCRNPT4 DO 01854 M01S01618.fsescrn +++| BEGIN 01855 M01S01619.fsescrn +++| GETCHAR(TITLE2LINE,SCRNPT1,SCRNPT2); 01856 M01S01620.fsescrn +++| GETCHAR(TTYLINE,SCRNPT1,SCRNPT3); 01857 M01S01621.fsescrn +++| IF SCRNPT2 NQ SCRNPT3 THEN ROWPAINT[TITLEROW[2]]=TRUE; 01858 M01S01622.fsescrn +++| END 01859 M01S01623.fsescrn +++| END 01860 M01S01624.fsescrn +++| FOR SPLIT=1 STEP 1 UNTIL 2 DO 01861 M01S01625.fsescrn +++| BEGIN 01862 M01S01626.fsescrn +++| FILNUM=SPLITFILE[SPLIT]; 01863 M01S01627.fsescrn +++| IF FILNUM NQ 0 THEN 01864 M01S01628.fsescrn +++| BEGIN 01865 M01S01629.fsescrn +++| IF LTPS(SPLIT) NQ TOPS(SPLIT) 01866 M01S01630.fsescrn +++| OR LASTNAME[SPLIT] NQ FILENAM[FILNUM] THEN 01867 M01S01631.fsescrn +++| BEGIN 01868 M01S01632.fsescrn +++| PAINTONESPLT(SPLIT); 01869 M01S01633.fsescrn +++| END 01870 M01S01634.fsescrn +++| END 01871 M01S01635.fsescrn +++| END 01872 M01S01636.fsescrn +++| END 01873 M01S01637.fsescrn +++| 01874 M01S01638.fsescrn +++| PAINTMARKS(2); 01875 M01S01639.fsescrn +++| 01876 M01S01640.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL USRNUMLIN DO 01877 M01S01641.fsescrn +++| BEGIN 01878 M01S01642.fsescrn +++| IF ROWPAINT[SCRNPT1] OR ROWORIG[SCRNPT1] NQ SCRNPT1 THEN 01879 M01S01643.fsescrn +++| BEGIN 01880 M01S01644.fsescrn +++| ROWPAINT[SCRNPT1]=FALSE; 01881 M01S01645.fsescrn +++| ROWORIG[SCRNPT1]=SCRNPT1; 01882 M01S01646.fsescrn +++| GOTO PAINTSW[ROWTYPE[SCRNPT1]]; 01883 M01S01647.fsescrn +++| 01884 M01S01648.fsescrn +++|PTTEXT: 01885 M01S01649.fsescrn +++| IF ROWPMARK[SCRNPT1] THEN 01886 M01S01650.fsescrn +++| BEGIN # IF ONLY LOGICALLY MARKED # 01887 M01S01651.fsescrn +++| IF NUMMARKS EQ 0 THEN ROWPMARK[SCRNPT1] = FALSE; 01888 M01S01652.fsescrn +++| END 01889 M01S01653.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01890 M01S01654.fsescrn +++| VDTPOS(0,SCRNPT1); # POSITION # 01891 M01S01655.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01892 M01S01656.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01893 M01S01657.fsescrn +++| IF TABLOCKMDE[0] THEN 01894 M01S01658.fsescrn +++| BEGIN # IF BLOCK MODE TERMINAL # 01895 M01S01659.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET ATTRIBUTE POSITION # 01896 M01S01660.fsescrn +++| END 01897 M01S01661.fsescrn +++| ELSE 01898 M01S01662.fsescrn +++| BEGIN # NOT BLOCK MODE # 01899 M01S01663.fsescrn +++| VDTPOS(0,SCRNPT1); # POSITION # 01900 M01S01664.fsescrn +++| END 01901 M01S01665.fsescrn +++|CONTROL FI; # END OF NOT MULTI # 01902 M01S01666.fsescrn +++| SPLIT=ROWSPLIT[SCRNPT1]; 01903 M01S01667.fsescrn +++| SCRNPT2=YTOL(SCRNPT1,SPLIT); 01904 M01S01668.fsescrn +++| IF VTCLRFRST[0] THEN VDTCLL(0,SCRNPT1); 01905 M01S01669.fsescrn +++| SCRNPT6=XSHIFT[SPLIT]-1; # PRESET COLUMN LENGTH # 01906 M01S01670.fsescrn +++| IF SCRNPT2 LS BOTS(SPLIT) THEN 01907 M01S01671.fsescrn +++| BEGIN 01908 M01S01672.fsescrn +++| POSZ(SCRNPT2); 01909 M01S01673.fsescrn +++| SCRNPT6=LENGTH(LIN); 01910 M01S01674.fsescrn +++| IF SCRNPT6 GR NUMWIDBLK+WIDTH AND ERRSTRING EQ " $" THEN 01911 M01S01675.fsescrn +++| BEGIN 01912 M01S01676.fsescrn +++| ERRSTRING="WIDE LINE$"; 01913 M01S01677.fsescrn +++| YCURSOR=SCRNPT1; 01914 M01S01678.fsescrn +++| END 01915 M01S01679.fsescrn +++| IF USRNUMCOL+XSHIFT[SPLIT] LS SCRNPT6 AND NOT ROWPMARK[SCRNPT1] 01916 M01S01680.fsescrn +++| THEN 01917 M01S01681.fsescrn +++| BEGIN 01918 M01S01682.fsescrn +++| SETCHAR(LINE,USRNUMCOL+XSHIFT[SPLIT]+1,CENDLINE); 01919 M01S01683.fsescrn +++| TRIMPAD; 01920 M01S01684.fsescrn +++| SCRNPT6=LENGTH(LIN); 01921 M01S01685.fsescrn +++| END 01922 M01S01686.fsescrn +++| IF ROWCOLUM[SCRNPT1] THEN 01923 M01S01687.fsescrn +++| BEGIN 01924 M01S01688.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01925 M01S01689.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(0); 01926 M01S01690.fsescrn +++|CONTROL FI; 01927 M01S01691.fsescrn +++| ROWCOLUM[SCRNPT1] = FALSE; 01928 M01S01692.fsescrn +++| SCRNPT6 = 1; 01929 M01S01693.fsescrn +++| FOR SCRNPT4 = XSHIFT[SPLIT] STEP 1 UNTIL 01930 M01S01694.fsescrn +++| XSHIFT[SPLIT] + USRNUMCOL DO 01931 M01S01695.fsescrn +++| BEGIN 01932 M01S01696.fsescrn +++| SCRNPT5 = MOD(SCRNPT4+1,10) + CDIGIT0; 01933 M01S01697.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01934 M01S01698.fsescrn +++| IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0] THEN 01935 M01S01699.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01936 M01S01700.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01937 M01S01701.fsescrn +++| IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0] 01938 M01S01702.fsescrn +++| AND NOT TABLOCKMDE[0] THEN 01939 M01S01703.fsescrn +++|CONTROL FI; # END OF IF NOT MULTI # 01940 M01S01704.fsescrn +++| BEGIN 01941 M01S01705.fsescrn +++| SCRNPT6 = SCRNPT6 LXR 1; 01942 M01S01706.fsescrn +++| IF SCRNPT6 EQ 0 THEN 01943 M01S01707.fsescrn +++| BEGIN 01944 M01S01708.fsescrn +++| VDTSAM(0); 01945 M01S01709.fsescrn +++| END 01946 M01S01710.fsescrn +++| ELSE 01947 M01S01711.fsescrn +++| BEGIN 01948 M01S01712.fsescrn +++| VDTSAM(MSKINVERSE); 01949 M01S01713.fsescrn +++| END 01950 M01S01714.fsescrn +++| END 01951 M01S01715.fsescrn +++| SCRNPT5 = XLTINTXP[SCRNPT5]; 01952 M01S01716.fsescrn +++| VDTCHR(SCRNPT5); 01953 M01S01717.fsescrn +++| END 01954 M01S01718.fsescrn +++|CONTROL IFEQ MULTI,1; # IF MULTI USER FSE # 01955 M01S01719.fsescrn +++| IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] THEN VDTSAM(0); 01956 M01S01720.fsescrn +++|CONTROL FI; # END OF IF MULTI # 01957 M01S01721.fsescrn +++|CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 01958 M01S01722.fsescrn +++| IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] AND NOT TABLOCKMDE[0] 01959 M01S01723.fsescrn +++| THEN VDTSAM(0); 01960 M01S01724.fsescrn +++|CONTROL FI; # END OF IF NOT MULTI # 01961 M01S01725.fsescrn +++| GOTO PTDONE; # FINISHED WITH THIS LINE # 01962 M01S01726.fsescrn +++| END 01963 M01S01727.fsescrn +++| ELSE IF ROWPMARK[SCRNPT1] THEN 01964 M01S01728.fsescrn +++| BEGIN 01965 M01S01729.fsescrn +++| IF SCRNPT6 EQ 0 THEN 01966 M01S01730.fsescrn +++| BEGIN 01967 M01S01731.fsescrn +++| LINE[0]=BLANKLIN; 01968 M01S01732.fsescrn +++| SCRNPT6=LENGTH(LIN); 01969 M01S01733.fsescrn +++| END 01970 M01S01734.fsescrn +++| SCRNPT4=XSHIFT[SPLIT]; 01971 M01S01735.fsescrn +++| SCRNPT5=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 01972 M01S01736.fsescrn +++| SCRNPT2 = SCRNPT4; # SAVE DEFAULT VALUES # 01973 M01S01737.fsescrn +++| SCRNPT3 = SCRNPT5; 01974 M01S01738.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG] AND MRKCHAR[0] 01975 M01S01739.fsescrn +++| GQ 0 THEN SCRNPT4=MAX(MRKCHAR[0],XSHIFT[SPLIT]); 01976 M01S01740.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG+1] AND MRKCHAR[1] 01977 M01S01741.fsescrn +++| GQ 0 THEN SCRNPT5=MIN(MRKCHAR[1],SCRNPT5); 01978 M01S01742.fsescrn +++| IF SCRNPT4 GR SCRNPT5 THEN 01979 M01S01743.fsescrn +++| BEGIN # IF BEYOND MARKED AREA # 01980 M01S01744.fsescrn +++| SCRNPT4 = - 1; 01981 M01S01745.fsescrn +++| SCRNPT5 = - 1; 01982 M01S01746.fsescrn +++| END 01983 M01S01747.fsescrn +++| IF TABLOCKMDE[0] THEN 01984 M01S01748.fsescrn +++| BEGIN # IF BLOCK MODE TYPE TERMINAL # 01985 M01S01749.fsescrn +++| IF (SCRNPT2 EQ SCRNPT4) AND (SCRNPT3 EQ SCRNPT5) THEN 01986 M01S01750.fsescrn +++| BEGIN # IF MARKING # 01987 M01S01751.fsescrn +++| VDTSAM(MSKINVERSE); 01988 M01S01752.fsescrn +++| END 01989 M01S01753.fsescrn +++| ELSE 01990 M01S01754.fsescrn +++| BEGIN # NOT MARKING # 01991 M01S01755.fsescrn +++| VDTSAM(0); 01992 M01S01756.fsescrn +++| END 01993 M01S01757.fsescrn +++| END 01994 M01S01758.fsescrn +++| SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 01995 M01S01759.fsescrn +++| FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO 01996 M01S01760.fsescrn +++| BEGIN 01997 M01S01761.fsescrn +++| IF SCRNPT2 EQ SCRNPT4 AND NOT TABLOCKMDE[0] THEN 01998 M01S01762.fsescrn +++| BEGIN 01999 M01S01763.fsescrn +++| IF TABATTRCHR[0] THEN 02000 M01S01764.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A SPACE # 02001 M01S01765.fsescrn +++| IF TABNOTCHAR[0] AND SCRNPT2 EQ XSHIFT[SPLIT] 02002 M01S01766.fsescrn +++| AND SCRNPT2 NQ SCRNPT5 THEN 02003 M01S01767.fsescrn +++| BEGIN # IF A CHARACTER MUST BE SKIPPED # 02004 M01S01768.fsescrn +++| SCRNPT2 = SCRNPT2 + 1; 02005 M01S01769.fsescrn +++| END 02006 M01S01770.fsescrn +++| ELSE 02007 M01S01771.fsescrn +++| BEGIN # MOVE CURSOR BACK FOR ATTRIBUTE # 02008 M01S01772.fsescrn +++| VDTOUT(X"08"); 02009 M01S01773.fsescrn +++| END 02010 M01S01774.fsescrn +++| END 02011 M01S01775.fsescrn +++| VDTSAM(MSKINVERSE); 02012 M01S01776.fsescrn +++| END 02013 M01S01777.fsescrn +++| GETCHAR(LINE,SCRNPT2,SCRNPT3); 02014 M01S01778.fsescrn +++| SCRNPT3=XLTINTXP[SCRNPT3]; 02015 M01S00001.ns2623 +++| IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT]; 02016 M01S01779.fsescrn +++| VDTCHR(SCRNPT3); 02017 M01S01780.fsescrn +++| IF SCRNPT2 EQ SCRNPT5 AND NOT TABLOCKMDE[0] THEN 02018 M01S01781.fsescrn +++| BEGIN 02019 M01S01782.fsescrn +++| IF TABATTRCHR[0] THEN 02020 M01S01783.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A BYTE # 02021 M01S01784.fsescrn +++| IF SCRNPT2 EQ VTXMAX THEN 02022 M01S01785.fsescrn +++| BEGIN # IF AT END OF CURRENT LINE # 02023 M01S01786.fsescrn +++| VDTOUT(X"08"); # CURSOR MUST MOVE BACK # 02024 M01S01787.fsescrn +++| END 02025 M01S01788.fsescrn +++| ELSE 02026 M01S01789.fsescrn +++| BEGIN # SKIP AN OUTPUT CHARACTER # 02027 M01S01790.fsescrn +++| IF SCRNPT2 NQ SCRNPT6 THEN SCRNPT2 = SCRNPT2 + 1; 02028 M01S01791.fsescrn +++| END 02029 M01S01792.fsescrn +++| END 02030 M01S01793.fsescrn +++| VDTSAM(0); 02031 M01S01794.fsescrn +++| END 02032 M01S01795.fsescrn +++| END 02033 M01S01796.fsescrn +++| ROWPMARK[SCRNPT1]=FALSE; 02034 M01S01797.fsescrn +++| END 02035 M01S01798.fsescrn +++| ELSE 02036 M01S01799.fsescrn +++| BEGIN # ALL TEXT THAT FITS WINDOW # 02037 M01S01800.fsescrn +++| IF TABATTRCHR[0] THEN 02038 M01S01801.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A BYTE # 02039 M01S01802.fsescrn +++| IF ROWTYPE[SCRNPT1-1] EQ ROWST"TITLE" THEN 02040 M01S01803.fsescrn +++| BEGIN # IF FIRST LINE AFTER TITLE # 02041 M01S01804.fsescrn +++| VDTPOS(VTXMAX,SCRNPT1-1); 02042 M01S01805.fsescrn +++| ATTRIBMASK = MSKINVERSE; 02043 M01S01806.fsescrn +++| END 02044 M01S01807.fsescrn +++| END 02045 M01S01808.fsescrn +++| VDTSAM(0); # CLEAR ATTRIBUTES # 02046 M01S01809.fsescrn +++| SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]); 02047 M01S01810.fsescrn +++| SCRNPT4 = -1; # NUMBER OF BLANKS SO FAR, - 1 # 02048 M01S01811.fsescrn +++| FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO 02049 M01S01812.fsescrn +++| BEGIN 02050 M01S01813.fsescrn +++| GETCHAR(LINE,SCRNPT2,SCRNPT3); 02051 M01S01814.fsescrn +++| IF VTCLRFRST[0] AND SCRNPT3 EQ CBLANK THEN 02052 M01S01815.fsescrn +++| BEGIN # IF LINE CLEAR, CHAR. A BLANK # 02053 M01S01816.fsescrn +++| SCRNPT4 = SCRNPT4 + 1; 02054 M01S01817.fsescrn +++| END 02055 M01S01818.fsescrn +++| ELSE 02056 M01S01819.fsescrn +++| BEGIN # NOT A BLANK, OR NO CLEAR LINE # 02057 M01S01820.fsescrn +++| IF SCRNPT4 GQ 0 THEN 02058 M01S01821.fsescrn +++| BEGIN # IF SOME BLANKS HAVE BEEN SEEN # 02059 M01S01822.fsescrn +++| IF SCRNPT4 GQ VTNUMBLNK[0] THEN 02060 M01S01823.fsescrn +++| BEGIN # IF AT OR PAST THRESHOLD # 02061 M01S01824.fsescrn +++| VDTPOS(SCRNPT2-XSHIFT[SPLIT],SCRNPT1); 02062 M01S01825.fsescrn +++| END 02063 M01S01826.fsescrn +++| ELSE 02064 M01S01827.fsescrn +++| BEGIN # NOT WORTH VDTPOS # 02065 M01S01828.fsescrn +++| SCRNPT5 = XLTINTXP[CBLANK];
Line S01829 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02066 M02S01829.ns2444a ---| FOR DUMB = 0 STEP 1 UNTIL SCRNPT4 DO 02067 M01S00001.ns2444a +++| FOR SCRNPT4 = SCRNPT4 STEP -1 UNTIL 0 DO 02068 M01S01830.fsescrn +++| BEGIN # SEND BLANKS # 02069 M01S01831.fsescrn +++| VDTCHR(SCRNPT5); 02070 M01S01832.fsescrn +++| END 02071 M01S01833.fsescrn +++| END 02072 M01S01834.fsescrn +++| SCRNPT4 = -1; # RESET BLANK COUNT # 02073 M01S01835.fsescrn +++| END 02074 M01S01836.fsescrn +++| SCRNPT3 = XLTINTXP[SCRNPT3]; 02075 M01S00002.ns2623 +++| IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT]; 02076 M01S01837.fsescrn +++| VDTCHR(SCRNPT3); 02077 M01S01838.fsescrn +++| END 02078 M01S01839.fsescrn +++| END 02079 M01S01840.fsescrn +++| END 02080 M01S01841.fsescrn +++| END 02081 M01S01842.fsescrn +++| ELSE 02082 M01S01843.fsescrn +++| BEGIN 02083 M01S01844.fsescrn +++| VDTSAM(0); # CLEAR ATTRIBUTES # 02084 M01S01845.fsescrn +++| ROWPMARK[SCRNPT1] = FALSE; 02085 M01S01846.fsescrn +++| END 02086 M01S01847.fsescrn +++| SCRNPT6=SCRNPT6-XSHIFT[SPLIT]+1; 02087 M01S01848.fsescrn +++| SCRNPT6=MAX(SCRNPT6,0); 02088 M01S01849.fsescrn +++| IF SCRNPT6 LQ VTXMAX AND # IF NOT CLEARED (AT PTTEXT)# 02089 M01S01850.fsescrn +++| NOT VTCLRFRST[0] THEN # BEFORE PRINTING OR BY THE # 02090 M01S01851.fsescrn +++| VDTCLL(SCRNPT6,SCRNPT1); # ACTUAL PRINTING OF OUTPUT # 02091 M01S01852.fsescrn +++| GOTO PTDONE; 02092 M01S01853.fsescrn +++| 02093 M01S01854.fsescrn +++|PTTITLE: 02094 M01S01855.fsescrn +++| SPLIT=ROWSPLIT[SCRNPT1]; 02095 M01S01856.fsescrn +++| FILNUM=SPLITFILE[SPLIT]; 02096 M01S01857.fsescrn +++| IF TABLOCKMDE[0] THEN 02097 M01S01858.fsescrn +++| BEGIN # IF NOT CHARACTER MODE # 02098 M01S01859.fsescrn +++| SCRNPT6 = 1; # WRITE TITLE LINE # 02099 M01S01860.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); 02100 M01S01861.fsescrn +++| VDTSAM(MSKPROTECT+MSKUNDERLN); 02101 M01S01862.fsescrn +++| END 02102 M01S01863.fsescrn +++| ELSE 02103 M01S01864.fsescrn +++| BEGIN # CHARACTER MODE TERMINAL # 02104 M01S01865.fsescrn +++| SCRNPT6 = 0; # NO CHANGE YET TO TITLE LINE # 02105 M01S01866.fsescrn +++| END 02106 M01S01867.fsescrn +++| GENTITLE(SPLIT); 02107 M01S01868.fsescrn +++| SCRNPT5=LENGTH(TTYLIN); 02108 M01S01869.fsescrn +++| IF TABATTRCHR[0] THEN SCRNPT5 = SCRNPT5 - 3; 02109 M01S01870.fsescrn +++| IF SPLIT EQ 1 THEN 02110 M01S01871.fsescrn +++| BEGIN # IF TOP SPLIT # 02111 M01S01872.fsescrn +++| FOR SCRNPT2=LENGTH(TITLE1LIN) STEP 1 UNTIL SCRNPT5 DO 02112 M01S01873.fsescrn +++| BEGIN 02113 M01S01874.fsescrn +++| SETCHAR(TITLE1LINE,SCRNPT2,CENDLINE); 02114 M01S01875.fsescrn +++| END 02115 M01S01876.fsescrn +++| END 02116 M01S01877.fsescrn +++| ELSE # IF BOTTOM SPLIT # 02117 M01S01878.fsescrn +++| BEGIN 02118 M01S01879.fsescrn +++| FOR SCRNPT2=LENGTH(TITLE2LIN) STEP 1 UNTIL SCRNPT5 DO 02119 M01S01880.fsescrn +++| BEGIN 02120 M01S01881.fsescrn +++| SETCHAR(TITLE2LINE,SCRNPT2,CENDLINE); 02121 M01S01882.fsescrn +++| END 02122 M01S01883.fsescrn +++| END 02123 M01S01884.fsescrn +++| SCRNPT2 = 0; 02124 M01S01885.fsescrn +++| IF TABATTRCHR[0] THEN SCRNPT2 = 1; 02125 M01S01886.fsescrn +++| FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL SCRNPT5 DO 02126 M01S01887.fsescrn +++| BEGIN # UNTIL DONE FOR TITLE LINE # 02127 M01S01888.fsescrn +++| IF SPLIT EQ 1 THEN GETCHAR(TITLE1LINE,SCRNPT2,SCRNPT3); 02128 M01S01889.fsescrn +++| ELSE GETCHAR(TITLE2LINE,SCRNPT2,SCRNPT3); 02129 M01S01890.fsescrn +++| GETCHAR(TTYLINE,SCRNPT2,SCRNPT4); 02130 M01S01891.fsescrn +++| IF SCRNPT3 NQ SCRNPT4 AND SCRNPT4 NQ CENDLINE THEN 02131 M01S01892.fsescrn +++| BEGIN # IF CHARACTER HAS CHANGED # 02132 M01S01893.fsescrn +++| SCRNPT4=XLTINTXP[SCRNPT4]; 02133 M01S01894.fsescrn +++| IF SCRNPT6 EQ 0 THEN 02134 M01S01895.fsescrn +++| BEGIN # IF FIRST CHANGE (CHAR. MODE) # 02135 M01S01896.fsescrn +++| IF TABNOTCHAR[0] THEN 02136 M01S01897.fsescrn +++| BEGIN # IF ATTRIBUTE IS "EMBEDDED" # 02137 M01S01898.fsescrn +++| VDTPOS(0,SCRNPT1); 02138 M01S01899.fsescrn +++| END 02139 M01S01900.fsescrn +++| ELSE 02140 M01S01901.fsescrn +++| BEGIN # ATTRIBUTE WILL NOT OVERWRITE # 02141 M01S01902.fsescrn +++| VDTPOS(SCRNPT2,SCRNPT1); 02142 M01S01903.fsescrn +++| END 02143 M01S01904.fsescrn +++| IF TABVTPROTM[0] THEN 02144 M01S01905.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02145 M01S01906.fsescrn +++| VDTSAM(MSKPROTECT+MSKUNDERLN); 02146 M01S01907.fsescrn +++| END 02147 M01S01908.fsescrn +++| ELSE 02148 M01S01909.fsescrn +++| BEGIN # NO PROTECT # 02149 M01S01910.fsescrn +++| VDTSAM(MSKUNDERLN); 02150 M01S01911.fsescrn +++| END 02151 M01S01912.fsescrn +++| IF TABNOTCHAR[0] THEN 02152 M01S01913.fsescrn +++| BEGIN # IF ATTRIBUTE IS "EMBEDDED" # 02153 M01S01914.fsescrn +++| VDTPOS(SCRNPT2,SCRNPT1); 02154 M01S01915.fsescrn +++| END 02155 M01S01916.fsescrn +++| SCRNPT6 = 1; 02156 M01S01917.fsescrn +++| END 02157 M01S01918.fsescrn +++| ELSE 02158 M01S01919.fsescrn +++| BEGIN # NOT FIRST CHANGED CHARACTER # 02159 M01S01920.fsescrn +++| IF SCRNPT2 NQ VTXCUR THEN VDTPOS(SCRNPT2,SCRNPT1); 02160 M01S01921.fsescrn +++| END 02161 M01S01922.fsescrn +++| VDTCHR(SCRNPT4); 02162 M01S01923.fsescrn +++| END 02163 M01S01924.fsescrn +++| END 02164 M01S01925.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02165 M01S01926.fsescrn +++| BEGIN # IF CHARACTER MODE TERMINAL # 02166 M01S01927.fsescrn +++| IF SCRNPT6 EQ 1 THEN 02167 M01S01928.fsescrn +++| BEGIN # IF CHANGE MADE TO TITLE LINE #
Line S01929 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02168 M02S01929.ns2700 ---| IF TABNOTCHAR[0] THEN
Line S01930 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02169 M02S01930.ns2700 ---| BEGIN # IF ATTRIBUTE IS "EMBEDDED" #
Line S01931 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02170 M02S01931.ns2700 ---| IF TABATTRCHR[0] THEN
Line S01932 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02171 M02S01932.ns2700 ---| BEGIN # IF ATTRIBUTE TAKES SPACE #
Line S01933 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02172 M02S01933.ns2700 ---| VDTPOS(VTXMAX-1,SCRNPT1);
Line S01934 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02173 M02S01934.ns2700 ---| END
Line S01935 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02174 M02S01935.ns2700 ---| ELSE
Line S01936 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02175 M02S01936.ns2700 ---| BEGIN # NO SPACE TAKEN BY ATTRIBUTE #
Line S01937 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02176 M02S01937.ns2700 ---| VDTPOS(VTXMAX,SCRNPT1);
Line S01938 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02177 M02S01938.ns2700 ---| END 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 M01S01939.fsescrn +++| END 02186 M01S01940.fsescrn +++| VDTSAM(0); 02187 M01S01941.fsescrn +++| SCRNPT6 = 0; 02188 M01S01942.fsescrn +++| END 02189 M01S01943.fsescrn +++| END 02190 M01S01944.fsescrn +++| ATTRIBMASK[0] = 0; # CLEAR MASK # 02191 M01S01945.fsescrn +++| FOR SCRNPT2 = 0 STEP 1 UNTIL TTLLNLEN DO 02192 M01S01946.fsescrn +++| BEGIN 02193 M01S01947.fsescrn +++| IF SPLIT EQ 1 THEN TITLE1LINE[SCRNPT2]=TTYLINE[SCRNPT2]; 02194 M01S01948.fsescrn +++| ELSE TITLE2LINE[SCRNPT2]=TTYLINE[SCRNPT2]; 02195 M01S01949.fsescrn +++| END 02196 M01S01950.fsescrn +++| LTPS(SPLIT)=TOPS(SPLIT); 02197 M01S01951.fsescrn +++| LASTNAME[SPLIT]=FILENAM[FILNUM]; 02198 M01S01952.fsescrn +++| GOTO PTDONE; 02199 M01S01953.fsescrn +++| 02200 M01S01954.fsescrn +++|PTLABEL: 02201 M01S01955.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET ATTR POSITION # 02202 M01S01956.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02203 M01S01957.fsescrn +++| BEGIN # IF NOT BLOCK MODE # 02204 M01S01958.fsescrn +++| VDTCLL(0,SCRNPT1); # CLEAR LINE # 02205 M01S01959.fsescrn +++| END 02206 M01S01960.fsescrn +++| IF TABVTPROTM[0] THEN VDTSAM(MSKPROTECT); 02207 M01S01961.fsescrn +++| SCRNPT3=1;
Line S01962 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02208 M02S01962.ns2675 ---| IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3 THEN SCRNPT3=-1;
Line S01963 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02209 M02S01963.ns2675 ---| SCRNPT4=0;
Line S01964 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02210 M02S01964.ns2675 ---| IF SCRNPT1 GQ FKEYROW+3 THEN SCRNPT4=FKEYSHOW;
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02211 M02S00001.ns2700 ---| IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02212 M02S00002.ns2700 ---| OR SCRNPT1 EQ FKEYROW+6 THEN SCRNPT3 = -1;
Line S00003 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02213 M02S00003.ns2700 ---| IF SCRNPT1 LS FKEYROW+2 THEN SCRNPT4 = 0;
Line S00004 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02214 M02S00004.ns2700 ---| ELSE IF SCRNPT1 LS FKEYROW+5 THEN SCRNPT4 = FKEYSHOW; 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; 02220 M01S00005.ns2675 +++| ELSE SCRNPT4 = FKEYSHOW+FKEYSHOW;
Line S00006 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02221 M02S00006.ns2700 ---| SCRNPT2=1;
Line S00007 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02222 M02S00007.ns2700 ---| FOR SCRNPT5 = 1 STEP 1 UNTIL POSFKEYS DO
Line S00008 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02223 M02S00008.ns2700 ---| BEGIN
Line S00009 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02224 M02S00009.ns2700 ---| IF (FKEYSTRING[SCRNPT5] NQ NULLIN) OR
Line S00010 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02225 M02S00010.ns2700 ---| (FKEYSTRING[-SCRNPT5] NQ NULLIN) THEN
Line S00011 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02226 M02S00011.ns2700 ---| BEGIN
Line S00012 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02227 M02S00012.ns2700 ---| FKEYNUMS[SCRNPT2] = SCRNPT5;
Line S00013 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02228 M02S00013.ns2700 ---| SCRNPT2 = SCRNPT2 + 1;
Line S00014 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02229 M02S00014.ns2700 ---| END
Line S00015 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02230 M02S00015.ns2700 ---| END
Line S00016 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02231 M02S00016.ns2700 ---| FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL POSFKEYS DO
Line S00017 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02232 M02S00017.ns2700 ---| FKEYNUMS[SCRNPT2] = 0; 02233 M01S01965.fsescrn +++| FOR SCRNPT2=1 STEP 1 WHILE SCRNPT2 LQ FKEYSHOW
Line S01966 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02234 M02S01966.ns2675 ---| AND SCRNPT1 NQ FKEYROW+2 DO
Line S00018 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02235 M02S00018.ns2700 ---| AND SCRNPT1 NQ FKEYROW+2 AND SCRNPT1 NQ FKEYROW+5 DO 02236 M01S00014.ns2700 +++| AND SCRNPT1 NQ FKEYROW+1+SHIFTFKEY 02237 M01S00015.ns2700 +++| AND SCRNPT1 NQ FKEYROW+2*(2+SHIFTFKEY)-1 DO 02238 M01S01967.fsescrn +++| BEGIN
Line S01968 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02239 M02S01968.ns2675 ---| SCRNPT5=SCRNPT2+SCRNPT4; 02240 M01S00019.ns2675 +++| SCRNPT5 = FKEYNUMS[SCRNPT2+SCRNPT4]; 02241 M01S00020.ns2675 +++| IF SCRNPT5 EQ 0 THEN SCRNPT3 = -1; 02242 M01S01969.fsescrn +++| IF SCRNPT3 GQ 0 THEN 02243 M01S01970.fsescrn +++| BEGIN 02244 M01S01971.fsescrn +++| IF SCRNPT5 LS 10 THEN TTSTR("F$"); 02245 M01S01972.fsescrn +++| TTDEC(SCRNPT5); 02246 M01S01973.fsescrn +++| TTSTR(FKEYSPC1); # " $" OR "$" # 02247 M01S01974.fsescrn +++| END 02248 M01S01975.fsescrn +++| ELSE TTSTR(FKEYSPC2); # " $" OR " $" # 02249 M01S01976.fsescrn +++| IF TABVTPROTM[0] THEN 02250 M01S01977.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02251 M01S01978.fsescrn +++| VDTSAM(MSKPROTECT+MSKINVERSE); 02252 M01S01979.fsescrn +++| END 02253 M01S01980.fsescrn +++| ELSE 02254 M01S01981.fsescrn +++| BEGIN # NO PROTECT # 02255 M01S01982.fsescrn +++| VDTSAM(MSKINVERSE); 02256 M01S01983.fsescrn +++| END
Line S01984 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02257 M02S01984.ns2641 ---| IF VTXMAX EQ 131 THEN TTSTR(" $"); 02258 M01S00152.ns2641 +++| IF FKEYPAD GR 0 THEN TTST(" ",FKEYPAD); 02259 M01S01985.fsescrn +++| TTST(FKEYNAME[SCRNPT5*SCRNPT3],FKEYCHARS);
Line S01986 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2641 |
Seq # *Modification Id* Act ----------------------------+ 02260 M02S01986.ns2641 ---| IF VTXMAX EQ 131 THEN TTSTR(" $"); 02261 M01S00153.ns2641 +++| IF FKEYPAD GR 0 THEN TTST(" ",FKEYPAD); 02262 M01S01987.fsescrn +++| IF SCRNPT2 NQ FKEYSHOW THEN 02263 M01S01988.fsescrn +++| BEGIN # IF NOT FKEYSHOW # 02264 M01S01989.fsescrn +++| IF TABVTPROTM[0] THEN 02265 M01S01990.fsescrn +++| BEGIN # IF PROTECT AVAILABLE FOR FSE # 02266 M01S01991.fsescrn +++| VDTSAM(MSKPROTECT); 02267 M01S01992.fsescrn +++| END 02268 M01S01993.fsescrn +++| ELSE 02269 M01S01994.fsescrn +++| BEGIN # NO PROTECT # 02270 M01S01995.fsescrn +++| VDTSAM(0); 02271 M01S01996.fsescrn +++| END 02272 M01S01997.fsescrn +++| TTSTR(FKEYSPC1); # " $" OR "$" # 02273 M01S01998.fsescrn +++| END 02274 M01S01999.fsescrn +++| END 02275 M01S02000.fsescrn +++| IF NOT TABLOCKMDE[0] THEN 02276 M01S02001.fsescrn +++| BEGIN # IF CHARACTER MODE TERMINAL # 02277 M01S02002.fsescrn +++| IF NOT(TABATTRCHR[0] AND TABLASTPOS[0] EQ CURSORMOVE"SCROLL" 02278 M01S02003.fsescrn +++| AND VTYCUR EQ VTYMAX) THEN VDTSAM(0); 02279 M01S02004.fsescrn +++| END 02280 M01S02005.fsescrn +++| ELSE 02281 M01S02006.fsescrn +++| BEGIN # IF BLOCK MODE TERMINAL #
Line S02007 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02282 M02S02007.ns2675 ---| IF SCRNPT1 EQ FKEYROW+2 THEN VDTCLL(0,SCRNPT1);
Line S00021 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02283 M02S00021.ns2700 ---| IF SCRNPT1 EQ FKEYROW+2 OR SCRNPT1 EQ FKEYROW+5 THEN 02284 M01S00016.ns2700 +++| IF SCRNPT1 EQ FKEYROW+1+SHIFTFKEY 02285 M01S00017.ns2700 +++| OR SCRNPT1 EQ FKEYROW+2*(2+SHIFTFKEY)-1 THEN 02286 M01S00022.ns2675 +++| VDTCLL(0,SCRNPT1); 02287 M01S02008.fsescrn +++| END 02288 M01S02009.fsescrn +++| ATTRIBMASK[0] = 0; # CLEAR MASK # 02289 M01S02010.fsescrn +++| GOTO PTDONE; 02290 M01S02011.fsescrn +++| 02291 M01S02012.fsescrn +++|PTEMPTY: 02292 M01S02013.fsescrn +++| VDTSAP(DUMB,0,SCRNPT1); # SET UP AN ATTR BYTE # 02293 M01S02014.fsescrn +++| VDTSAM(0); 02294 M01S02015.fsescrn +++| VDTCLL(0,SCRNPT1); 02295 M01S02016.fsescrn +++| GOTO PTDONE; 02296 M01S02017.fsescrn +++| 02297 M01S02018.fsescrn +++|PTCMD: 02298 M01S02019.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); # SET UP AN ATTR BYTE # 02299 M01S02020.fsescrn +++| VDTSAM(0); 02300 M01S02021.fsescrn +++| VDTCLL(0,COMMANDROW); 02301 M01S02022.fsescrn +++| GOTO PTDONE; 02302 M01S02023.fsescrn +++| 02303 M01S02024.fsescrn +++|PTRESPONSE: 02304 M01S02025.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); # SET ATTRIBUTE POSITION # 02305 M01S02026.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT); 02306 M01S02027.fsescrn +++| VDTCLL(0,RESPONSEROW); 02307 M01S02028.fsescrn +++| ATTRIBMASK[0] = 0; 02308 M01S02029.fsescrn +++| # FALL THROUGH TO PTDONE # 02309 M01S02030.fsescrn +++|PTDONE: 02310 M01S02031.fsescrn +++| 02311 M01S02032.fsescrn +++| END 02312 M01S02033.fsescrn +++| END 02313 M01S02034.fsescrn +++| 02314 M01S02035.fsescrn +++| IF ERRCURSOR GQ 0 THEN 02315 M01S02036.fsescrn +++| BEGIN 02316 M01S02037.fsescrn +++| XCURSOR=ERRCURSOR; 02317 M01S02038.fsescrn +++| IF YCURSOR EQ COMMANDROW THEN 02318 M01S02039.fsescrn +++| BEGIN # IF COMMAND ROW # 02319 M01S02040.fsescrn +++| IF TABLOCKMDE[0] THEN 02320 M01S02041.fsescrn +++| BEGIN # SET ATTRIBUTE # 02321 M01S02042.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); 02322 M01S02043.fsescrn +++| VDTSAM(0); 02323 M01S02044.fsescrn +++| END 02324 M01S02045.fsescrn +++| VDTCLL(0,COMMANDROW); 02325 M01S02046.fsescrn +++| FOR SCRNPT2 = 0 STEP 1 UNTIL LENGTH(CMDLIN) - 1 DO 02326 M01S02047.fsescrn +++| BEGIN # WRITE COMMAND # 02327 M01S02048.fsescrn +++| GETCHAR(CMDLINE,SCRNPT2,SCRNPT3); 02328 M01S02049.fsescrn +++| VDTCHR(XLTINTXP[SCRNPT3]); 02329 M01S02050.fsescrn +++| END 02330 M01S02051.fsescrn +++| ROWPAINT[COMMANDROW]=TRUE; 02331 M01S02052.fsescrn +++| END 02332 M01S02053.fsescrn +++| END 02333 M01S02054.fsescrn +++| ELSE 02334 M01S02055.fsescrn +++| BEGIN # NO NEED TO PAINT # 02335 M01S02056.fsescrn +++| IF TABLOCKMDE[0] THEN 02336 M01S02057.fsescrn +++| BEGIN # INSURE ATTRIBUTE # 02337 M01S02058.fsescrn +++| VDTSAP(DUMB,0,COMMANDROW); 02338 M01S02059.fsescrn +++| VDTSAM(0); 02339 M01S02060.fsescrn +++| END 02340 M01S02061.fsescrn +++| END 02341 M01S02062.fsescrn +++| 02342 M01S02063.fsescrn +++| IF ERRSTRING NQ " $" THEN 02343 M01S02064.fsescrn +++| BEGIN 02344 M01S02065.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); 02345 M01S02066.fsescrn +++| IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT); 02346 M01S02067.fsescrn +++| VDTCLL(0,RESPONSEROW); 02347 M01S02068.fsescrn +++| TTSTR(ERRSTRING); 02348 M01S02069.fsescrn +++| ATTRIBMASK[0] = 0; 02349 M01S02070.fsescrn +++| ROWPAINT[RESPONSEROW]=TRUE; 02350 M01S02071.fsescrn +++| END 02351 M01S02072.fsescrn +++| 02352 M01S02073.fsescrn +++| POSZ(CURF(CURFILE)); 02353 M01S02074.fsescrn +++| IF XCURSOR LS 0 THEN XCURSOR=0; 02354 M01S02075.fsescrn +++| IF XCURSOR GR USRNUMCOL THEN 02355 M01S02076.fsescrn +++| BEGIN # IF CURSOR OFF EDGE OF SCREEN # 02356 M01S02077.fsescrn +++| XCURSOR=0; 02357 M01S02078.fsescrn +++| IF ERRSTRING EQ " $" THEN 02358 M01S02079.fsescrn +++| BEGIN # IF NO OTHER ERROR MESSAGE # 02359 M01S02080.fsescrn +++| ERRSTRING = "CURSOR RESET FROM BEYOND EDGE OF SCREEN$"; 02360 M01S02081.fsescrn +++| CONTROL IFEQ SINGLE,1; # IF NOT MULTI USER FSE # 02361 M01S02082.fsescrn +++| IF TABLOCKMDE[0] THEN 02362 M01S02083.fsescrn +++| BEGIN 02363 M01S02084.fsescrn +++| VDTSAP(DUMB,0,RESPONSEROW); 02364 M01S02085.fsescrn +++| VDTSAM(MSKPROTECT); 02365 M01S02086.fsescrn +++| END 02366 M01S02087.fsescrn +++| CONTROL FI; # END OF NOT MULTI USER FSE # 02367 M01S02088.fsescrn +++| VDTCLL(0,RESPONSEROW); 02368 M01S02089.fsescrn +++| TTSTR(ERRSTRING); 02369 M01S02090.fsescrn +++| ATTRIBMASK[0] = 0; 02370 M01S02091.fsescrn +++| ROWPAINT[RESPONSEROW]=TRUE; 02371 M01S02092.fsescrn +++| END 02372 M01S02093.fsescrn +++| END 02373 M01S02094.fsescrn +++| VDTPOS(XCURSOR,YCURSOR); 02374 M01S02095.fsescrn +++| 02375 M01S02096.fsescrn +++| IOEND # PAINTSCREEN # 02376 M01S02097.fsescrn +++|PAGE # GLOBAL LOCATE/CHANGE PROMPT # 02377 M01S02098.fsescrn +++| 02378 M01S02099.fsescrn +++| 02379 M01S02100.fsescrn +++|PROC GLOBALPROMPT; 02380 M01S02101.fsescrn +++| IOBEGIN(GLOBALPROMPT) 02381 M01S02102.fsescrn +++|# 02382 M01S02103.fsescrn +++|** GLOBALPROMPT - ASK QUESTION FOR GLOBAL OPERATIONS. 02383 M01S02104.fsescrn +++|* 02384 M01S02105.fsescrn +++|* THIS ROUTINE PROVIDES SCREEN FORMATTING AND INTERACTIVE 02385 M01S02106.fsescrn +++|* DIALOGUE FOR THE GENERAL CATEGORY OF GLOBAL SEARCH AND 02386 M01S02107.fsescrn +++|* GLOBAL CHANGES. THESE FUNCTIONS REQUIRE INTERMITTENT 02387 M01S02108.fsescrn +++|* CALLS TO A SCREEN DRIVER WHILE PROCESSING A FILE. THE 02388 M01S02109.fsescrn +++|* ACTUAL PROCESSING CODE INTERFACES TO EITHER GLOBALLOCATE 02389 M01S02110.fsescrn +++|* OR GLOBALCHANGE. THESE ROUTINES PERFORM PRELIMINARY 02390 M01S02111.fsescrn +++|* OPERATIONS AND THEN PASS THE CALL TO THIS ROUTINE. THEN 02391 M01S02112.fsescrn +++|* THE INTERFACE ROUTINE ANALYZES THE USERS REPLY. 02392 M01S02113.fsescrn +++|* 02393 M01S02114.fsescrn +++|* GLOBALPROMPT HAS THREE BASIC FUNCTIONS. FIRST, IT DOES 02394 M01S02115.fsescrn +++|* INITIAL SCREEN FORMATTING ON THE FIRST CALL OF THE GLOBAL 02395 M01S02116.fsescrn +++|* OPERATION OR THE FIRST CALL AFTER A DIALOGUE. SECOND, IT 02396 M01S02117.fsescrn +++|* DISPLAYS EACH LINE OF TEXT AS THEY BECOME AVAILABLE. 02397 M01S02118.fsescrn +++|* THIRD, WHEN THE DISPLAY IS FULL OR THE OPERATION IS ABOUT 02398 M01S02119.fsescrn +++|* TO FINISH, GLOBALPROMPT PROMPTS THE USER FOR INSTRUCTIONS. 02399 M01S02120.fsescrn +++|* 02400 M01S02121.fsescrn +++|* ENTRY SCRNPT4 - ORDINAL OF PROMPT MESSAGE. 02401 M01S02122.fsescrn +++|* SCREENMODE, PROMPTING - BOTH TRUE TO DO ANYTHING. 02402 M01S02123.fsescrn +++|* ROWSUSED - AS INITIALIZED OR LEFT BY PREVIOUS CALL. 02403 M01S02124.fsescrn +++|* LINCTR - INDICATES FINAL CALL OF GLOBAL OPERATION. 02404 M01S02125.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02405 M01S02126.fsescrn +++|* COMMANDROW, TITLEROW[ALL], NUMROWS[ALL] - SETUP. 02406 M01S02127.fsescrn +++|* 02407 M01S02128.fsescrn +++|* EXIT SCRNPT5=1 IF PROMPT REALLY OCCURRED, ELSE 0. 02408 M01S02129.fsescrn +++|* TTYLIN - POSSIBLY INPUT TEXT. 02409 M01S02130.fsescrn +++|* TMPLIN - OLD VERSION OF TTYLIN IF TTYLIN CHANGED. 02410 M01S02131.fsescrn +++|* ROWLNPTR[ALL] - INDICATE WHICH FILE LINE ON ROW. 02411 M01S02132.fsescrn +++|* ROWUSED - UPDATED. 02412 M01S02133.fsescrn +++|* ROWPAINT[THIS SPLIT] - TRUE. 02413 M01S02134.fsescrn +++|* TITLE1LIN, TITLE2LIN - CLEARED. 02414 M01S02135.fsescrn +++|* 02415 M01S02136.fsescrn +++|* MACROS GETCHAR. 02416 M01S02137.fsescrn +++|* 02417 M01S02138.fsescrn +++|* CALLS VDTCLL, VDTPOS, TTLPAD, TTSTR, VDTCHR, PAINTNONE, 02418 M01S02139.fsescrn +++|* COPYLIN, ASKUSER, PAINTSPLIT. 02419 M01S02140.fsescrn +++|* 02420 M01S02141.fsescrn +++|* USES P<FROM>, SCRNPT1, SCRNPT2, SCRNPT3, SCRNPT6. 02421 M01S02142.fsescrn +++|# 02422 M01S02143.fsescrn +++| ARRAY GLBLMSGS [1:4] S(8); 02423 M01S02144.fsescrn +++| BEGIN 02424 M01S02145.fsescrn +++| ITEM GLBLTITLE C(0,0,40) = [ "LOCATED LINES$", 02425 M01S02146.fsescrn +++| "LOCATED LINES$", "CHANGED LINES$", "CHANGED LINES$" ]; 02426 M01S02147.fsescrn +++| ITEM GLBLPROMPT C(4,0,40) = [ 02427 M01S02148.fsescrn +++| "ENTER LINE NUMBER OR PRESS NEXT$", 02428 M01S02149.fsescrn +++| "ENTER LINE NUMBER OR PRESS NEXT$", 02429 M01S02150.fsescrn +++| "ENTER UNDO OR PRESS NEXT FOR MORE$", 02430 M01S02151.fsescrn +++| "ENTER UNDO OR PRESS NEXT TO END$" ]; 02431 M01S02152.fsescrn +++| END 02432 M01S02153.fsescrn +++| 02433 M01S02154.fsescrn +++| SCRNPT5=0; 02434 M01S02155.fsescrn +++| 02435 M01S02156.fsescrn +++| IF NOT (SCREENMODE AND PROMPTING) THEN IORET 02436 M01S02157.fsescrn +++| 02437 M01S02158.fsescrn +++| IF ROWSUSED EQ 0 THEN # INIT DISPLAY # 02438 M01S02159.fsescrn +++| BEGIN 02439 M01S02160.fsescrn +++| VDTCLL(0,COMMANDROW); 02440 M01S02161.fsescrn +++| VDTCLL(0,RESPONSEROW); 02441 M01S02162.fsescrn +++| TITLE1LINE[0]=NULLIN; 02442 M01S02163.fsescrn +++| TITLE2LINE[0]=NULLIN; 02443 M01S02164.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL VTYMAX DO ROWLNPTR[SCRNPT1]=0; 02444 M01S02165.fsescrn +++| FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL 02445 M01S02166.fsescrn +++| TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO VDTCLL(0,SCRNPT1); 02446 M01S02167.fsescrn +++| VDTPOS(0,TITLEROW[CURSPLIT]); 02447 M01S02168.fsescrn +++| TTSTR("F$"); 02448 M01S02169.fsescrn +++| TTLCSTR("ILE $"); 02449 M01S02170.fsescrn +++| TTLFN(FILENAM[SPLITFILE[CURSPLIT]]); 02450 M01S02171.fsescrn +++| TTSTR(" D$"); 02451 M01S02172.fsescrn +++| TTLCSTR("ISPLAYING $"); 02452 M01S02173.fsescrn +++| P<FROM>=LOC(GLBLTITLE[SCRNPT4]); 02453 M01S02174.fsescrn +++| TTLCSTR(FROM); 02454 M01S02175.fsescrn +++| END 02455 M01S02176.fsescrn +++| 02456 M01S02177.fsescrn +++| IF LINCTR LS LARGENUM THEN # NOT FINAL CALL # 02457 M01S02178.fsescrn +++| BEGIN 02458 M01S02179.fsescrn +++| ROWSUSED=ROWSUSED+1; 02459 M01S02180.fsescrn +++| # PRINT ONE TEXT LINE NEXT POSITION # 02460 M01S02181.fsescrn +++| VDTPOS(0,TITLEROW[CURSPLIT]+ROWSUSED); 02461 M01S02182.fsescrn +++| ROWLNPTR[TITLEROW[CURSPLIT]+ROWSUSED]=CURRENT-TOPF(CURFILE); 02462 M01S02183.fsescrn +++| TTLPAD(CURRENT-TOPF(CURFILE),7," "); 02463 M01S02184.fsescrn +++| TTSTR(" $"); 02464 M01S02185.fsescrn +++| SCRNPT6 = -1; # NUMBER OF BLANKS SO FAR, - 1 # 02465 M01S02186.fsescrn +++| FOR SCRNPT1=0 STEP 1 UNTIL MIN(LENGTH(LIN)-1,VTXMAX-8) DO 02466 M01S02187.fsescrn +++| BEGIN 02467 M01S02188.fsescrn +++| GETCHAR(LINE,SCRNPT1,SCRNPT2); 02468 M01S02189.fsescrn +++| IF SCRNPT2 EQ CBLANK THEN 02469 M01S02190.fsescrn +++| BEGIN # IF CHARACTER IS A BLANK # 02470 M01S02191.fsescrn +++| SCRNPT6 = SCRNPT6 + 1; 02471 M01S02192.fsescrn +++| END 02472 M01S02193.fsescrn +++| ELSE 02473 M01S02194.fsescrn +++| BEGIN # NOT A BLANK # 02474 M01S02195.fsescrn +++| IF SCRNPT6 GQ 0 THEN 02475 M01S02196.fsescrn +++| BEGIN # IF SOME BLANKS HAVE BEEN SEEN # 02476 M01S02197.fsescrn +++| IF SCRNPT6 GQ VTNUMBLNK[0] THEN 02477 M01S02198.fsescrn +++| BEGIN # IF AT OR PAST THRESHOLD # 02478 M01S02199.fsescrn +++| VDTPOS(SCRNPT1+8,VTYCUR); 02479 M01S02200.fsescrn +++| END 02480 M01S02201.fsescrn +++| ELSE 02481 M01S02202.fsescrn +++| BEGIN # NOT WORTH VDTPOS # 02482 M01S02203.fsescrn +++| SCRNPT3 = XLTINTXP[CBLANK];
Line S02204 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2444a |
Seq # *Modification Id* Act ----------------------------+ 02483 M02S02204.ns2444a ---| FOR DUMB = 0 STEP 1 UNTIL SCRNPT6 DO 02484 M01S00002.ns2444a +++| FOR SCRNPT6 = SCRNPT6 STEP -1 UNTIL 0 DO 02485 M01S02205.fsescrn +++| BEGIN # SEND BLANKS # 02486 M01S02206.fsescrn +++| VDTCHR(SCRNPT3); 02487 M01S02207.fsescrn +++| END 02488 M01S02208.fsescrn +++| END 02489 M01S02209.fsescrn +++| SCRNPT6 = -1; # RESET BLANK COUNT # 02490 M01S02210.fsescrn +++| END 02491 M01S02211.fsescrn +++| SCRNPT2 = XLTINTXP[SCRNPT2]; 02492 M01S02212.fsescrn +++| VDTCHR(SCRNPT2); 02493 M01S02213.fsescrn +++| END 02494 M01S02214.fsescrn +++| END 02495 M01S02215.fsescrn +++| END 02496 M01S02216.fsescrn +++| 02497 M01S02217.fsescrn +++| IF ROWSUSED LS NUMROWS[CURSPLIT] AND LINCTR LS LARGENUM 02498 M01S02218.fsescrn +++| THEN IORET 02499 M01S02219.fsescrn +++| 02500 M01S02220.fsescrn +++| PAINTNONE; # SUPPRESS PAINTSCREEN OUTPUT # 02501 M01S02221.fsescrn +++| COPYLIN(TTYLIN,TMPLIN); # PRESERVE OLD TTYLIN # 02502 M01S02222.fsescrn +++| P<FROM>=LOC(GLBLPROMPT[SCRNPT4]); 02503 M01S02223.fsescrn +++| ASKUSER(FROM,0); 02504 M01S02224.fsescrn +++| PROMPTING=TRUE; # SINCE ASKUSER CLEARS # 02505 M01S02225.fsescrn +++| PAINTSPLIT; # SO SCREEN WILL BE RE-BUILT # 02506 M01S02226.fsescrn +++| SCRNPT5=1; # INDICATE PROMPT ON THIS CYCLE # 02507 M01S02227.fsescrn +++| ROWSUSED=0; # INDICATE FRESH BATCH NEXT TIME # 02508 M01S02228.fsescrn +++| 02509 M01S02229.fsescrn +++| IOEND # OF GLOBALPROMPT # 02510 M01S02230.fsescrn +++| 02511 M01S02231.fsescrn +++| 02512 M01S02232.fsescrn +++|PROC GLOBALLOCATE; 02513 M01S02233.fsescrn +++| IOBEGIN(GLOBALLOCATE) 02514 M01S02234.fsescrn +++|# 02515 M01S02235.fsescrn +++|** GLOBALLOCATE - GLOBAL LOCATE PROMPTING INTERFACE. 02516 M01S02236.fsescrn +++|* 02517 M01S02237.fsescrn +++|* GLOBALLOCATE IS AN INTERFACE BETWEEN THE LOCATE 02518 M01S02238.fsescrn +++|* COMMAND PROCESSING AND THE GLOBALPROMPT ROUTINE. 02519 M01S02239.fsescrn +++|* GLOBAL SEARCHES DROP INTO A SECONDARY DISPLAY AND PROMPT. 02520 M01S02240.fsescrn +++|* GLOBALLOCATE USES GLOBALPROMPT FOR CONTROL OVER THE 02521 M01S02241.fsescrn +++|* DISPLAY AND USER'S REPLY, AND PERFORMS ITS OWN 02522 M01S02242.fsescrn +++|* ANALYSIS OF REPLIES. GLOBALLOCATE CAN DIRECT THE COMMAND 02523 M01S02243.fsescrn +++|* DRIVER TO SHUTDOWN THE SEARCH ON USER REQUEST. 02524 M01S02244.fsescrn +++|* 02525 M01S02245.fsescrn +++|* ENTRY LINCTR - INDICATES LAST CALL OF OPERATION. 02526 M01S02246.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02527 M01S02247.fsescrn +++|* 02528 M01S02248.fsescrn +++|* EXIT LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN. 02529 M01S02249.fsescrn +++|* CURRENT - POSSIBLY MOVED. 02530 M01S02250.fsescrn +++|* 02531 M01S02251.fsescrn +++|* MACROS GETCHAR. 02532 M01S02252.fsescrn +++|* 02533 M01S02253.fsescrn +++|* CALLS GLOBALPROMPT, WINDOLIN, POSZ. 02534 M01S02254.fsescrn +++|* 02535 M01S02255.fsescrn +++|* USES TTYLIN, SCRNPT4, SCRNPT5. 02536 M01S02256.fsescrn +++|# 02537 M01S02257.fsescrn +++| ITEM TMP1, TMP2, TMP3; # USE INSTANTLY # 02538 M01S02258.fsescrn +++| 02539 M01S02259.fsescrn +++| SCRNPT4=1; # INDICATE MESSAGE SELECTION # 02540 M01S02260.fsescrn +++| IF LINCTR EQ LARGENUM THEN SCRNPT4=2; 02541 M01S02261.fsescrn +++| GLOBALPROMPT; 02542 M01S02262.fsescrn +++| IF SCRNPT5 EQ 0 THEN IORET # IF NO REPLY YET # 02543 M01S02263.fsescrn +++| 02544 M01S02264.fsescrn +++| # EXIT IMMEDIATELY IF USER ESCAPING WITH FKEY # 02545 M01S02265.fsescrn +++| IF ESCAPE THEN IORET 02546 M01S02266.fsescrn +++| 02547 M01S02267.fsescrn +++| TMP1=-1; # SEE IF NUMERIC REPLY # 02548 M01S02268.fsescrn +++| FOR TMP2=0 STEP 1 UNTIL LENGTH(TTYLIN)-1 DO 02549 M01S02269.fsescrn +++| BEGIN 02550 M01S02270.fsescrn +++| GETCHAR(TTYLINE,TMP2,TMP3); 02551 M01S02271.fsescrn +++| IF TMP3 GQ CDIGIT0 AND TMP3 LQ CDIGIT9 THEN 02552 M01S02272.fsescrn +++| BEGIN 02553 M01S02273.fsescrn +++| IF TMP1 LS 0 THEN TMP1=0; 02554 M01S02274.fsescrn +++| TMP1=TMP1*10 + TMP3-CDIGIT0; 02555 M01S02275.fsescrn +++| END 02556 M01S02276.fsescrn +++| END 02557 M01S02277.fsescrn +++| 02558 M01S02278.fsescrn +++| IF TMP1 LS 0 AND YCURSOR GR 0 AND ROWLNPTR[YCURSOR-1] NQ 0 02559 M01S02279.fsescrn +++| THEN TMP1=ROWLNPTR[YCURSOR-1]; # IF CURSOR POINTED # 02560 M01S02280.fsescrn +++| 02561 M01S02281.fsescrn +++| IF TMP1 GQ 0 THEN # STOP ON SIGNIFICANT REPLY # 02562 M01S02282.fsescrn +++| BEGIN 02563 M01S02283.fsescrn +++| LINCTR=LARGENUM; # TO STOP DORANGE # 02564 M01S02284.fsescrn +++| TMP1=TMP1+TOPF(CURFILE); 02565 M01S02285.fsescrn +++| WINDOLIN(TMP1,CURFILE); 02566 M01S02286.fsescrn +++| POSZ(TMP1); 02567 M01S02287.fsescrn +++| END 02568 M01S02288.fsescrn +++| 02569 M01S02289.fsescrn +++| IOEND # OF GLOBALLOCATE # 02570 M01S02290.fsescrn +++| 02571 M01S02291.fsescrn +++| 02572 M01S02292.fsescrn +++|PROC GLOBALCHANGE; 02573 M01S02293.fsescrn +++| IOBEGIN(GLOBALCHANGE) 02574 M01S02294.fsescrn +++|# 02575 M01S02295.fsescrn +++|** GLOBALCHANGE - GLOBAL CHANGE PROMPTING INTERFACE. 02576 M01S02296.fsescrn +++|* 02577 M01S02297.fsescrn +++|* ENTRY LINCTR - INDICATES LAST CALL OF OPERATION. 02578 M01S02298.fsescrn +++|* CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE. 02579 M01S02299.fsescrn +++|* 02580 M01S02300.fsescrn +++|* EXIT LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN. 02581 M01S02301.fsescrn +++|* CMDLIN - POSSIBLY UNDO COMMAND. 02582 M01S02302.fsescrn +++|* 02583 M01S02303.fsescrn +++|* MACROS GETCHAR. 02584 M01S02304.fsescrn +++|* 02585 M01S02305.fsescrn +++|* CALLS GLOBALPROMPT, EXCHWD, DSPLCOD, STARTCMD. 02586 M01S02306.fsescrn +++|* 02587 M01S02307.fsescrn +++|* USES TMPLIN, SCRNPT4, SCRNPT5. 02588 M01S02308.fsescrn +++|* 02589 M01S02309.fsescrn +++|* NOTE TTYLIN USED WITH RESTORATION. 02590 M01S02310.fsescrn +++|# 02591 M01S02311.fsescrn +++| 02592 M01S02312.fsescrn +++| ITEM TMP1, TMP2, TMP3; # USE INSTANTLY # 02593 M01S02313.fsescrn +++| 02594 M01S02314.fsescrn +++| IF NOT (SCREENMODE AND PROMPTING) THEN IORET # EFFICIENT # 02595 M01S02315.fsescrn +++| 02596 M01S02316.fsescrn +++| SCRNPT4=3; # INDICATE MESSAGE SELECTION # 02597 M01S02317.fsescrn +++| IF LINCTR EQ LARGENUM THEN SCRNPT4=4; 02598 M01S02318.fsescrn +++| GLOBALPROMPT; 02599 M01S02319.fsescrn +++| IF SCRNPT5 EQ 0 THEN IORET # LEAVE IF NO REPLY YET # 02600 M01S02320.fsescrn +++| 02601 M01S02321.fsescrn +++| # GET OUT IF USER ESCAPING WITH FKEY # 02602 M01S02322.fsescrn +++| IF ESCAPE THEN IORET 02603 M01S02323.fsescrn +++| 02604 M01S02324.fsescrn +++| EXCHWD(BUFWIDP1,TTYLIN,TMPLIN); # TTYLIN AS WAS, TMPLIN=INPUT # 02605 M01S02325.fsescrn +++| TMP1=-1; # SEARCH FOR ALPHABETIC REPLY # 02606 M01S02326.fsescrn +++| FOR TMP2=0 STEP 1 UNTIL LENGTH(TMPLIN)-1 DO 02607 M01S02327.fsescrn +++| BEGIN 02608 M01S02328.fsescrn +++| GETCHAR(TMPLINE,TMP2,TMP3); 02609 M01S02329.fsescrn +++| DSPLCOD(TMP3); 02610 M01S02330.fsescrn +++| IF TMP1 LS 0 AND TMP3 GQ CLETTERA AND TMP3 LQ CLETTERZ 02611 M01S02331.fsescrn +++| THEN TMP1=TMP3; 02612 M01S02332.fsescrn +++| END 02613 M01S02333.fsescrn +++| IF TMP1 EQ "U" THEN 02614 M01S02334.fsescrn +++| BEGIN 02615 M01S02335.fsescrn +++| LINCTR=LARGENUM; # TO STOP DORANGE # 02616 M01S02336.fsescrn +++| SETCHAR(CMDLINE,0,CLETTERU); # CREATE UNDO COMMAND # 02617 M01S02337.fsescrn +++| SETCHAR(CMDLINE,1,CENDLINE); 02618 M01S02338.fsescrn +++| STARTCMD; 02619 M01S02339.fsescrn +++| END 02620 M01S02340.fsescrn +++| 02621 M01S02341.fsescrn +++| IOEND # OF GLOBALCHANGE # 02622 M01S02342.fsescrn +++|PAGE # GENERAL LINE TO SCREEN DISPLAYS # 02623 M01S02343.fsescrn +++| 02624 M01S02344.fsescrn +++|# 02625 M01S02345.fsescrn +++|** DEDICATED DISPLAY DRIVERS. 02626 M01S02346.fsescrn +++|* 02627 M01S02347.fsescrn +++|* BGNDSPLAY, ENDDSPLAY, AND EOLDSPLAY PROVIDE A GENERAL 02628 M01S02348.fsescrn +++|* MECHANISM FOR COMMAND PROCESSORS IN THE EDITOR TO 02629 M01S02349.fsescrn +++|* OVERRIDE THE NORMAL DISPLAY AND DISPLAY SPECIALIZED 02630 M01S02350.fsescrn +++|* INFORMATION. AT THE CURRENT TIME, THESE ROUTINES ARE 02631 M01S02351.fsescrn +++|* COMPILED ONLY IN THE SINGLE-USER VERSION OF THE EDITOR 02632 M01S02352.fsescrn +++|* DUE TO THEIR LIMITED SCOPE OF NEED. 02633 M01S02353.fsescrn +++|* 02634 M01S02354.fsescrn +++|* THE CALLER USES BGNDSPLAY TO TAKE OVER THE SCREEN, 02635 M01S02355.fsescrn +++|* THEN USES ANY OF THE FSEFORM ROUTINES TO FORMAT EACH 02636 M01S02356.fsescrn +++|* LINE OF TEXT, CALLING EOLDSPLAY TO ADVANCE THE CURSOR 02637 M01S02357.fsescrn +++|* BETWEEN LINES. THE DISPLAY IS COMPLETED BY ENDDSPLAY. 02638 M01S02358.fsescrn +++|* NOTE THAT EOLDSPLAY INCLUDES LOGIC TO TURN PAGES. 02639 M01S02359.fsescrn +++|# 02640 M01S02360.fsescrn +++| 02641 M01S02361.fsescrn +++|CONTROL IFEQ SINGLE,1; 02642 M01S02362.fsescrn +++| 02643 M01S02363.fsescrn +++| PROC BGNDSPLAY; 02644 M01S02364.fsescrn +++|# TITLE BGNDSPLAY - INTIALIZE DEDICATED DISPLAY FORMAT. # 02645 M01S02365.fsescrn +++| 02646 M01S02366.fsescrn +++| BEGIN # BGNDSPLAY # 02647 M01S02367.fsescrn +++| 02648 M01S02368.fsescrn +++|# 02649 M01S02369.fsescrn +++|** BGNDSPLAY - INITIALIZE DEDICATED DISPLAY FORMAT. 02650 M01S02370.fsescrn +++|* 02651 M01S02371.fsescrn +++|* PROC BGNDSPLAY 02652 M01S02372.fsescrn +++|* 02653 M01S02373.fsescrn +++|* ENTRY SCREENMODE - ON FOR NON-TRIVIAL OPERATION. 02654 M01S02374.fsescrn +++|* 02655 M01S02375.fsescrn +++|* EXIT SCRNPT1 - INITIALIZED AS PAGE COUNTER. 02656 M01S02376.fsescrn +++|* SCREEN CLEARED, CURSOR POSITIONED. 02657 M01S02377.fsescrn +++|* TITLE1LIN, TITLE2LIN - CLEARED. 02658 M01S02378.fsescrn +++|* 02659 M01S02379.fsescrn +++|* CALLS PAINTNONE, VDTCLS, VDTPOS. 02660 M01S02380.fsescrn +++|# 02661 M01S02381.fsescrn +++| 02662 M01S02382.fsescrn +++| IF SCREENMODE THEN 02663 M01S02383.fsescrn +++| BEGIN 02664 M01S02384.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN 02665 M01S02385.fsescrn +++| BEGIN # IF IN SPLIT SCREEN MODE # 02666 M01S02386.fsescrn +++| IF CURSPLIT EQ 1 THEN 02667 M01S02387.fsescrn +++| BEGIN # IF FIRST SPLIT IS CURRENT # 02668 M01S02388.fsescrn +++| CURSPLIT = 2; # CLEAR FOR OTHER SPLIT # 02669 M01S02389.fsescrn +++| PAINTNONE; 02670 M01S02390.fsescrn +++| CURSPLIT = 1; # RESET # 02671 M01S02391.fsescrn +++| END 02672 M01S02392.fsescrn +++| ELSE 02673 M01S02393.fsescrn +++| BEGIN # CURRENT SPLIT IN THE SECOND # 02674 M01S02394.fsescrn +++| CURSPLIT = 1; # CLEAR FOR OTHER SPLIT # 02675 M01S02395.fsescrn +++| PAINTNONE; 02676 M01S02396.fsescrn +++| CURSPLIT = 2; # RESET # 02677 M01S02397.fsescrn +++| END 02678 M01S02398.fsescrn +++| END 02679 M01S02399.fsescrn +++| PAINTNONE; 02680 M01S02400.fsescrn +++| VDTCLS; 02681 M01S02401.fsescrn +++| TITLE1LINE[0]=NULLIN; 02682 M01S02402.fsescrn +++| TITLE2LINE[0]=NULLIN; 02683 M01S02403.fsescrn +++| SCRNPT1=TITLEROW[1]; 02684 M01S02404.fsescrn +++| VDTPOS(0,SCRNPT1); 02685 M01S02405.fsescrn +++| END 02686 M01S02406.fsescrn +++| 02687 M01S02407.fsescrn +++| END # BGNDSPLAY # 02688 M01S02408.fsescrn +++| 02689 M01S02409.fsescrn +++| 02690 M01S02410.fsescrn +++| PROC ENDDSPLAY; 02691 M01S02411.fsescrn +++| BEGIN 02692 M01S02412.fsescrn +++|# 02693 M01S02413.fsescrn +++|** ENDDSPLAY - TERMINATE SPECIAL DISPLAY SEQUENCE. 02694 M01S02414.fsescrn +++|* 02695 M01S02415.fsescrn +++|* EXIT ROWPAINT[ALL] - TRUE. 02696 M01S02416.fsescrn +++|* 02697 M01S02417.fsescrn +++|* CALLS EOLDSPLAY, PAINTALL. 02698 M01S02418.fsescrn +++|* 02699 M01S02419.fsescrn +++|* USES SCRNPT1. 02700 M01S02420.fsescrn +++|# 02701 M01S02421.fsescrn +++| SCRNPT1=VTYMAX; 02702 M01S02422.fsescrn +++| EOLDSPLAY; 02703 M01S02423.fsescrn +++| PAINTALL; 02704 M01S02424.fsescrn +++| END # OF ENDDSPLAY # 02705 M01S02425.fsescrn +++| 02706 M01S02426.fsescrn +++| 02707 M01S02427.fsescrn +++| PROC EOLDSPLAY; 02708 M01S02428.fsescrn +++| BEGIN 02709 M01S02429.fsescrn +++|# 02710 M01S02430.fsescrn +++|** EOLDSPLAY - LINE BY LINE CONTROL FOR SPECIAL DISPLAYS. 02711 M01S02431.fsescrn +++|* 02712 M01S02432.fsescrn +++|* ENTRY SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 02713 M01S02433.fsescrn +++|* SCRNPT1 - AS INITIALIZED BY BGNDSPLAY OR INCREMENTED 02714 M01S02434.fsescrn +++|* IN LAST CALL TO EOLDSPLAY. 02715 M01S02435.fsescrn +++|* 02716 M01S02436.fsescrn +++|* EXIT SCRNPT1 - INCREMENTED OR RE-INITIALIZED. 02717 M01S02437.fsescrn +++|* CURSOR MOVED TO NEXT LINE. 02718 M01S02438.fsescrn +++|* 02719 M01S02439.fsescrn +++|* CALLS ASKUSER, BGNDSPLAY, VDTPOS, TTBRK. 02720 M01S02440.fsescrn +++|* 02721 M01S02441.fsescrn +++|* USES SCRNPT2. 02722 M01S02442.fsescrn +++|# 02723 M01S02443.fsescrn +++| IF SCREENMODE THEN 02724 M01S02444.fsescrn +++| BEGIN 02725 M01S02445.fsescrn +++| SCRNPT1=SCRNPT1+1; 02726 M01S02446.fsescrn +++| SCRNPT2=USRNUMLIN; 02727 M01S02447.fsescrn +++| IF SCRNPT2 EQ COMMANDROW THEN SCRNPT2=SCRNPT2-1; 02728 M01S02448.fsescrn +++| IF SCRNPT1 GR SCRNPT2 THEN 02729 M01S02449.fsescrn +++| BEGIN 02730 M01S02450.fsescrn +++| ASKUSER("PRESS NEXT TO CONTINUE$",0); 02731 M01S02451.fsescrn +++| BGNDSPLAY; 02732 M01S02452.fsescrn +++| END 02733 M01S02453.fsescrn +++| ELSE VDTPOS(0,SCRNPT1); 02734 M01S02454.fsescrn +++| END 02735 M01S02455.fsescrn +++| ELSE TTBRK; 02736 M01S02456.fsescrn +++| END # OF EOLDSPLAY # 02737 M01S02457.fsescrn +++| 02738 M01S02458.fsescrn +++|CONTROL FI; 02739 M01S02459.fsescrn +++|PAGE # SCREEN SETUP/MANIPULATION # 02740 M01S02460.fsescrn +++| 02741 M01S02461.fsescrn +++| 02742 M01S02462.fsescrn +++|PROC PAINTALL; 02743 M01S02463.fsescrn +++| BEGIN 02744 M01S02464.fsescrn +++|# 02745 M01S02465.fsescrn +++|** PAINTALL - SET PAINT BITS ON ALL LINES. 02746 M01S02466.fsescrn +++|* 02747 M01S02467.fsescrn +++|* EXIT ROWPAINT[ALL] - TRUE. 02748 M01S02468.fsescrn +++|* 02749 M01S02469.fsescrn +++|* CALLS PAINTREST. 02750 M01S02470.fsescrn +++|# 02751 M01S02471.fsescrn +++| PAINTREST(0); 02752 M01S02472.fsescrn +++| END # OF PAINTALL # 02753 M01S02473.fsescrn +++| 02754 M01S02474.fsescrn +++| 02755 M01S02475.fsescrn +++|PROC PAINTNONE; 02756 M01S02476.fsescrn +++| BEGIN 02757 M01S02477.fsescrn +++|# 02758 M01S02478.fsescrn +++|** PAINTNONE - CLEAR PAINT BITS FOR ONE SPLIT. 02759 M01S02479.fsescrn +++|* 02760 M01S02480.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT TO SUPPRESS PAINT. 02761 M01S02481.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02762 M01S02482.fsescrn +++|* 02763 M01S02483.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - FALSE. 02764 M01S02484.fsescrn +++|* ROWORIG[ALL IN SPLIT] - NOMINAL. 02765 M01S02485.fsescrn +++|# 02766 M01S02486.fsescrn +++| FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL 02767 M01S02487.fsescrn +++| TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO 02768 M01S02488.fsescrn +++| BEGIN # SUPPRESS PAINTSCREEN OUTPUT # 02769 M01S02489.fsescrn +++| ROWPAINT[SCRNPT1]=FALSE; 02770 M01S02490.fsescrn +++| ROWORIG[SCRNPT1]=SCRNPT1; 02771 M01S02491.fsescrn +++| END 02772 M01S02492.fsescrn +++| END # OF PAINTNONE # 02773 M01S02493.fsescrn +++| 02774 M01S02494.fsescrn +++| 02775 M01S02495.fsescrn +++|PROC PAINTREST(PARM); 02776 M01S02496.fsescrn +++|# TITLE PAINTREST - SET PAINT BITS FOR REST OF SCREEN. # 02777 M01S02497.fsescrn +++| 02778 M01S02498.fsescrn +++| BEGIN # PAINTREST # 02779 M01S02499.fsescrn +++| 02780 M01S02500.fsescrn +++|# 02781 M01S02501.fsescrn +++|** PAINTREST - SET PAINT BITS FOR REST OF SCREEN. 02782 M01S02502.fsescrn +++|* 02783 M01S02503.fsescrn +++|* PROC PAINTREST(PARM) 02784 M01S02504.fsescrn +++|* 02785 M01S02505.fsescrn +++|* ENTRY PARM - FIRST LINE TO SET BIT FOR. 02786 M01S02506.fsescrn +++|* VTYMAX - LAST LINE. 02787 M01S02507.fsescrn +++|* 02788 M01S02508.fsescrn +++|* EXIT ROWPAINT[THOSE] - TRUE. 02789 M01S02509.fsescrn +++|# 02790 M01S02510.fsescrn +++| 02791 M01S02511.fsescrn +++| ITEM PARM I; # FIRST LINE # 02792 M01S02512.fsescrn +++| ITEM TMP1 I; # TEMPORARY STORAGE # 02793 M01S02513.fsescrn +++| 02794 M01S02514.fsescrn +++| FOR TMP1=PARM STEP 1 UNTIL VTYMAX DO 02795 M01S02515.fsescrn +++| BEGIN 02796 M01S02516.fsescrn +++| ROWPAINT[TMP1]=TRUE; 02797 M01S02517.fsescrn +++| IF ROWTYPE[TMP1] EQ ROWST"TITLE" THEN 02798 M01S02518.fsescrn +++| BEGIN 02799 M01S02519.fsescrn +++| IF ROWSPLIT[TMP1] EQ 1 THEN TITLE1LINE[0]=NULLIN; 02800 M01S02520.fsescrn +++| ELSE TITLE2LINE[0]=NULLIN; 02801 M01S02521.fsescrn +++| END 02802 M01S02522.fsescrn +++| END 02803 M01S02523.fsescrn +++| 02804 M01S02524.fsescrn +++| END # PAINTREST # 02805 M01S02525.fsescrn +++| 02806 M01S02526.fsescrn +++| 02807 M01S02527.fsescrn +++|PROC PAINTSPLIT; 02808 M01S02528.fsescrn +++|# TITLE PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT. # 02809 M01S02529.fsescrn +++| 02810 M01S02530.fsescrn +++| BEGIN # PAINTSPLIT # 02811 M01S02531.fsescrn +++| 02812 M01S02532.fsescrn +++|# 02813 M01S02533.fsescrn +++|** PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT. 02814 M01S02534.fsescrn +++|* 02815 M01S02535.fsescrn +++|* PROC PAINTSPLIT 02816 M01S02536.fsescrn +++|* 02817 M01S02537.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT TO PAINT. 02818 M01S02538.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02819 M01S02539.fsescrn +++|* 02820 M01S02540.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - TRUE. 02821 M01S02541.fsescrn +++|* 02822 M01S02542.fsescrn +++|* CALLS PAINTONESPLT. 02823 M01S02543.fsescrn +++|# 02824 M01S02544.fsescrn +++| 02825 M01S02545.fsescrn +++| PAINTONESPLT(CURSPLIT); 02826 M01S02546.fsescrn +++| 02827 M01S02547.fsescrn +++| END # PAINTSPLIT # 02828 M01S02548.fsescrn +++| 02829 M01S02549.fsescrn +++| 02830 M01S02550.fsescrn +++|PROC PAINTONESPLT(SPLIT); 02831 M01S02551.fsescrn +++|# TITLE PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT. # 02832 M01S02552.fsescrn +++| 02833 M01S02553.fsescrn +++| BEGIN # PAINTONESPLT # 02834 M01S02554.fsescrn +++| 02835 M01S02555.fsescrn +++|# 02836 M01S02556.fsescrn +++|** PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT. 02837 M01S02557.fsescrn +++|* 02838 M01S02558.fsescrn +++|* PROC PAINTONESPLT(SPLIT) 02839 M01S02559.fsescrn +++|* 02840 M01S02560.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT TO PAINT. 02841 M01S02561.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02842 M01S02562.fsescrn +++|* 02843 M01S02563.fsescrn +++|* EXIT ROWPAINT[ALL IN SPLIT] - TRUE. 02844 M01S02564.fsescrn +++|# 02845 M01S02565.fsescrn +++| 02846 M01S02566.fsescrn +++| ITEM SPLIT; # WHICH SPLIT TO PAINT # 02847 M01S02567.fsescrn +++| ITEM TMP1; # TEMPORARY STORAGE # 02848 M01S02568.fsescrn +++| 02849 M01S02569.fsescrn +++| FOR TMP1=TITLEROW[SPLIT] STEP 1 UNTIL 02850 M01S02570.fsescrn +++| TITLEROW[SPLIT]+NUMROWS[SPLIT] DO ROWPAINT[TMP1]=TRUE; 02851 M01S02571.fsescrn +++| 02852 M01S02572.fsescrn +++| END # PAINTONESPLT # 02853 M01S02573.fsescrn +++| 02854 M01S02574.fsescrn +++| 02855 M01S02575.fsescrn +++|PROC SETUPSCREEN(I,J,K); 02856 M01S02576.fsescrn +++| BEGIN 02857 M01S02577.fsescrn +++|# 02858 M01S02578.fsescrn +++|** SETUPSCREEN - INITIALIZE ALL SCREEN FORMAT CONTROLS. 02859 M01S02579.fsescrn +++|* 02860 M01S02580.fsescrn +++|* ENTRY I - FILE BRACKET NUMBER FOR SPLIT 1. 02861 M01S02581.fsescrn +++|* J - FILE BRACKET NUMBER FOR SPLIT 2. 02862 M01S02582.fsescrn +++|* K - NUMBER OF DATA LINES IN BOTTOM SPLIT. 02863 M01S02583.fsescrn +++|* TABVTHOMEU[0] - CONTROLS SELECTION OF COMMANDROW. 02864 M01S02584.fsescrn +++|* FKEYNUMROW - WHETHER TO INCLUDE FUNCTION KEY DISPLAY. 02865 M01S02585.fsescrn +++|* 02866 M01S02586.fsescrn +++|* EXIT COMMANDROW, FKEYROW - SETUP. 02867 M01S02587.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02868 M01S02588.fsescrn +++|* TOPS(1-2), BOTS(1-2) - SETUP. 02869 M01S02589.fsescrn +++|* ALL ROW CONTROLS SETUP. 02870 M01S02590.fsescrn +++|* 02871 M01S02591.fsescrn +++|* CALLS SETTOPBOTS, SETROWTYPE. 02872 M01S00018.ns2700 +++|* 02873 M01S00019.ns2700 +++|* USES SCRNPT1, SCRNPT2. 02874 M01S02592.fsescrn +++|# 02875 M01S02593.fsescrn +++| ITEM I,J,K; 02876 M01S02594.fsescrn +++| ITEM NKEYS, NTITLES; 02877 M01S02595.fsescrn +++| 02878 M01S02596.fsescrn +++| 02879 M01S02597.fsescrn +++| PROC SETROWSPLIT; 02880 M01S02598.fsescrn +++|# TITLE SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR. # 02881 M01S02599.fsescrn +++| 02882 M01S02600.fsescrn +++| BEGIN # SETROWSPLIT # 02883 M01S02601.fsescrn +++| 02884 M01S02602.fsescrn +++|# 02885 M01S02603.fsescrn +++|** SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR. 02886 M01S02604.fsescrn +++|* 02887 M01S02605.fsescrn +++|* PROC SETROWSPLIT 02888 M01S02606.fsescrn +++|* 02889 M01S02607.fsescrn +++|* ENTRY CURSPLIT - WHICH SPLIT. 02890 M01S02608.fsescrn +++|* TITLEROW[1-2], NUMROWS[1-2] - SETUP. 02891 M01S02609.fsescrn +++|* 02892 M01S02610.fsescrn +++|* EXIT ROWTYPE[ALL IN SPLIT] - INITIALIZED. 02893 M01S02611.fsescrn +++|* ROWSPLIT[ALL IN SPLIT] - INITIALIZED. 02894 M01S02612.fsescrn +++|* 02895 M01S02613.fsescrn +++|* CALLS PAINTSPLIT. 02896 M01S02614.fsescrn +++|* 02897 M01S02615.fsescrn +++|* USES SCRNPT1, SCRNPT5. 02898 M01S02616.fsescrn +++|# 02899 M01S02617.fsescrn +++| 02900 M01S02618.fsescrn +++| IF ROWTYPE[TITLEROW[CURSPLIT]] NQ ROWST"TITLE" 02901 M01S02619.fsescrn +++| OR ROWSPLIT[TITLEROW[CURSPLIT]] NQ CURSPLIT THEN 02902 M01S02620.fsescrn +++| BEGIN 02903 M01S02621.fsescrn +++| PAINTSPLIT; 02904 M01S02622.fsescrn +++| IF CURSPLIT EQ 1 THEN TITLE1LINE[0]=NULLIN; 02905 M01S02623.fsescrn +++| ELSE TITLE2LINE[0]=NULLIN; 02906 M01S02624.fsescrn +++| END 02907 M01S02625.fsescrn +++| ROWTYPE[TITLEROW[CURSPLIT]]=ROWST"TITLE"; 02908 M01S02626.fsescrn +++| ROWSPLIT[TITLEROW[CURSPLIT]]=CURSPLIT; 02909 M01S02627.fsescrn +++| FOR SCRNPT1=1 STEP 1 UNTIL NUMROWS[CURSPLIT] DO 02910 M01S02628.fsescrn +++| BEGIN 02911 M01S02629.fsescrn +++| SCRNPT5=SCRNPT1+TITLEROW[CURSPLIT]; 02912 M01S02630.fsescrn +++| IF ROWTYPE[SCRNPT5] NQ ROWST"TEXT" 02913 M01S02631.fsescrn +++| OR ROWSPLIT[SCRNPT5] NQ CURSPLIT THEN ROWPAINT[SCRNPT5]=TRUE; 02914 M01S02632.fsescrn +++| ROWTYPE[SCRNPT5]=ROWST"TEXT"; 02915 M01S02633.fsescrn +++| ROWSPLIT[SCRNPT5]=CURSPLIT; 02916 M01S02634.fsescrn +++| END 02917 M01S02635.fsescrn +++| 02918 M01S02636.fsescrn +++| END # SETROWSPLIT # 02919 M01S02637.fsescrn +++| 02920 M01S02638.fsescrn +++| 02921 M01S02639.fsescrn +++| PROC SETROWTYPE; 02922 M01S02640.fsescrn +++| BEGIN 02923 M01S02641.fsescrn +++|# 02924 M01S02642.fsescrn +++|** SETROWTYPE - CLASSIFY LINES BY TYPE OF DISPLAY. 02925 M01S02643.fsescrn +++|* 02926 M01S02644.fsescrn +++|* ENTRY COMMANDROW, RESPONSEROW, TITLEROW[1-2], 02927 M01S02645.fsescrn +++|* FKEYROW, SPLITFILE[1-2] - INITIALIZED. 02928 M01S02646.fsescrn +++|* VTYMAX - NUMBER OF LINES ON SCREEN. 02929 M01S02647.fsescrn +++|* 02930 M01S02648.fsescrn +++|* EXIT ROWTYPE[ALL] - INITIALIZED. 02931 M01S02649.fsescrn +++|* ROWSPLIT[ALL] - INITIALIZED. 02932 M01S02650.fsescrn +++|* CURSPLIT - INITIALIZED. 02933 M01S02651.fsescrn +++|* 02934 M01S02652.fsescrn +++|* CALLS SETROWSPLIT. 02935 M01S02653.fsescrn +++|* 02936 M01S02654.fsescrn +++|* USES SCRNPT1, SCRNPT2, SCRNPT3. 02937 M01S02655.fsescrn +++|# 02938 M01S02656.fsescrn +++| ROWTYPE[COMMANDROW]=ROWST"COMMAND"; 02939 M01S02657.fsescrn +++| ROWSPLIT[COMMANDROW]=1; 02940 M01S02658.fsescrn +++| ROWTYPE[RESPONSEROW] = ROWST"RESPONSE"; 02941 M01S02659.fsescrn +++| 02942 M01S02660.fsescrn +++| CURSPLIT=1; 02943 M01S02661.fsescrn +++| SETROWSPLIT; 02944 M01S02662.fsescrn +++| IF SPLITFILE[2] NQ 0 THEN 02945 M01S02663.fsescrn +++| BEGIN 02946 M01S02664.fsescrn +++| CURSPLIT=2; 02947 M01S02665.fsescrn +++| SETROWSPLIT; 02948 M01S02666.fsescrn +++| END 02949 M01S02667.fsescrn +++|
Line S02668 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02950 M02S02668.ns2675 ---| SCRNPT1=-1;
Line S02669 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02951 M02S02669.ns2675 ---| IF FKEYNUMROW EQ 1 THEN SCRNPT1=1;
Line S02670 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02952 M02S02670.ns2675 ---| IF FKEYNUMROW EQ 2 THEN SCRNPT1=4; 02953 M01S00023.ns2675 +++| IF FKEYNUMROW EQ 0 THEN SCRNPT1=-1;
Line S00024 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 02954 M02S00024.ns2700 ---| ELSE SCRNPT1=1+(FKEYNUMROW-1)*3; 02955 M01S00020.ns2700 +++| ELSE SCRNPT1=FKEYNUMROW*(2+SHIFTFKEY)-2; 02956 M01S02671.fsescrn +++| FOR SCRNPT2=0 STEP 1 UNTIL SCRNPT1 DO 02957 M01S02672.fsescrn +++| BEGIN 02958 M01S02673.fsescrn +++| IF ROWTYPE[FKEYROW+SCRNPT2] NQ ROWST"LABEL" THEN 02959 M01S02674.fsescrn +++| BEGIN 02960 M01S02675.fsescrn +++| ROWPAINT[FKEYROW+SCRNPT2]=TRUE; 02961 M01S02676.fsescrn +++| ROWTYPE[FKEYROW+SCRNPT2]=ROWST"LABEL"; 02962 M01S02677.fsescrn +++| END 02963 M01S02678.fsescrn +++| END 02964 M01S02679.fsescrn +++| SCRNPT1=FKEYROW+SCRNPT1+1; 02965 M01S02680.fsescrn +++| SCRNPT3=VTYMAX; 02966 M01S02681.fsescrn +++| IF COMMANDROW EQ VTYMAX THEN SCRNPT3=VTYMAX-1; 02967 M01S02682.fsescrn +++| FOR SCRNPT2=SCRNPT1 STEP 1 UNTIL SCRNPT3 DO 02968 M01S02683.fsescrn +++| BEGIN 02969 M01S02684.fsescrn +++| # BLANK OUT BOTTOM OF SCREEN IF USER REQUESTED SHORT SCREEN # 02970 M01S02685.fsescrn +++| IF ROWTYPE[SCRNPT2] NQ ROWST"EMPTY" THEN ROWPAINT[SCRNPT2]=TRUE; 02971 M01S02686.fsescrn +++| ROWTYPE[SCRNPT2]=ROWST"EMPTY"; 02972 M01S02687.fsescrn +++| END 02973 M01S02688.fsescrn +++| 02974 M01S02689.fsescrn +++| END # OF SETROWTYPE # 02975 M01S02690.fsescrn +++| 02976 M01S02691.fsescrn +++| 02977 M01S02692.fsescrn +++| # ACTUAL SETUPSCREEN MAIN CODE STARTS HERE # 02978 M01S02693.fsescrn +++| 02979 M01S02694.fsescrn +++| IF NOT SCREENMODE THEN RETURN; 02980 M01S02695.fsescrn +++| 02981 M01S02696.fsescrn +++| IF TABVTHOMEU[0] THEN 02982 M01S02697.fsescrn +++| BEGIN 02983 M01S02698.fsescrn +++| COMMANDROW=0; 02984 M01S02699.fsescrn +++| RESPONSEROW=1; 02985 M01S02700.fsescrn +++| TITLEROW[1]=2; 02986 M01S02701.fsescrn +++| END 02987 M01S02702.fsescrn +++| ELSE 02988 M01S02703.fsescrn +++| BEGIN 02989 M01S02704.fsescrn +++| COMMANDROW=VTYMAX; 02990 M01S02705.fsescrn +++| RESPONSEROW = VTYMAX-1; 02991 M01S02706.fsescrn +++| TITLEROW[1]=0; 02992 M01S02707.fsescrn +++| END 02993 M01S02708.fsescrn +++| 02994 M01S02709.fsescrn +++| SPLITFILE[1]=I; 02995 M01S02710.fsescrn +++| SPLITFILE[2]=J; 02996 M01S02711.fsescrn +++|
Line S02712 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02997 M02S02712.ns2675 ---| NKEYS=FKEYNUMROW*2;
Line S02713 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02998 M02S02713.ns2675 ---| IF NKEYS EQ 4 THEN NKEYS=5;
Line S02714 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | ns2675 |
Seq # *Modification Id* Act ----------------------------+ 02999 M02S02714.ns2675 ---| FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1);
Line S00025 Modification History | |
---|---|
M01 (Added by) | ns2675 |
M02 (Updated by) | ns2700 |
Seq # *Modification Id* Act ----------------------------+ 03000 M02S00025.ns2700 ---| NKEYS=MAX(0,FKEYNUMROW*3-1);
Line S00021 Modification History | |
---|---|
M01 (Added by) | ns2700 |
M02 (Updated by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03001 M02S00021.ns2718 ---| SHIFTFKEY = 0; 03002 M01S00001.ns2718 +++| SFKEYDEFS = 0; 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 (Updated by) | ns2718 |
Seq # *Modification Id* Act ----------------------------+ 03011 M02S00030.ns2718 ---| IF FKEYNAME[-SCRNPT2] NQ " " THEN SHIFTFKEY = 1; 03012 M01S00002.ns2718 +++| IF FKEYNAME[-SCRNPT2] NQ " " THEN SFKEYDEFS = 1; 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; 03017 M01S00003.ns2718 +++| SHIFTFKEY = SFKEYDEFS LAN SFKEYSHOW; 03018 M01S00035.ns2700 +++| NKEYS=MAX(0,FKEYNUMROW*(2+SHIFTFKEY)-1); 03019 M01S00026.ns2675 +++| FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1); 03020 M01S02715.fsescrn +++| 03021 M01S02716.fsescrn +++| NUMROWS[1]=0; 03022 M01S02717.fsescrn +++| IF K LS 0 THEN NUMROWS[2]=(USRNUMLIN-2-NKEYS)/2; 03023 M01S02718.fsescrn +++| ELSE NUMROWS[2]=MIN(K,(USRNUMLIN-2-NKEYS)); 03024 M01S02719.fsescrn +++| 03025 M01S02720.fsescrn +++| IF J EQ 0 THEN NTITLES=1; 03026 M01S02721.fsescrn +++| ELSE NTITLES=2; 03027 M01S02722.fsescrn +++| 03028 M01S02723.fsescrn +++| IF I NQ 0 THEN 03029 M01S02724.fsescrn +++| BEGIN 03030 M01S02725.fsescrn +++| NUMROWS[1]=USRNUMLIN-NKEYS-NTITLES-NUMROWS[2]-1; 03031 M01S02726.fsescrn +++| SETTOPBOTS(1); 03032 M01S02727.fsescrn +++| END 03033 M01S02728.fsescrn +++| IF J NQ 0 THEN 03034 M01S02729.fsescrn +++| BEGIN 03035 M01S02730.fsescrn +++| TITLEROW[2]=USRNUMLIN-NKEYS-NUMROWS[2]-2+TITLEROW[1]; 03036 M01S02731.fsescrn +++| SETTOPBOTS(2); 03037 M01S02732.fsescrn +++| END 03038 M01S02733.fsescrn +++| ELSE TITLEROW[2]=TITLEROW[1]+NUMROWS[1]; 03039 M01S02734.fsescrn +++| SETROWTYPE; 03040 M01S02735.fsescrn +++| IF TABLOCKMDE[0] OR TABATTRCHR[0] THEN 03041 M01S02736.fsescrn +++| BEGIN # IF ATTRIBUTE TAKES A POSITION # 03042 M01S02737.fsescrn +++| IF TABLOCKMDE[0] THEN ATTCOUNT = 1; 03043 M01S02738.fsescrn +++| FKEYSPC1 = "$"; 03044 M01S02739.fsescrn +++| FKEYSPC2 = " $"; 03045 M01S02740.fsescrn +++| END 03046 M01S02741.fsescrn +++| ELSE 03047 M01S02742.fsescrn +++| BEGIN # CHARACTER MODE TERMINAL # 03048 M01S02743.fsescrn +++| ATTCOUNT = 0; # NO ATTRIBUTE BYTE # 03049 M01S02744.fsescrn +++| FKEYSPC1 = " $"; 03050 M01S02745.fsescrn +++| FKEYSPC2 = " $"; 03051 M01S02746.fsescrn +++| END 03052 M01S02747.fsescrn +++| END # OF SETUPSCREEN # 03053 M01S02748.fsescrn +++| 03054 M01S02749.fsescrn +++|CONTROL IFEQ SINGLE,1; 03055 M01S02750.fsescrn +++| PROC CLEARSCREEN; 03056 M01S02751.fsescrn +++|# TITLE CLEARSCREEN - GET BACK TO LINE MODE. # 03057 M01S02752.fsescrn +++| 03058 M01S02753.fsescrn +++| BEGIN # CLEARSCREEN # 03059 M01S02754.fsescrn +++| 03060 M01S02755.fsescrn +++|# 03061 M01S02756.fsescrn +++|** CLEARSCREEN - GET BACK TO LINE MODE. 03062 M01S02757.fsescrn +++|* 03063 M01S02758.fsescrn +++|* EXIT SCREEN CLEARED. 03064 M01S02759.fsescrn +++|* VIRTERM SHUT DOWN VIA VDTSTM ROUTINE. 03065 M01S02760.fsescrn +++|* ALL PAINT BITS TRUE. 03066 M01S02761.fsescrn +++|* 03067 M01S02762.fsescrn +++|* CALLS PAINTALL, VDTCLS, VDTSTM. 03068 M01S02763.fsescrn +++|* 03069 M01S02764.fsescrn +++|* USES SCRNPT1. 03070 M01S02765.fsescrn +++|# 03071 M01S02766.fsescrn +++| 03072 M01S02767.fsescrn +++| IF SCREENMODE THEN 03073 M01S02768.fsescrn +++| BEGIN 03074 M01S02769.fsescrn +++| VDTCLS; 03075 M01S02770.fsescrn +++| PAINTALL; 03076 M01S02771.fsescrn +++| VDTSTM(0,SCRNPT1); # SET LINE MODE # 03077 M01S02772.fsescrn +++| ATTCOUNT = 0; # CLEAR ATTRIBUTE BYTE COUNT # 03078 M01S02773.fsescrn +++| END 03079 M01S02774.fsescrn +++| 03080 M01S02775.fsescrn +++| END # CLEARSCREEN # 03081 M01S02776.fsescrn +++|CONTROL FI; 03082 M01S02777.fsescrn +++|PAGE # EDITOR/WORKIO/SCREEN INTERFACE # 03083 M01S02778.fsescrn +++| 03084 M01S02779.fsescrn +++| 03085 M01S02780.fsescrn +++|PROC SETTOPBOTS(SPLIT); 03086 M01S02781.fsescrn +++|# TITLE SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT. # 03087 M01S02782.fsescrn +++| 03088 M01S02783.fsescrn +++| BEGIN # SETTOPBOTS # 03089 M01S02784.fsescrn +++| 03090 M01S02785.fsescrn +++|# 03091 M01S02786.fsescrn +++|** SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT. 03092 M01S02787.fsescrn +++|* 03093 M01S02788.fsescrn +++|* SETTOPBOTS ASSURES THAT TOPS AND BOTS ARE WITHIN LEGAL 03094 M01S02789.fsescrn +++|* FILE BOUNDARIES AND THAT THEY BRACKET THE CURRENT LINE. 03095 M01S02790.fsescrn +++|* IF THESE CONDITIONS ARE ALREADY TRUE, NOTHING IS CHANGED. 03096 M01S02791.fsescrn +++|* ELSE WE BUILD NEW SPLIT STARTING AT CURRENT LINE. 03097 M01S02792.fsescrn +++|* 03098 M01S02793.fsescrn +++|* PROC SETTOPBOTS(SPLIT) 03099 M01S02794.fsescrn +++|* 03100 M01S02795.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03101 M01S02796.fsescrn +++|* SPLITFILE[SPLIT] - SETUP. 03102 M01S02797.fsescrn +++|* CURF(SPLITFILE[SPLIT]) - CURRENT LINE. 03103 M01S02798.fsescrn +++|* TOPS(SPLIT), BOTS(SPLIT) - POSSIBLY ALREADY VALID. 03104 M01S02799.fsescrn +++|* 03105 M01S02800.fsescrn +++|* EXIT TOPS(SPLIT), BOTS(SPLIT) - GUARANTEED VALID. 03106 M01S02801.fsescrn +++|* ROWPAINT[ALL THIS SPLIT] - POSSIBLY TRUE. 03107 M01S02802.fsescrn +++|* 03108 M01S02803.fsescrn +++|* CALLS SETTOPS, SETBOTS, PAINTONESPLT. 03109 M01S02804.fsescrn +++|# 03110 M01S02805.fsescrn +++| 03111 M01S02806.fsescrn +++| ITEM SPLIT I; # WHICH SPLIT # 03112 M01S02807.fsescrn +++| ITEM L I; # LINE # 03113 M01S02808.fsescrn +++| 03114 M01S02809.fsescrn +++| SETTOPS(SPLIT); 03115 M01S02810.fsescrn +++| SETBOTS(SPLIT); 03116 M01S02811.fsescrn +++| L=CURF(SPLITFILE[SPLIT]); 03117 M01S02812.fsescrn +++| L=MAX(L,TOPF(SPLITFILE[SPLIT])+1); 03118 M01S02813.fsescrn +++| L=MIN(L,BOTF(SPLITFILE[SPLIT])-1); 03119 M01S02814.fsescrn +++| IF L LQ TOPS(SPLIT) OR L GQ BOTS(SPLIT) THEN 03120 M01S02815.fsescrn +++| BEGIN 03121 M01S02816.fsescrn +++| TOPS(SPLIT)=L-1; 03122 M01S02817.fsescrn +++| SETTOPS(SPLIT); 03123 M01S02818.fsescrn +++| SETBOTS(SPLIT); 03124 M01S02819.fsescrn +++| IF BOTS(SPLIT) GR TOPS(SPLIT)+1 THEN PAINTONESPLT(SPLIT); 03125 M01S02820.fsescrn +++| END 03126 M01S02821.fsescrn +++| 03127 M01S02822.fsescrn +++| END # SETTOPBOTS # 03128 M01S02823.fsescrn +++| 03129 M01S02824.fsescrn +++| 03130 M01S02825.fsescrn +++|PROC SETTOPS(SPLIT); 03131 M01S02826.fsescrn +++| BEGIN 03132 M01S02827.fsescrn +++|# 03133 M01S02828.fsescrn +++|** SETTOPS - ASSURE TOPS() IS IN FILE BOUNDS. 03134 M01S02829.fsescrn +++|* 03135 M01S02830.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03136 M01S02831.fsescrn +++|* SPLITFILE[SPLIT] - WHICH FILE. 03137 M01S02832.fsescrn +++|* TOPF(FILE), BOTF(FILE) - FILE BOUNDARIES. 03138 M01S02833.fsescrn +++|* 03139 M01S02834.fsescrn +++|* EXIT TOPS(SPLIT) - GUARANTEED IN BOUNDS. 03140 M01S02835.fsescrn +++|# 03141 M01S02836.fsescrn +++| ITEM SPLIT; 03142 M01S02837.fsescrn +++| TOPS(SPLIT)=MIN(TOPS(SPLIT),BOTF(SPLITFILE[SPLIT])-2); 03143 M01S02838.fsescrn +++| TOPS(SPLIT)=MAX(TOPS(SPLIT),TOPF(SPLITFILE[SPLIT])); 03144 M01S02839.fsescrn +++| END # OF SETTOPS # 03145 M01S02840.fsescrn +++| 03146 M01S02841.fsescrn +++| 03147 M01S02842.fsescrn +++|PROC SETBOTS(SPLIT); 03148 M01S02843.fsescrn +++| BEGIN 03149 M01S02844.fsescrn +++|# 03150 M01S02845.fsescrn +++|** SETBOTS - SET BOTS() BY TOPS() AND FILE BOUNDS. 03151 M01S02846.fsescrn +++|* 03152 M01S02847.fsescrn +++|* ENTRY SPLIT - WHICH SPLIT. 03153 M01S02848.fsescrn +++|* SPLITFILE[SPLIT] - WHICH FILE BRACKET. 03154 M01S02849.fsescrn +++|* TOPS(SPLIT), BOTF(FILE) - SETUP. 03155 M01S02850.fsescrn +++|* 03156 M01S02851.fsescrn +++|* EXIT BOTS(SPLIT) - DEFINED. 03157 M01S02852.fsescrn +++|# 03158 M01S02853.fsescrn +++| ITEM SPLIT; 03159 M01S02854.fsescrn +++| BOTS(SPLIT)=MIN(TOPS(SPLIT)+NUMROWS[SPLIT]+1,BOTF(SPLITFILE[SPLIT])); 03160 M01S02855.fsescrn +++| END # OF SETBOTS # 03161 M01S02856.fsescrn +++| 03162 M01S02857.fsescrn +++| 03163 M01S02858.fsescrn +++|PROC REPX; 03164 M01S02859.fsescrn +++| IOBEGIN(REPX) 03165 M01S02860.fsescrn +++|# 03166 M01S02861.fsescrn +++|** REPX - INTERFACE FOR LINE REPLACEMENT. 03167 M01S02862.fsescrn +++|* 03168 M01S02863.fsescrn +++|* REPX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03169 M01S02864.fsescrn +++|* REPLACING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03170 M01S02865.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03171 M01S02866.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03172 M01S02867.fsescrn +++|* FILE DIRECTORY. 03173 M01S02868.fsescrn +++|* 03174 M01S02869.fsescrn +++|* REPX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03175 M01S02870.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03176 M01S02871.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03177 M01S02872.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03178 M01S02873.fsescrn +++|* 03179 M01S02874.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03180 M01S02875.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03181 M01S02876.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03182 M01S02877.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03183 M01S02878.fsescrn +++|* 03184 M01S02879.fsescrn +++|* ENTRY LIN - THE LINE IMAGE AS CHANGED. 03185 M01S02880.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03186 M01S02881.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03187 M01S02882.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03188 M01S02883.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03189 M01S02884.fsescrn +++|* 03190 M01S02885.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03191 M01S02886.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03192 M01S02887.fsescrn +++|* 03193 M01S02888.fsescrn +++|* CALLS REPS (INTERNAL), REPZ. 03194 M01S02889.fsescrn +++|# 03195 M01S02890.fsescrn +++| 03196 M01S02891.fsescrn +++| PROC REPS(SPLIT); 03197 M01S02892.fsescrn +++| BEGIN 03198 M01S02893.fsescrn +++|# 03199 M01S02894.fsescrn +++|** REPS - INTERNAL LOGIC FOR REPX. 03200 M01S02895.fsescrn +++|* 03201 M01S02896.fsescrn +++|* NOTE SEE HEADER FOR REPX. 03202 M01S02897.fsescrn +++|# 03203 M01S02898.fsescrn +++| ITEM SPLIT; 03204 M01S02899.fsescrn +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) 03205 M01S02900.fsescrn +++| AND (SPLIT NQ CURSPLIT OR NOT HARDFN) 03206 M01S02901.fsescrn +++| THEN ROWPAINT[LTOY(CURRENT,SPLIT)]=TRUE; 03207 M01S02902.fsescrn +++| END # OF REPS # 03208 M01S02903.fsescrn +++| 03209 M01S02904.fsescrn +++| # ACTUAL REPX CODE STARTS HERE # 03210 M01S02905.fsescrn +++| REPZ; 03211 M01S02906.fsescrn +++| IF SCREENMODE THEN 03212 M01S02907.fsescrn +++| BEGIN 03213 M01S02908.fsescrn +++| REPS(1); 03214 M01S02909.fsescrn +++| REPS(2); 03215 M01S02910.fsescrn +++| END 03216 M01S02911.fsescrn +++| IOEND # OF REPX # 03217 M01S02912.fsescrn +++| 03218 M01S02913.fsescrn +++| 03219 M01S02914.fsescrn +++|PROC INSX; 03220 M01S02915.fsescrn +++| IOBEGIN(INSX) 03221 M01S02916.fsescrn +++|# 03222 M01S02917.fsescrn +++|** INSX - INTERFACE FOR LINE INSERTION. 03223 M01S02918.fsescrn +++|* 03224 M01S02919.fsescrn +++|* INSX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03225 M01S02920.fsescrn +++|* INSERTING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03226 M01S02921.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03227 M01S02922.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03228 M01S02923.fsescrn +++|* FILE DIRECTORY. 03229 M01S02924.fsescrn +++|* 03230 M01S02925.fsescrn +++|* INSX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03231 M01S02926.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03232 M01S02927.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03233 M01S02928.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03234 M01S02929.fsescrn +++|* 03235 M01S02930.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03236 M01S02931.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03237 M01S02932.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03238 M01S02933.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03239 M01S02934.fsescrn +++|* 03240 M01S02935.fsescrn +++|* ENTRY LIN - THE LINE IMAGE TO BE INSERTED. 03241 M01S02936.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03242 M01S02937.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03243 M01S02938.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03244 M01S02939.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03245 M01S02940.fsescrn +++|* TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS. 03246 M01S02941.fsescrn +++|* 03247 M01S02942.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03248 M01S02943.fsescrn +++|* ROWPAINT[LOWER], ROWBITS[LOWER] - PROPOGATED AS NEEDED. 03249 M01S02944.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03250 M01S02945.fsescrn +++|* 03251 M01S02946.fsescrn +++|* CALLS INSS (INTERNAL), INSZ. 03252 M01S02947.fsescrn +++|# 03253 M01S02948.fsescrn +++| 03254 M01S02949.fsescrn +++| PROC INSS(SPLIT); 03255 M01S02950.fsescrn +++| BEGIN 03256 M01S02951.fsescrn +++|# 03257 M01S02952.fsescrn +++|** INSS - INTERNAL LOGIC FOR INSX. 03258 M01S02953.fsescrn +++|* 03259 M01S02954.fsescrn +++|* NOTE SEE HEADER FOR INSX. 03260 M01S02955.fsescrn +++|# 03261 M01S02956.fsescrn +++| ITEM SPLIT, I, THISROW, LASTROW; 03262 M01S02957.fsescrn +++| IF SPLITFILE[SPLIT] NQ 0 THEN 03263 M01S02958.fsescrn +++| BEGIN 03264 M01S02959.fsescrn +++| IF CURRENT GR TOPF(SPLITFILE[SPLIT]) AND 03265 M01S02960.fsescrn +++| CURRENT LS BOTF(SPLITFILE[SPLIT]) THEN 03266 M01S02961.fsescrn +++| BEGIN 03267 M01S02962.fsescrn +++| SETBOTS(SPLIT); 03268 M01S02963.fsescrn +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN 03269 M01S02964.fsescrn +++| BEGIN 03270 M01S02965.fsescrn +++| THISROW=LTOY(CURRENT,SPLIT); 03271 M01S02966.fsescrn +++| LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT]; 03272 M01S02967.fsescrn +++| FOR I=LASTROW STEP -1 UNTIL THISROW+1 DO 03273 M01S02968.fsescrn +++| BEGIN 03274 M01S02969.fsescrn +++| ROWPAINT[I]=ROWPAINT[I-1]; 03275 M01S02970.fsescrn +++| ROWBITS[I]=ROWBITS[I-1]; 03276 M01S02971.fsescrn +++| END 03277 M01S02972.fsescrn +++| IF HARDFN AND SPLIT EQ CURSPLIT THEN 03278 M01S02973.fsescrn +++| BEGIN 03279 M01S02974.fsescrn +++| IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW+1); 03280 M01S02975.fsescrn +++| END 03281 M01S02976.fsescrn +++| ELSE 03282 M01S02977.fsescrn +++| BEGIN 03283 M01S02978.fsescrn +++| FOR I=LASTROW STEP -1 UNTIL THISROW+1 03284 M01S02979.fsescrn +++| DO ROWORIG[I]=ROWORIG[I-1]; 03285 M01S02980.fsescrn +++| ROWORIG[THISROW]=0; 03286 M01S02981.fsescrn +++| END 03287 M01S02982.fsescrn +++| END 03288 M01S02983.fsescrn +++| END 03289 M01S02984.fsescrn +++| END 03290 M01S02985.fsescrn +++| END # OF INSS # 03291 M01S02986.fsescrn +++| 03292 M01S02987.fsescrn +++| # ACTUAL INSX CODE STARTS HERE # 03293 M01S02988.fsescrn +++| INSZ; 03294 M01S02989.fsescrn +++| IF SCREENMODE THEN 03295 M01S02990.fsescrn +++| BEGIN 03296 M01S02991.fsescrn +++| INSS(1); 03297 M01S02992.fsescrn +++| INSS(2); 03298 M01S02993.fsescrn +++| END 03299 M01S02994.fsescrn +++| IOEND # OF INSX # 03300 M01S02995.fsescrn +++| 03301 M01S02996.fsescrn +++| 03302 M01S02997.fsescrn +++|PROC DELX; 03303 M01S02998.fsescrn +++| IOBEGIN(DELX) 03304 M01S02999.fsescrn +++|# 03305 M01S03000.fsescrn +++|** DELX - INTERFACE FOR LINE DELETION. 03306 M01S03001.fsescrn +++|* 03307 M01S03002.fsescrn +++|* DELX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS 03308 M01S03003.fsescrn +++|* DELETEING A TEXT LINE IN THE WORKFILE. NOTE THAT WE 03309 M01S03004.fsescrn +++|* DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS. THIS 03310 M01S03005.fsescrn +++|* DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE 03311 M01S03006.fsescrn +++|* FILE DIRECTORY. 03312 M01S03007.fsescrn +++|* 03313 M01S03008.fsescrn +++|* DELX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS 03314 M01S03009.fsescrn +++|* FLAGGED FOR REPAINT WHEN NEEDED. REPAINT IS NOT NEEDED 03315 M01S03010.fsescrn +++|* FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL 03316 M01S03011.fsescrn +++|* HARDWARE CAPABILITIES. THIS IS DENOTED BY THE HARDFN FLAG. 03317 M01S03012.fsescrn +++|* 03318 M01S03013.fsescrn +++|* LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE 03319 M01S03014.fsescrn +++|* CHANGES CAN BE MADE OFF-SCREEN. ALSO MUST CHECK FOR OVER- 03320 M01S03015.fsescrn +++|* LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A 03321 M01S03016.fsescrn +++|* HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING. 03322 M01S03017.fsescrn +++|* 03323 M01S03018.fsescrn +++|* ENTRY LIN - THE LINE IMAGE TO BE DELETED. 03324 M01S03019.fsescrn +++|* CURRENT, CURSPLIT, CURFILE - WHERE WE ARE. 03325 M01S03020.fsescrn +++|* HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID. 03326 M01S03021.fsescrn +++|* TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS. 03327 M01S03022.fsescrn +++|* TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY. 03328 M01S03023.fsescrn +++|* SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION. 03329 M01S03024.fsescrn +++|* 03330 M01S03025.fsescrn +++|* EXIT ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED. 03331 M01S03026.fsescrn +++|* ROWPAINT[LOWER], ROWBITS[LOWER] - POSSIBLY PROPOGATED. 03332 M01S03027.fsescrn +++|* LIN - UNAFFECTED BY DELX CODE. MAY BE AFFECTED BY 03333 M01S03028.fsescrn +++|* PASS-ON CALL TO DELZ. 03334 M01S03029.fsescrn +++|* WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE. 03335 M01S03030.fsescrn +++|* 03336 M01S03031.fsescrn +++|* CALLS DELS (INTERNAL), DELZ. 03337 M01S03032.fsescrn +++|# 03338 M01S00001.fsesc30 +++| ITEM SPLIT; # TEMPORARY SPLIT REFERENCE # 03339 M01S03033.fsescrn +++| 03340 M01S03034.fsescrn +++| PROC DELS(SPLIT); 03341 M01S03035.fsescrn +++| BEGIN 03342 M01S03036.fsescrn +++|# 03343 M01S03037.fsescrn +++|** DELS - INTERNAL LOGIC FOR DELX. 03344 M01S03038.fsescrn +++|* 03345 M01S03039.fsescrn +++|* NOTE SEE HEADER FOR DELX. 03346 M01S03040.fsescrn +++|# 03347 M01S03041.fsescrn +++| ITEM SPLIT,I,THISROW,LASTROW; 03348 M01S03042.fsescrn +++| IF SPLITFILE[SPLIT] NQ 0 THEN
Line S03043 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03349 M02S03043.fsesc30 ---| BEGIN 03350 M01S00002.fsesc30 +++| BEGIN # IF A FILE IN THIS SPLIT #
Line S03044 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03351 M02S03044.fses30a ---| IF CURRENT GQ TOPF(SPLITFILE[SPLIT]) AND
Line S03045 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03352 M02S03045.fses30a ---| CURRENT LQ BOTF(SPLITFILE[SPLIT]) THEN
Line S03046 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
M03 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03353 M03S03046.fses30a ---| BEGIN
Line S03047 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
M03 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03354 M03S03047.fses30a ---| IF CURRENT GQ TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN
Line S03048 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
M03 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03355 M03S03048.fses30a ---| BEGIN
Line S00003 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03356 M02S00003.fses30a ---| BEGIN # IF DELETED LINE IN THIS FILE #
Line S00004 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03357 M02S00004.fses30a ---| IF TEMP GR 0 AND CURRENT LS BOTS(SPLIT) THEN 03358 M01S00001.fses30a +++| IF TEMP GR 0 THEN 03359 M01S00005.fsesc30 +++| BEGIN # IF DELETED LINE WAS ON SCREEN # 03360 M01S03049.fsescrn +++| THISROW=CURRENT-DELETCTL; 03361 M01S03050.fsescrn +++| THISROW=LTOY(THISROW,SPLIT); 03362 M01S03051.fsescrn +++| LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT]; 03363 M01S03052.fsescrn +++| FOR I=THISROW+2 STEP 1 UNTIL LASTROW DO
Line S03053 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03364 M02S03053.fsesc30 ---| BEGIN 03365 M01S00006.fsesc30 +++| BEGIN # REPAINT LINES AFTER DELETION # 03366 M01S03054.fsescrn +++| ROWPAINT[I-1]=ROWPAINT[I]; 03367 M01S03055.fsescrn +++| ROWBITS[I-1]=ROWBITS[I]; 03368 M01S03056.fsescrn +++| END 03369 M01S03057.fsescrn +++| ROWPAINT[LASTROW]=TRUE; 03370 M01S03058.fsescrn +++| IF HARDFN AND SPLIT EQ CURSPLIT THEN 03371 M01S03059.fsescrn +++| BEGIN 03372 M01S03060.fsescrn +++| IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW); 03373 M01S03061.fsescrn +++| END 03374 M01S03062.fsescrn +++| ELSE 03375 M01S03063.fsescrn +++| BEGIN 03376 M01S03064.fsescrn +++| ROWORIG[THISROW]=0; 03377 M01S03065.fsescrn +++| FOR I=THISROW+2 STEP 1 UNTIL LASTROW 03378 M01S03066.fsescrn +++| DO ROWORIG[I-1]=ROWORIG[I]; 03379 M01S03067.fsescrn +++| END 03380 M01S03068.fsescrn +++| END
Line S00007 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03381 M02S00007.fses30a ---| POPTEMP;
Line S03069 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03382 M02S03069.fses30a ---| END 03383 M01S00002.fses30a +++| POPTEMP; 03384 M01S03070.fsescrn +++| END 03385 M01S03071.fsescrn +++| END # OF DELS # 03386 M01S03072.fsescrn +++| 03387 M01S03073.fsescrn +++| # ACTUAL DELX CODE STARTS HERE # 03388 M01S03074.fsescrn +++| 03389 M01S03075.fsescrn +++| IF NUMMARKS GR 0 THEN 03390 M01S03076.fsescrn +++| BEGIN # IF MARK IS ACTIVE # 03391 M01S03077.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG] THEN 03392 M01S03078.fsescrn +++| BEGIN # IF FIRST MARKED LINE DELETED # 03393 M01S03079.fsescrn +++| IF REGLINE[MARKREG+1] GR CURRENT THEN 03394 M01S03080.fsescrn +++| BEGIN # IF MORE THAN ONE MARKED LINE # 03395 M01S03081.fsescrn +++| REGLINE[MARKREG] = CURRENT + 1; 03396 M01S03082.fsescrn +++| MRKCHAR[0] = - 1; 03397 M01S03083.fsescrn +++| END 03398 M01S03084.fsescrn +++| ELSE 03399 M01S03085.fsescrn +++| BEGIN # ONLY ONE MARKED LINE #
Line S03086 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03400 M02S03086.fsesc30 ---| KILLMARKS = TRUE; 03401 M01S00008.fsesc30 +++| KILLMARKS = TRUE; 03402 M01S03087.fsescrn +++| END 03403 M01S03088.fsescrn +++| END 03404 M01S03089.fsescrn +++| ELSE 03405 M01S03090.fsescrn +++| BEGIN # NOT FIRST MARKED LINE DELETED # 03406 M01S03091.fsescrn +++| IF CURRENT EQ REGLINE[MARKREG+1] THEN 03407 M01S03092.fsescrn +++| BEGIN # IF LAST MARKED LINE DELETED # 03408 M01S03093.fsescrn +++| IF REGLINE[MARKREG] LS CURRENT THEN 03409 M01S03094.fsescrn +++| BEGIN # IF MORE THAN ONE MARKED LINE # 03410 M01S03095.fsescrn +++| REGLINE[MARKREG+1] = CURRENT - 1;
Line S03096 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03411 M02S03096.fsesc30 ---| MRKCHAR[1] = - 1; 03412 M01S00009.fsesc30 +++| MRKCHAR[1] = - 1; 03413 M01S03097.fsescrn +++| END 03414 M01S03098.fsescrn +++| ELSE 03415 M01S03099.fsescrn +++| BEGIN # ONLY ONE MARKED LINE #
Line S03100 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03416 M02S03100.fsesc30 ---| KILLMARKS = TRUE; 03417 M01S00010.fsesc30 +++| KILLMARKS = TRUE; 03418 M01S03101.fsescrn +++| END 03419 M01S03102.fsescrn +++| END 03420 M01S03103.fsescrn +++| END 03421 M01S03104.fsescrn +++| END
Line S03105 Modification History | |
---|---|
M01 (Added by) | fsescrn |
M02 (Updated by) | fsesc30 |
Seq # *Modification Id* Act ----------------------------+ 03422 M02S03105.fsesc30 ---| DELZ; 03423 M01S03106.fsescrn +++| IF SCREENMODE THEN 03424 M01S03107.fsescrn +++| BEGIN 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 # 03429 M01S00003.fses30a +++| PUSHTEMP; 03430 M01S00004.fses30a +++| TEMP = 0; 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 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03434 M02S00018.fses30a ---| PUSHTEMP;
Line S00019 Modification History | |
---|---|
M01 (Added by) | fsesc30 |
M02 (Updated by) | fses30a |
Seq # *Modification Id* Act ----------------------------+ 03435 M02S00019.fses30a ---| TEMP = CURRENT - TOPS(SPLIT);
Line S00005 Modification History | |
---|---|
M01 (Added by) | fses30a |
M02 (Updated by) | fses30b |
Seq # *Modification Id* Act ----------------------------+ 03436 M02S00005.fses30b ---| IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN 03437 M01S00001.fses30b +++| IF CURRENT GR TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN 03438 M01S00006.fses30a +++| TEMP = 1; 03439 M01S00020.fsesc30 +++| END 03440 M01S00021.fsesc30 +++| END 03441 M01S00022.fsesc30 +++| END 03442 M01S00023.fsesc30 +++| DELZ; 03443 M01S03108.fsescrn +++| DELS(1); 03444 M01S03109.fsescrn +++| DELS(2); 03445 M01S03110.fsescrn +++| END 03446 M01S00024.fsesc30 +++| ELSE DELZ; 03447 M01S03111.fsescrn +++| IOEND # OF DELX # 03448 M01S03112.fsescrn +++| 03449 M01S03113.fsescrn +++| 03450 M01S03114.fsescrn +++|END TERM
cdc/nos2.source/opl.opl871/deck/fsescrn.001.txt ยท Last modified: by 127.0.0.1