BBS: Inland Empire Archive Date: 02-23-93 (08:52) Number: 323 From: QUINN TYLER JACKSON Refer#: NONE To: ALL Recvd: NO Subj: Qompress.Bas 2/ Conf: (2) Quik_Bas
>>> Continued from previous message END FUNCTION FUNCTION fqjTableInit () ' This function initializes all compression tables and returns a value ' equal to how many thousandths of a second is required to intialize the ' tables. StartTime! = TIMER RESTORE EnglishWordData FOR i = LBOUND(WordTable$) TO UBOUND(WordTable$) READ WordTable$(i) WordTable$(i) = WordTable$(i) + " " NEXT i RESTORE EnglishTrigramData FOR i = LBOUND(TriTable$) TO UBOUND(TriTable$) READ TriTable$(i) NEXT i RESTORE EnglishDigramData FOR i = LBOUND(DiTable$) TO UBOUND(DiTable$) READ DiTable$(i) NEXT i fqjTableInit = (TIMER - StartTime!) * 1000 END FUNCTION FUNCTION funQompress$ (InText$) STATIC WCount, TCount, DiCount IF LTRIM$(RTRIM$(InText$)) = "" THEN funQompress$ = CHR$(NoType) EXIT FUNCTION END IF OrigLen = LEN(InText$) Word$ = fqjSqueeze(InText$, WordTable$()) Tri$ = fqjSqueeze(InText$, TriTable$()) Di$ = fqjSqueeze(InText$, DiTable$()) Word = LEN(Word$) Tri = LEN(Tri$) Di = LEN(Di$) IF Tri < Di AND Tri < Word THEN Txt$ = Tri$ METH$ = CHR$(TriType) TCount = TCount + 1 ELSEIF Di < Word THEN Txt$ = Di$ METH$ = CHR$(DiType) DiCount = DiCount + 1 ELSE Txt$ = Word$ METH$ = CHR$(WordType) WCount = WCount + 1 END IF SELECT CASE OrigLen > LEN(Txt$) CASE -1 Txt$ = METH$ + MKI$(OrigLen) + Txt$ CASE ELSE Txt$ = CHR$(NoType) + MKI$(OrigLen) + InText$ END SELECT funQompress$ = Txt$ END FUNCTION * SLMR 2.1a * --- Maximus 2.01wb * Origin: VKUG/VPCC QuickBasic Echo - Richmond, BC (1:153/151)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET