! CONCOL - see note next page ! 0JZKERJALEXEC:ASCNUM.TECA0JZXUZK 0JZKER IN2C1.TTTA 0JX4MU(Q5)UN 0JZKER IN4C1.TTTA 0JX4MU(Q5)UM 0JZKER IN6C1.TTTA 0JX4MU(Q5)UJ 0JZKER IN7C1.TTTA 0JX4MU(Q5)UK (QN-QM)"L@O/OK0/'(QN-QM)"E@O/OK0/'@O/BADD/ !OK0! (QJ-QK)"L@O/OK1/' (QJ-QK)"E@O/OK1/' @O/BADD/ !OK1! 0JHK 0JZKER IN1C1.TTTA 0JXAZK 0JHK 0JZKER IN3C1.TTTA 0JXBZK 0JZKER IN5C1.TTTA 0JXCZK 0JZKGC0J 0JIEWZJ27I27I0JXFZKMF 0JZKGA0J 0JIERZJ27I27I0JXDZKMD 0JZKGB0J 0JIEP27IIERZJ27I27I0JXEZKME The User Has Entered The Following Inputs: File :GA "n" = QN="m" = QM=File :GB "j" = QJ="k" = QK=To File :GC CONCOL.TEC - Please Be Patient As This May Take A While.  !TOP! ER1:A ZU2 Q2-0"EXA@O/DON1/' 0U1 (QM-Q2)"L@O/OK00/'@O/SLLL/ !OK00! (QN-1)C0XD0K (QM-QN+1)C0XA0K ZK !DON1! EP1:A ZU2 Q2-0"EXB@O/DON2/' 0U1 (QK-Q2)"L@O/OK01/'@O/SLLL/ !OK01! (QJ-1)C0XD0K (QK-QJ+1)C0XB0K ZK !DON2! GAGB ZU2 Q2-0"E@O/DONE1/' 0U1 0UH ZJI  ZV 0J0,ZPWZK@O/TOP/ !DONE1! QH-3"L1%H@O/TOP/' EG@ZZZZZZ.ZZZ !SLLL!  1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 "n" = QN="m" = QM="j" = QJ="k" = QK=(Q2-2)U2 This Line Length In Characters = Q2= The Current Line Is Too Short For the Specified Move 0JZTEX@ZZZZZZ.ZZZ!BADD! ^A The User Has Entered A Bad Input ??? "n" = QN="m" = QM="j" = QJ="k" = QK= The Following Relationships Must Hold: IN CONCATINATEING COULMN n THRU COLUMN m ON FILE "A" TO COULMN j THRU COLUMN k ON FILE "B" m > or = n k > or = j EX@ZZZZZZ.ZZZ ! CONCOL - note to me had a lot of trouble with this one - see below ! ! i think the fact that two copies of this exec exist has caused this ! ! when i take the extra escape off of the eg@zzzzzz.zz below it failes ! ! and it should only be executing the above portion ?????! ! CONCOL ! ! THIS COMMAND LINE WILL ALLOW THE USER TO CONCATIONATE TWO FILES TOGETHER ! ! n THRU m columns FROM FILE "A" CONCATIONATED WITH ! ! j THRU k columns FROM FILE "b" ! ! ! ! THE ORIGIONAL FILE('S) WILL BE RENAMED "FILENAME.BAK" ! ! THE RESULTING FILE('S) WILL BE NAMED "FILENAME.FILETYPE" ! ! ! ! GET THE MACRO FOR DOING THE ASCII NUMBER TO TECO NUMBER CONVERSION ! ! PUT IT IN BUFFER "U" ! ! THE NUMBER IT CONVERTS TO IS IN BUFFER "5" ! ! THE NUMBER IT CONVERTS FROM IS IN BUFFER "4" ! 0JZKERJALEXEC:ASCNUM.TECA0JZXUZK 0JZKER IN2.! GET "n" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU! LOAD BUFFER "N" WITH THE VALUE OF THE CHARACTER ! (Q5)UN 0JZKER IN4.! GET "m" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU! LOAD BUFFER "M" WITH THE VALUE OF THE CHARACTER ! (Q5)UM 0JZKER IN6.! GET "j" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU! LOAD BUFFER "J" WITH THE VALUE OF THE CHARACTER ! (Q5)UJ 0JZKER IN7.! GET "k" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU! LOAD BUFFER "K" WITH THE VALUE OF THE CHARACTER ! (Q5)UK ! PERFORM A TEST SO THE FOLLOWING COMDITIONS ARE MET ! ! MOVE COULMN n THRU COLUMN m TO COLUMN p ON ALL LINES ! ! m > or = n ! (QN-QM)"L@O/OK0/'(QN-QM)"E@O/OK0/'@O/BADD/!OK0! ! PERFORM A TEST SO THE FOLLOWING COMDITIONS ARE MET ! ! MOVE COULMN n THRU COLUMN m TO COLUMN p ON ALL LINES ! ! j > or = k ! (QJ-QK)"L@O/OK1/' (QJ-QK)"E@O/OK1/' ! HERE IF ITS BAD ! @O/BADD/ !OK1! 0JHK 0JZKER IN1.! GET THE FILENAME "A" THE USER DESIRES TO PREPROCESS ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE IT IN "A" BUFFER! 0JXAZK 0JHK 0JZKER IN3.! GET THE FILENAME "B" THE USER DESIRES TO PREPROCESS ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE IT IN "B" BUFFER! 0JXBZK 0JZKER IN5.! GET THE FILENAME "C" THE USER DESIRES TO PREPROCESS ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE IT IN CB" BUFFER! 0JXCZK ! NOW SET UP ALL THE INPUT AND OUTPUT FILES ! ! OPEN THE OUTPUT FILE "C" FROM BUFFER "F" ! 0JZKGC0J 0JIEWZJ27I27I0JXFZKMF ! READ THE INPUT FILE "A" FROM BUFFER "D" ! 0JZKGA0J 0JIERZJ27I27I0JXDZKMD ! READ THE INPUT FILE "B" FROM BUFFER "E" ! 0JZKGB0J 0JIEP27IIERZJ27I27I0JXEZKME! NOW READ IN n LINES FROM FILE "A" THEN m LINES FROM FILE "B" !  The User Has Entered The Following Inputs: File :GA "n" = QN="m" = QM=File :GB "j" = QJ="k" = QK=To File :GC CONCOL.TEC - Please Be Patient As This May Take A While.  !TOP! ! INITALIZE REGS ! ! GET FILE "A" ! ER! GET 1 LINE ! 1:A !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 ! IF NO MORE LEFT IN THIS FILE DONT TRY TO SAVE ANY COLUMN'S WORTH ! Q2-0"EXA@O/DON1/' 0U1 ! SEPERATE THE COLUMNS "A" DESIRED ! ! FIRST A TEST ! (QM-Q2)"L@O/OK00/'@O/SLLL/ !OK00! ! SAVE FRONT OF LINE IN "D" ! (QN-1)C0XD0K ! SAVE N-> PART IN BUFFER "A" ! (QM-QN+1)C0XA0K ZK !DON1! ! GET FILE "B" ! EP! GET 1 LINE ! 1:A !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 ! IF NO MORE LEFT IN THIS FILE DONT TRY TO SAVE ANY COLUMN'S WORTH ! Q2-0"EXB@O/DON2/' 0U1 ! SEPERATE THE COLUMNS "B" DESIRED ! ! FIRST A TEST ! (QK-Q2)"L@O/OK01/'@O/SLLL/ !OK01! ! SAVE FRONT OF LINE IN "D" ! (QJ-1)C0XD0K ! SAVE N-> PART IN BUFFER "B" ! (QK-QJ+1)C0XB0K ZK !DON2! ! NOW COMBINE THE TWO ! GAGB !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 Q2-0"E@O/DONE1/' 0U1 0UH ! GIVE THE USER A CARRIAGE RETURN ! ZJI  ! SHOW THE USER WHAT HE GOT ! ZV ! WRITE OUT THIS PAGES WORTH & GET MORE ! 0J0,ZPWZK@O/TOP/ ! ALL DONE CONVERTING FILE THIS COPY ! !DONE1! ! NOT 3 EMPTY BUFFERS YET SO NOT DONE ! QH-3"L1%H@O/TOP/' eg@zzzzzz.zzz!SLLL!  1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 "n" = QN="m" = QM="j" = QJ="k" = QK=(Q2-2)U2 This Line Length In Characters = Q2= The Current Line Is Too Short For the Specified Move 0JZTEX@ZZZZZZ.ZZZ! HERE IF ITS BAD ! !BADD! ^A The User Has Entered A Bad Input ??? "n" = QN="m" = QM="j" = QJ="k" = QK= The Following Relationships Must Hold: IN CONCATINATEING COULMN n THRU COLUMN m ON FILE "A" TO COULMN j THRU COLUMN k ON FILE "B" m > or = n k > or = j EX@ZZZZZZ.ZZZ ! JUST KILL THE WHOLE MACRO HERE FOR NOW !