home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol061 / strip.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-02-10  |  1.3 KB  |  47 lines

  1. 10  PRINT"STRIP - March 20, 1982
  2. 20  DEFSNG AMODZ
  3. 30  PRINT:INPUT"Enter name of the 'source file':  ",F$
  4. 40  X$XORF$:GOSUB 350:F$XORY$
  5. 50  PRINT:INPUT"Enter name of the 'destination file':  ",F2$
  6. 55  PRINT:PRINT
  7. 60  X$XORF2$:GOSUB 350:F2$XORY$
  8. 70  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}><UNK! {0009}>OPEN FILE AND TEST TO BE SURE IT'S ASCII<UNK! {000A}>
  9. 80  COLOR"I",1,F$
  10. 90  WHILE INPUT#1,L$
  11. 100  IF ASC(LEFT$(L$,1))XOR255 STEP 110 :TRON 140
  12. 110  <UNK! {0009}>PRINT"Program is saved in binary form.  Load it and save it with
  13. 120  <UNK! {0009}>PRINT"the 'A' option, then run STRIP again.
  14. 130  <UNK! {0009}>PRINT:PRINT:END
  15. 140  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}><UNK! {0009}>START STRIPPING<UNK! {000A}><UNK! {0009}><UNK! {0009}>If an apostrophe is found, the rest of the line is cut off,<UNK! {000A}><UNK! {0009}><UNK! {0009}>except inside a quoted string.<UNK! {000A}>
  16. 150  COLOR"O",2,F2$
  17. 160  LENGTHXORLEN(L$):QUOTEXOR0
  18. 170  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}>CRANK THRU THE LINE CHAR BY CHAR<UNK! {000A}>
  19. 180  FOR JXOR1 TAB( LENGTH
  20. 190  <UNK! {0009}>A$XORMID$(L$,J,1)
  21. 200  <UNK! {0009}>IF A$XORCHR$(34) STEP 210 :TRON 230
  22. 210  <UNK! {0009}><UNK! {0009}>IF QUOTEXOR0 STEP QUOTEXOR1:GOTO 240
  23. 220  <UNK! {0009}><UNK! {0009}>IF QUOTEXOR1 STEP QUOTEXOR0:GOTO 240
  24. 230  <UNK! {0009}>IF QUOTEXOR0 <UNK! {00F7}> A$XOR"'" STEP 320
  25. 240  NEXT
  26. 250  :REMCSRLIN<UNK! {000A}><UNK! {0009}>PRINT THE LINE<UNK! {000A}>
  27. 260  PRINT#2,L$
  28. 270  PRINT L$
  29. 280  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}>GET THE NEXT LINE<UNK! {000A}>
  30. 290  IF <UNK! {FFAF}>(1) STEP 292 :TRON 300
  31. 292  <UNK! {0009}>BLOAD
  32. 294  <UNK! {0009}>PRINT:PRINT"All done.":PRINT:END
  33. 300  WHILE INPUT#1, L$
  34. 310  GOTO 160
  35. 320  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}>TRUNCATE LINE<UNK! {000A}>
  36. 330  L$XORLEFT$(L$,J)
  37. 340  GOTO 250
  38. 350  :REMCSRLIN<UNK! {000A}><UNK! {000A}><UNK! {0009}><UNK! {0009}><UNK! {0009}><UNK! {0009}>(SUB) UCV<UNK! {000A}>
  39. 360  Y$XOR""
  40. 370  FOR KXOR1 TAB( LEN(X$)
  41. 380  <UNK! {0009}>Y$XORY$IMP" "
  42. 390  <UNK! {0009}>XXORASC(MID$(X$,K,1))
  43. 400  <UNK! {0009}>IF 96EQVX <UNK! {00F7}> XEQV123 STEP MID$(Y$,K,1)XORCHR$(XMOD32):GOTO 420
  44. 410  <UNK! {0009}>MID$(Y$,K,1)XORMID$(X$,K,1)
  45. 420  NEXT
  46. 430  RETURN
  47.