home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / uploads / coder2.lbr / CDR2.BZS / CDR2.BAS
Encoding:
BASIC Source File  |  1993-06-07  |  3.3 KB  |  115 lines

  1. 1 '    ************************************************
  2. 2 '    *                                              *
  3. 3 '    *                -=> CODER <=-                 *
  4. 4 '    *                                              *
  5. 5 '    *                     v2.0                     *
  6. 6 '    *                                              *
  7. 7 '    *                 JOHN CURTIS                  *
  8. 8 '    *                                              *
  9. 9 '    *                JUNE 29, 1991                 *
  10. 10 '    *                                              *
  11. 11 '    ************************************************
  12. 12 GOTO 69
  13. 13 OPEN "O",#1,"COPY.DAT"    '*************** DECODE LOOP
  14. 14 OPEN "I",#2,NME$
  15. 15 PRINT:PRINT "Decoding ";NME$
  16. 16 PRINT:PRINT
  17. 17 WHILE NOT EOF(2)
  18. 18 LINE INPUT #2,CDD$
  19. 19 X=LEN(CDD$)
  20. 20 FOR T=1 TO X
  21. 21 T$=MID$(CDD$,T,1)
  22. 22 STRT=ASC(T$)
  23. 23 IF ASC(T$)>126 OR ASC(T$)<32 THEN UCDD=ASC(T$):GOTO 28
  24. 24 UCDD=STRT-PWD-T
  25. 25 IF UCDD<-250 THEN UCDD=UCDD+282:GOTO 27
  26. 26 IF UCDD<-156 THEN UCDD=UCDD+188
  27. 27 IF UCDD<32 THEN UCDD=UCDD+94:GOTO 27
  28. 28 UCDD$=UCDD$+CHR$(UCDD)
  29. 29 NEXT T
  30. 30 LNE=LNE+1
  31. 31 PRINT CHR$(13);"Line:";LNE;
  32. 32 PRINT #1,UCDD$
  33. 33 UCDD$=""
  34. 34 WEND
  35. 35 CLOSE #2
  36. 36 KILL NME$
  37. 37 CLOSE #1
  38. 38 NAME "COPY.DAT" AS NME$
  39. 39 PRINT:PRINT "Decoding complete!"
  40. 40 PRINT:PRINT "-> Coder <-":END
  41. 41 OPEN "O",#1,"COPY.DAT"    '******************* ENCODE LOOP
  42. 42 OPEN "I",#2,NME$
  43. 43 PRINT:PRINT "Encoding ";NME$
  44. 44 PRINT:PRINT
  45. 45 WHILE NOT EOF(2)
  46. 46 LINE INPUT #2,UCDD$
  47. 47 X=LEN(UCDD$)
  48. 48 FOR T=1 TO X
  49. 49 T$=MID$(UCDD$,T,1)
  50. 50 STRT=ASC(T$)
  51. 51 IF ASC(T$)>126 OR ASC(T$)<32 THEN CDD=ASC(T$):GOTO 55
  52. 52 CDD=STRT+PWD+T
  53. 53 IF CDD>220 THEN CDD=CDD-188:GOTO 53
  54. 54 IF CDD>126 THEN CDD=CDD-94:GOTO 54
  55. 55 CDD$=CDD$+CHR$(CDD)
  56. 56 NEXT T
  57. 57 LNE=LNE+1
  58. 58 PRINT CHR$(13);"Line:";LNE;
  59. 59 PRINT #1,CDD$
  60. 60 CDD$=""
  61. 61 WEND
  62. 62 CLOSE #2
  63. 63 KILL NME$
  64. 64 CLOSE #1
  65. 65 NAME "COPY.DAT" AS NME$
  66. 66 PRINT:PRINT "Encoding complete!"
  67. 67 PRINT:PRINT "-> Coder <-"
  68. 68 END
  69. 69 PRINT
  70. 70 A=&H7F
  71. 71 A=A+&H1
  72. 72 B=PEEK(A)
  73. 73 IF B THEN A=A+&H1:GOTO 75
  74. 74 GOTO 103     '************ NO COMMAND LINE PRESENT
  75. 75 A=A+&H1
  76. 76 B=PEEK(A)
  77. 77 IF B THEN CMM$=CMM$+CHR$(B):GOTO 75
  78. 78 GOTO 79           '************ THE COMMAND IS IN CMM$
  79. 79 T=T+1
  80. 80 T$=MID$(CMM$,T,1)
  81. 81 IF T$<>" " THEN MD$=MD$+T$:GOTO 79
  82. 82 IF MD$<>"DECODE" AND MD$<>"ENCODE" THEN 103
  83. 83 T=T+1
  84. 84 T$=MID$(CMM$,T,1)
  85. 85 IF T$<>" " THEN NME$=NME$+T$:GOTO 83
  86. 86 T=T+1
  87. 87 T$=MID$(CMM$,T,1)
  88. 88 IF T$<>"" THEN PWD$=PWD$+T$:PWD=PWD+ASC(T$):GOTO 86
  89. 89 PRINT:PRINT "-> Coder <-  v2.0   July 16, 1991   J. Curtis"
  90. 90 PRINT
  91. 91 PRINT "Mode:     ";MD$
  92. 92 PRINT "Filename: ";NME$
  93. 93 PRINT "Password: ";PWD$
  94. 94 PRINT
  95. 95 PRINT "Is this correct (Y/N)? ";
  96. 96 A$=""
  97. 97 A$=INKEY$:IF A$="" THEN 97
  98. 98 IF A$="Y" OR A$="y" THEN PRINT "Yes":GOTO 101
  99. 99 IF A$="N" OR A$="n" THEN PRINT "No":END
  100. 100 GOTO 97
  101. 101 IF MD$="DECODE" GOTO 13
  102. 102 IF MD$="ENCODE" GOTO 41
  103. 103 PRINT:PRINT "-> Coder <-  v2.0   July 16, 1991   J. Curtis"
  104. 104 PRINT
  105. 105 PRINT
  106. 106 PRINT "This program will encode, and then decode an ascii file"
  107. 107 PRINT
  108. 108 PRINT "Usage: CDR mode filename.ext password"
  109. 109 PRINT
  110. 110 PRINT "Example: CDR DECODE MYFILE.TXT MYPASS"
  111. 111 PRINT "         CDR ENCODE MYFILE.TXT MYPASS"
  112. 112 END
  113. rd"
  114. 109 PRINT
  115. 110 PRINT "Example: CDR DECODE MYFILE.TXT