home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / compuserve / Basic / PROTEC.XB < prev    next >
Text File  |  2006-10-19  |  991b  |  20 lines

  1. 100 ! MASS PROTECTOR BY BARRY TRAVER, 835 GREEN VALLEY DRIVE, PHILADELPHIA, PA 1
  2. 9128 (PHONE: 215/483-1379)
  3. 110 INPUT "DISK DRIVE? ":D :: CALL LINK("READ",D,1,D$,K$):: D$=D$&SEG$(K$,1,126)
  4. 120 FOR I=1 TO 255 STEP 2 :: IF I<>255 THEN G$=SEG$(D$,I,1):: H$=SEG$(D$,I+1,1)E
  5. LSE G$=SEG$(K$,127,1):: H$=SEG$(K$,128,1)
  6. 130 F=ASC(G$)*256+ASC(H$):: IF F=0 THEN 180
  7. 140 CALL LINK("READ",D,F,P$,Q$):: CALL B(ASC(SEG$(P$,13,1)),B$):: IF LEN(B$)<8 T
  8. HEN B$=SEG$("0000000"&B$,LEN(B$),8)
  9. 150 IF SEG$(B$,5,1)="0" THEN CALL M(B$,"1",5)ELSE 170
  10. 160 CALL D(B$,T):: CALL M(P$,CHR$(T),13):: CALL LINK("WRITE",D,F,P$,Q$)
  11. 170 NEXT I
  12. 180 PRINT "ALL FILES PROTECTED!" :: GOTO 110
  13. 190 SUB B(T,B$):: B$=""
  14. 200 Q=INT(T/2):: B$=SEG$("01",T-2*Q+1,1)&B$ :: IF Q<>0 THEN T=Q :: GOTO 200
  15. 210 SUBEND
  16. 220 SUB D(B$,D):: D=0 :: L=LEN(B$):: FOR I=1 TO L :: D=D+(POS("01",SEG$(B$,I,1),
  17. 1)-1)*2^(L-I):: NEXT I :: SUBEND
  18. 230 SUB M(A$,B$,S):: C=(LEN(B$))+S :: A$=SEG$(A$,1,S-1)&B$&SEG$(A$,C,LEN(A$)-C+1
  19. ):: SUBEND
  20.