0JZKERI1EXN1.TTTA0JXAZK0JHK0JZKERI1EXN2.TTTA0JXS0KZKGS0JIERZJ27I27I0JXFZKMFA "Start_string" the user input 0JXS0KZK:GS0JZKERI1EXN3.TTTA0JXT0KZKGT0JIERZJ27I27I0JXFZKMFA "Stop_string" the user input 0JXT0KZK:GT EXTRN Macro Created: 0JHKI<I!A!I<I0UJ27II1:A27II ZU227IIQ2-0"E@O/T/'27II0UH27IISGS27II:;27II!ZV!0J0,ZPW27IIZK>27II0JZK!D!I<I0UJ27II1:A27IIZU227IIQ2-0"E@O/V/'27II0UH27IISGT27II:;27II0JZVZK>I0JZK>27II@O/B/'27II!T!27IIQH-3"L1%H27II@O/A/'27II@O/B/'27II!V!27IIQH-3"L1%H27II@O/D/'27II!B!27I27I0JZVZXY0JHK0JZKGA0JS.KIEXN0J27IIEWZJ27I27I0JXEZKME0JHK0JZKGA0J0J27IIERZJ27I27I0JXEZKME0JHK^A EXTRN.TEC - Please Be Patient As This May Take A While.  Results deleted - (start & stop string deletions not shown) MYEC0JZKEWEXTN.TTTGYEG@ZZZZZZ.ZZZ ! EXTRN ! 0JZKERI1EXN1.TTTA 0JXAZK0JHK0JZKERI1EXN2.TTTA 0JXS0KZKGS 0JIERZJ27I27I0JXFZKMFA  "Start_string" the user input 0JXS0KZK:GS 0JZKERI1EXN3.TTTA 0JXT0KZKGT 0JIERZJ27I27I0JXFZKMFA  "Stop_string" the user input 0JXT0KZK:GT  EXTRN Macro Created: 0JHKI <I !A!I<I0UJ27II1:A27II ZU227IIQ2-0"E@O/T/'27II0UH27II SGS27II:;27II !ZV! 0J0,ZPW27IIZK >27II0JZK !D!I<I 0UJ27II1:A27II ZU227IIQ2-0"E@O/V/'27II 0UH27II SGT27II:;27II0J ZV ZK >I0JZK > 27II@O/B/'27II!T!27II QH-3"L1%H27II@O/A/'27II@O/B/'27II !V!27II QH-3"L1%H27II@O/D/'27II !B!27I27I0J ZV ZXY 0JHK0JZKGA0J S.KIEXN0J27IIEWZJ27I27I0JXEZKME0JHK0JZKGA0J 0J27IIERZJ27I27I0JXEZKME0JHK^A EXTRN.TEC - Please Be Patient As This May Take A While.   Results deleted - (start & stop string deletions not shown) MY EC0JZKEWEXTN.TTTGYEG@ZZZZZZ.ZZZ ! EXTRN ! ! THIS COMMAND LINE WILL EXTRN LINES FROM A FILE BASED UPON ! ! A STARTING STRING AND AN ENDING STRING ! ! ! ! THE ORIGIONAL FILES WILL REMAIN UNMODIFIED ! ! ! ! THE RESULTS WILL BE PLACED IN "FILENAME.EXT" ! ! ! 0JZKERI1EXN1.TTT! GET THE NAME OF THE FILE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE IT IN "A" BUFFER! 0JXAZK0JHK 0JZKERI1EXN2.TTT! GET START STRING THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE THE START STRING FILE NAME IN THE "S" BUFFER ! 0JXS0KZK! GET THE ACTUAL "START_STRING" ! ! OUT OF THE "F" BUFFER ! GS 0JIERZJ27I27I0JXFZKMF! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE THE START STRING IN THE "S" BUFFER ! ! SHOW THE USER THE CREATED MACRO !  "Start_string" the user input 0JXS0KZK:GS 0JZKERI1EXN3.TTT! GET STOP STRING THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE THE START STRING IN THE "T" BUFFER ! 0JXT0KZK! GET THE ACTUAL "STOP_STRING" ! ! OUT OF THE "F" BUFFER ! GT 0JIERZJ27I27I0JXFZKMF! ELIMINATE ANY CARRIAGE RETURNS! A ! SAVE THE START STRING IN THE "S" BUFFER ! ! SHOW THE USER THE CREATED MACRO !  "Stop_string" the user input 0JXT0KZK:GT ! SHOW THE USER THE CREATED MACRO !  EXTRN Macro Created:  ! BUILD THE EXTRNION MACRO ! ! READ IN A LINE AT A TIME ! ! KILL TILL START STRING FOUND ! ! WRITE OUT EACH TILL STOP STRING FOUND ETC. ! ! ! ! THE WAY TO DO THIS IS TO HAVE TWO SECTIONS IN THE MAIN LOOP THAT ! ! EXECUTE "START" STRING MACRO TO KILL TILL "START" FOUND THEN GO TO ! ! SECOND MACRO TO SAVE TILL "STOP" FOUND ! 0JHK ! CREATE THE "EXTRN" MACRO STRING MARO ! !~ ! ! TOP OF LOOP ! I <I !A!I<! ZERO ZERO PAGE TEST BUFFER ! I0UJ27I! READ A LINE ! I1:A27I!PUT BUFFER LENGTH IN BUFFER 2 ! I ZU227I! IF NO MORE LEFT IN THIS FILE DONT TRY TO EXTRN ANY MORE ! IQ2-0"E@O/T/'27I! RESET THE BUFFER LENGTH TEST ! I0UH27I! SEARCH FOR THE "START_STRING" & SAVE TILL ITS FOUND ! I SGS27I! ON SEARCH SUCESS EXIT LOOP ! I:;27I! SAVE THE INPUT LINE BECAUSE "START_STRING" NOT FOUND YET ! ! DONT SHOW THE USER WHAT WAS SAVED ! I !ZV! 0J0,ZPW27IIZK >27I ! END OF FIRST LOOP ! ! "START_STRING" FOUND SO START SAVING TILL "STOP_STRING FOUND ! ! ! ! TOP OF SECOND LOOP ! ! ! ! KILL THE FOUND BEGIN_STRING ALSO ! I0JZK !D!I<! ZERO ZERO PAGE TEST BUFFER ! I 0UJ27I! READ A LINE ! I1:A27I!PUT BUFFER LENGTH IN BUFFER 2 ! I ZU227I! IF NO MORE LEFT IN THIS FILE DONT TRY TO EXTRN ANY MORE ! IQ2-0"E@O/V/'27I! RESET THE BUFFER LENGTH TEST ! I 0UH27I! SEARCH FOR THE "STOP_STRING" & SAVE TILL ITS FOUND ! I SGT27I! ON SEARCH SUCESS EXIT LOOP ! I:;27I! KILL THE INPUT LINE BECAUSE "STOP_STRING" NOT FOUND YET ! ! SHOW WHAT IS KILLED USER WHAT WAS "EXTRNED" ! I0J ZV ZK >I0JZK > 27I! GO TO END OF MACRO TO CLOSE FILE ! I@O/B/'27I I!T!27I! NOT 3 EMPTY BUFFERS YET SO NOT DONE ! I QH-3"L1%H27II@O/A/'27I! GO TO END OF MACRO TO CLOSE FILE ! I@O/B/'27II !V!27I! NOT 3 EMPTY BUFFERS YET SO NOT DONE GO BACK TO TOP OF SECOND LOOP ! I QH-3"L1%H27II@O/D/'27I ! ALL DONE THIS FILE BECAUSE EMPTY PAGE WAS READ IN ! I !B!27I27I ! SAVE THE CREATED "EXTRN" MACRO IN BUFFER "Y" ! 0J ZV ZXY 0JHK ! OPEN THE OUTPUT FILE FROM BUFFER "A" USE BUFFER "E" ! 0JZKGA0J S.KIEXN0J27IIEWZJ27I27I0JXEZKME0JHK! OPEN THE INPUT FILE FROM BUFFER "A" USE BUFFER "E" ! 0JZKGA0J 0J27IIERZJ27I27I0JXEZKME0JHK ! NOW READ IN INPUT FILE A LINE AT A TIME "FILE A" ! ! AND OUTPUT TO FILE "C" ! ^A EXTRN.TEC - Please Be Patient As This May Take A While.  ! SHOW THE USER WHAT HE GOT !  Results deleted - (start & stop string deletions not shown) ! EXECUTE THE "EXTRN" MACRO ! MY ! CLOSE THE OUTPUT FILE ! EC ! TEMP SAVE THE CREATED "EXTRN" MACRO ! 0JZKEWEXTN.TTTGY EG@ZZZZZZ.ZZZ