EXTRA.200: A helping hand for writers by Carmen Paone [72677,42] As a writer who faces deadlines, I always wanted certain features at my fingertips in my Model 200 Features such as * Search and replace * Story length * Rename function Before EXTRA.200, I had to exit my story and enter one of the programs that would do the things I wanted to do. Now, when I exit my stories, I have those three functions at my fingertips in the form of EXTRA.200 EXTRA.200 takes a different twist on Will Linden's TXTJMP.200 program, which was designed to enable the user to call TEXT from BASIC. Now, the user can call BASIC from TEXT. When you hit the F1 key for the first time, you might think there is something wrong with EXTRA.200 because all you will see is a blank screen. There's nothing wrong and you didn't waste your connect time. You are sitting in a TEXT file called STORY.DO. Start writing your article. When you want to use one of the features of EXTRA.200, just hit the F8 key and you will back at the program's menu. All of the features of EXTRA.200 will only work on STORY.DO. When you select S&R, you will see a "?" on the screen, strike enter and a message of A)uto or Q)uerry will pop up. The Auto mode will automatically search for the string you are seeking and replace it with the corrected string. In the "Q" mode, you will see the string appear on the screen and be asked if you want to R)eplace the string S)kip the string Q)uit the S&R function. On "Quit" the lines of the article will be counted and you will be returned to the EXTRA.200 menu. In the Length of story mode, if you get an EF error, that means that you are trying to measure an empty file. Cut and paste the program below the dotted line, place it in another .DO file and run that file through BASIC to make EXTRA.200 come alive. I modfified Steve French's very fine global search program for EXTRA.200 ....................................... 0 REM EXTRA.200 - A UTILITY FOR WRITERS BY CARMEN PAONE [72677,42] 10 F$="story.do":OPENF$FORAPPENDAS1:CLOSE 20 CLS:PRINT@40," EXTRA!200":PRINT@86,"EXTRA!200":PRINT@130,"EXTRA!200":PRINT@174,"EXTRA!200":PRINT@218,"EXTRA!200":PRINT@262,"EXTRA!200":PRINT@306,"EXTRA!200" 30 KEYON:PRINT@600,"Story S&R Len Name MENU";:ONKEYGOSUB400,50,210,350,380 35 GOTO35 50 GOTO160;'Search & Replace S A French 72275,1622 01/01/85 60 IFEOF(1)THENCLOSE:KILL"Story.do":NAME"TEMP$$.DO"AS"story.do":GOTO10 ELSEP=1:OS$="":LINEINPUT#1,IS$ 70 M=INSTR(P,IS$,SS$):IFM=0THENOS$=OS$+MID$(IS$,P):GOTO100 80 M=M-P:OS$=OS$+MID$(IS$,P,M):IFQ=0THENOS$=OS$+RS$ ELSEGOSUB110:IFI<3THEN OS$=OS$+SS$ ELSEIFI<5THENOS$=OS$+RS$ ELSE130 90 P=P+LEN(SS$)+M:IFP2THENQ=1 ELSEQ=0 180 CLS:LINEINPUT"SEARCH STRING ";SS$:IFLEN(SS$)=0THENMENU 190 LINEINPUT"REPLACE STRING ";RS$:OPEN"story.do"FORINPUTAS1:OPEN"TEMP$$.DO"FOROUTPUTAS2:CLS:GOTO60 200 REM PICAS.BA by Carmen Paone [72677,42] 210 CLS:F$="story.do":OPENF$FORAPPENDAS1:CLOSE 220 OPENF$FORINPUTAS1 230 N=0 240 CLS:PRINT@132,"WORKING ...." 250 A$=INPUT$(9,1) 260 ONERRORGOTO280 270 N=N+9:GOTO250 280 IFERR<>54THENRESUME 290 CLS:PRINT@166,"LENGTH ":PRINT@179,"INCHES 300 N=N+16:PRINT@173,(INT(10*(N/29*10.25/72)))/10 310 CLOSE1 320 PRINT@281, "Spacebar for EXTRA! Menu" 330 B$=INPUT$(1) 340 IFB$=" "THEN20 350 CLS: PRINT@201,"TYPE FILENAMES IN CAPS AND ADD .DO":A$="STORY.DO":INPUT"Old name";A$:INPUT"New name";B$:NAMEA$ASB$:GOTO20 380 MENU 400 CLS:F$="story.do":OPENF$FORAPPENDAS1 410 IF LEN(F$)=0 THEN BEEP:GOTO 400 430 VP=VARPTR(#1) 440 CLOSE 450 DI=PEEK(VP+2)+256*PEEK(VP+3) 460 AD=PEEK(DI)+256*PEEK(DI+1) 470 FOR I=63574 TO 63620:READ X:POKE I,X:NEXTI 480 DATA 229,213,197,245,235,42,80,246,229,33,0,0,34,210,239,57,34,80,246,213,62,1 490 DATA 33,114,248,195,39,115,225,225,34,80,246,205,226,131,175,50,50,239,61,50 500 DATA 10,239,195,4,22 510 CALL 63574,,AD 520 SCREEN0 530 RUN20