home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / DATABASE / DIMS103.ARK / STRIP.ASC < prev   
Text File  |  1986-12-07  |  2KB  |  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.         OPEN FILE AND TEST TO BE SURE IT'S ASCII
  11.  
  12. 80 OPEN"I",1,F$
  13. 90 LINE INPUT#1,L$
  14. 100 IF ASC(LEFT$(L$,1))=255 THEN 110 ELSE 140
  15. 110    PRINT"Program is saved in binary form.  Load it and save it with
  16. 120    PRINT"the 'A' option, then run STRIP again.
  17. 130    PRINT:PRINT:END
  18. 140 '
  19.  
  20.         START STRIPPING
  21.         If an apostrophe is found, the rest of the line is cut off,
  22.         except inside a quoted string.
  23.  
  24. 150 OPEN"O",2,F2$
  25. 160 LENGTH=LEN(L$):QUOTE=0
  26. 170 '
  27.  
  28.     CRANK THRU THE LINE CHAR BY CHAR
  29.  
  30. 180 FOR J=1 TO LENGTH
  31. 190    A$=MID$(L$,J,1)
  32. 200    IF A$=CHR$(34) THEN 210 ELSE 230
  33. 210        IF QUOTE=0 THEN QUOTE=1:GOTO 240
  34. 220        IF QUOTE=1 THEN QUOTE=0:GOTO 240
  35. 230    IF QUOTE=0 AND A$="'" THEN 320
  36. 240 NEXT
  37. 250 '
  38.     PRINT THE LINE
  39.  
  40. 260 PRINT#2,L$
  41. 270 PRINT L$
  42. 280 '
  43.  
  44.     GET THE NEXT LINE
  45.  
  46. 290 IF EOF(1) THEN 292 ELSE 300
  47. 292    CLOSE
  48. 294    PRINT:PRINT"All done.":PRINT:END
  49. 300 LINE INPUT#1, L$
  50. 310 GOTO 160
  51. 320 '
  52.  
  53.     TRUNCATE LINE
  54.  
  55. 330 L$=LEFT$(L$,J)
  56. 340 GOTO 250
  57. 350 '
  58.  
  59.                 (SUB) UCV
  60.  
  61. 360 Y$=""
  62. 370 FOR K=1 TO LEN(X$)
  63. 380    Y$=Y$+" "
  64. 390    X=ASC(MID$(X$,K,1))
  65. 400    IF 96<X AND X<123 THEN MID$(Y$,K,1)=CHR$(X-32):GOTO 420
  66. 410    MID$(Y$,K,1)=MID$(X$,K,1)
  67. 420 NEXT
  68. 430 RETURN
  69. D$(X$,K,1))
  70. 400    IF 96<X AND X<123 THEN MID$(Y$,K,1)=CHR$(X-32):GOTO 420
  71. 410    MID$(Y$,K,1)=MID$(X$,K,1)
  72. 420 NEXT
  73. 4