home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib16.dsk / AMPERPACKER.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  36 lines

  1. 1  REM  **********************
  2. 2  REM  *  AMPERPACKER.DEMO  *
  3. 3  REM  *  BY  DAVID GRIGGS  *
  4. 4  REM  * COPYRIGHT (C) 1983 *
  5. 5  REM  * BY MICROSPARC, INC *
  6. 6  REM  * LINCOLN, MA. 01773 *
  7. 7  REM  **********************
  8. 10  PRINT  CHR$(4)"BRUN AMPERPACKER.OBJ,A$9000"
  9. 15  REM  HIMEM: IS ALREADY SET AS WELL AS THE AMPERSAND VECTOR
  10. 20  & U, CHR$(28) + CHR$(40) +"*",AS$: REM  GENERATE A STRING OF 40 *'S
  11. 25  TEXT : HOME : INVERSE : PRINT AS$;: PRINT "*      AMPERPACKER/UNPACKER DEMO       *"
  12. 30  VTAB 3: PRINT "* DAVID GRIGGS  - (C) MICRO-SPARC 1983 *";: PRINT AS$
  13. 35  NORMAL 
  14. 40  POKE 34,4
  15. 100  HOME : PRINT "INPUT A STRING (RETURN QUITS):"
  16. 110  INPUT "";SS$
  17. 120  PRINT 
  18. 130 IL =  LEN(SS$)
  19. 140  IF IL = 0  THEN  END 
  20. 150  & P,SS$,OS$
  21. 160 OL =  LEN(OS$)
  22. 170  PRINT "THE COMPRESSED STRING IS:": INVERSE : PRINT OS$: NORMAL 
  23. 180  & U,OS$,CP$: REM  UNPACK PACKED STRING
  24. 190  PRINT "THE UNPACKED STRING IS:": INVERSE : PRINT CP$: NORMAL : PRINT 
  25. 200  IF CP$ = SS$  THEN  PRINT "BEFORE & AFTER STRINGS VERIFY!!": GOTO 220
  26. 210  PRINT "BEFORE & AFTER STRINGS DIFFER - ERROR!"; CHR$(7): END 
  27. 220  PRINT 
  28. 230  PRINT " INPUT STRING LENGTH: ";IL
  29. 240  PRINT "OUTPUT STRING LENGTH: ";OL
  30. 250 SA = IL -OL
  31. 260  PRINT "                    ----"
  32. 270  PRINT " # OF CHAR SAVED IS: ";SA
  33. 280  PRINT : PRINT "THIS IS A SAVINGS OF "( INT((SA *100/IL) *100)/100)"%."
  34. 290  PRINT 
  35. 300  VTAB 23: PRINT "PRESS RETURN TO CONTINUE";: INPUT "";A$
  36. 310  GOTO 100