=========================================================================== BBS: The Abacus * HST/DS * Potterville, MI Date: 06-08-93 (03:11) Number: 206 From: RICH GELDREICH Refer#: NONE To: VICTOR YIU Recvd: NO Subj: Prototype 2/3 Conf: (35) Quick Basi --------------------------------------------------------------------------- '>>> Start of page 2. PRINT LTRIM$(STR$(LinesWritten)); " lines in"; NextSub; "sub(s)" PRINT "Input:"; LOF(1); "bytes" PRINT "Output:"; LOF(2); "bytes" PRINT "Ratio:"; STR$((LOF(2) * 100&) \ LOF(1)); "%" CLOSE 1, 2 END SUB EmptyBucket IF CodesInBucket THEN MID$(OutputLine$, OutputPos) = CHR$(CurrentFlag + 35) OutputPos = OutputPos + 1 IF OutputPos = 66 THEN PrintScriptLine OutputLine$ FOR A = 1 TO CodesInBucket MID$(OutputLine$, OutputPos) = CHR$(Bucket(A) + 35) OutputPos = OutputPos + 1 IF OutputPos = 66 THEN PrintScriptLine OutputLine$ NEXT END IF END SUB SUB EncodeBlock FOR A = 1 TO BytesRead K = ASC(MID$(InputBuffer$, A, 1)) CurrentFlag = CurrentFlag + (K \ 86) * FlagScaler FlagScaler = FlagScaler * 3 CodesInBucket = CodesInBucket + 1 Bucket(CodesInBucket) = (K MOD 86) IF CodesInBucket = 4 THEN EmptyBucket FlagScaler = 1 CodesInBucket = 0 CurrentFlag = 0 END IF NEXT END SUB SUB EncodeEnd EmptyBucket IF OutputPos <> 3 THEN PrintScriptLine LEFT$(OutputLine$, OutputPos - 1) END IF IF LinesInSub <> -1 THEN PrintLine "END SUB" END IF 'There must be a better way of doing this! One sub call per ' line 'sucks. (QB doesn't like sub calls like this: V0:V1:V2) FOR A = 0 TO NextSub - 1 PrintLine "V" + HEX$(A) NEXT 'Look at this decoder! It still needs some work, but it's ' simple 'and fast. (It needs a character translator, because it ' currently 'uses characters like "@" which can cause problems on some 'networks like the RIME. A little percent meter would also ' look 'neat too.) L1$ = "SUB U(A$):FOR A=1 TO LEN(RTRIM$(A$)):C=ASC(MID$(A$,"+_ "A,1))-35" L2$ = "B=B-1:IF B<0 THEN B=4:K=C ELSE ?#1,CHR$(C+(K MOD"+_ " 3)*86);:K=K\3" L3$ = "NEXT: END SUB" L4$ = "CLOSE" '>>> Continued on page 3 --- MsgToss 2.0b * Origin: Computer Co-Op - Voorhees, NJ | Ted Hare (1:266/29) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/110 159/100 125 430 575 950 203/23 209/209 SEEN-BY: 261/1023 280/1 390/1 396/1 15 397/2 2230/100 2440/5 3603/20