home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib16.dsk
/
AMPERPACKER.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
1KB
|
36 lines
1 REM **********************
2 REM * AMPERPACKER.DEMO *
3 REM * BY DAVID GRIGGS *
4 REM * COPYRIGHT (C) 1983 *
5 REM * BY MICROSPARC, INC *
6 REM * LINCOLN, MA. 01773 *
7 REM **********************
10 PRINT CHR$(4)"BRUN AMPERPACKER.OBJ,A$9000"
15 REM HIMEM: IS ALREADY SET AS WELL AS THE AMPERSAND VECTOR
20 & U, CHR$(28) + CHR$(40) +"*",AS$: REM GENERATE A STRING OF 40 *'S
25 TEXT : HOME : INVERSE : PRINT AS$;: PRINT "* AMPERPACKER/UNPACKER DEMO *"
30 VTAB 3: PRINT "* DAVID GRIGGS - (C) MICRO-SPARC 1983 *";: PRINT AS$
35 NORMAL
40 POKE 34,4
100 HOME : PRINT "INPUT A STRING (RETURN QUITS):"
110 INPUT "";SS$
120 PRINT
130 IL = LEN(SS$)
140 IF IL = 0 THEN END
150 & P,SS$,OS$
160 OL = LEN(OS$)
170 PRINT "THE COMPRESSED STRING IS:": INVERSE : PRINT OS$: NORMAL
180 & U,OS$,CP$: REM UNPACK PACKED STRING
190 PRINT "THE UNPACKED STRING IS:": INVERSE : PRINT CP$: NORMAL : PRINT
200 IF CP$ = SS$ THEN PRINT "BEFORE & AFTER STRINGS VERIFY!!": GOTO 220
210 PRINT "BEFORE & AFTER STRINGS DIFFER - ERROR!"; CHR$(7): END
220 PRINT
230 PRINT " INPUT STRING LENGTH: ";IL
240 PRINT "OUTPUT STRING LENGTH: ";OL
250 SA = IL -OL
260 PRINT " ----"
270 PRINT " # OF CHAR SAVED IS: ";SA
280 PRINT : PRINT "THIS IS A SAVINGS OF "( INT((SA *100/IL) *100)/100)"%."
290 PRINT
300 VTAB 23: PRINT "PRESS RETURN TO CONTINUE";: INPUT "";A$
310 GOTO 100