home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / database / dims103.ark / STRIP.ASC < prev   
Encoding:
Text File  |  1986-12-07  |  1.5 KB  |  73 lines

  1. 10 PRINT"STRIP - March 20, 1982
  2. 20 DEFINT A-Z
  3. 30 PRINT:INPUT"Enter name of the 'source file':  ",F$
  4. 40 X$=F$:GOSUB 350:F$=Y$
  5. 50 PRINT:INPUT"Enter name of the 'destination file':  ",F2$
  6. 55 PRINT:PRINT
  7. 60 X$=F2$:GOSUB 350:F2$=Y$
  8. 70 '
  9.  
  10.  
  11.         OPEN FILE AND TEST TO BE SURE IT'S ASCII
  12.  
  13.  
  14. 80 OPEN"I",1,F$
  15. 90 LINE INPUT#1,L$
  16. 100 IF ASC(LEFT$(L$,1))=255 THEN 110 ELSE 140
  17. 110    PRINT"Program is saved in binary form.  Load it and save it with
  18. 120    PRINT"the 'A' option, then run STRIP again.
  19. 130    PRINT:PRINT:END
  20. 140 '
  21.  
  22.  
  23.         START STRIPPING
  24.  
  25.         If an apostrophe is found, the rest of the line is cut off,
  26.  
  27.         except inside a quoted string.
  28.  
  29.  
  30. 150 OPEN"O",2,F2$
  31. 160 LENGTH=LEN(L$):QUOTE=0
  32. 170 '
  33.  
  34.  
  35.     CRANK THRU THE LINE CHAR BY CHAR
  36.  
  37.  
  38. 180 FOR J=1 TO LENGTH
  39. 190    A$=MID$(L$,J,1)
  40. 200    IF A$=CHR$(34) THEN 210 ELSE 230
  41. 210        IF QUOTE=0 THEN QUOTE=1:GOTO 240
  42. 220        IF QUOTE=1 THEN QUOTE=0:GOTO 240
  43. 230    IF QUOTE=0 AND A$="'" THEN 320
  44. 240 NEXT
  45. 250 '
  46.  
  47.     PRINT THE LINE
  48.  
  49.  
  50. 260 PRINT#2,L$
  51. 270 PRINT L$
  52. 280 '
  53.  
  54.  
  55.     GET THE NEXT LINE
  56.  
  57.  
  58. 290 IF EOF(1) THEN 292 ELSE 300
  59. 292    CLOSE
  60. 294    PRINT:PRINT"All done.":PRINT:END
  61. 300 LINE INPUT#1, L$
  62. 310 GOTO 160
  63. 320 '
  64.  
  65.  
  66.     TRUNCATE LINE
  67.  
  68.  
  69. 330 L$=LEFT$(L$,J)
  70. 340 GOTO 250
  71. 350 '
  72.  
  73.  
  74.                 (SUB) UCV
  75.  
  76.  
  77. 360 Y$=""
  78. 370 FOR K=1 TO LEN(X$)
  79. 380    Y$=Y$+" "
  80. 390    X=ASC(MID$(X$,K,1))
  81. 400    IF 96<X AND X<123 THEN MID$(Y$,K,1)=CHR$(X-32):GOTO 420
  82. 410    MID$(Y$,K,1)=MID$(X$,K,1)
  83. 420 NEXT
  84. 430 RETURN
  85. D$(X$,K,1))
  86. 400    IF 96<X AND X<123 THEN MID$(Y$,K,1)=CHR$(X-32):GOTO 420
  87. 410    MID$(Y$,K,1)=MID$(X$,K,1)
  88. 420 NEXT
  89. 4