5748103 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n unpack.bas
   1: DECLARE FUNCTION ILength$ (txt$, num!)
   2: DECLARE FUNCTION LastPart$ (t$)
   3: CLS
   4: INPUT "PackedFile-->", Pack$
   5: OPEN Pack$ FOR BINARY AS #2
   6: DIM ff AS STRING * 1
   7: DIM nme AS STRING * 12
   8: DO UNTIL LOC(2) = LOF(2)
   9: GET #2, , nme
  10: Flnm$ = RTRIM$(LTRIM$(nme))
  11: DO UNTIL ff = "¯"
  12: GET #2, , ff
  13: PRINT ff; " <> "; "¯"
  14: IF ff = "¯" THEN EXIT DO
  15: IF dbd = 1 AND ff <> "¯" THEN fil$ = fil$ + ff
  16: IF ff = "®" THEN dbd = 1
  17: LOOP
  18: filsiz = VAL(fil$)
  19: PRINT filsiz
  20: OPEN Flnm$ FOR BINARY AS #1
  21: FOR mm = 0 TO (filsiz - 1)
  22: GET #2, , ff
  23: PUT #1, , ff
  24: percn = (mm / (filsiz + 1)) * 100
  25: LOCATE 2, 1: PRINT Flnm$; " is"; filsiz; "bytes long and is"; INT(percn); "percent done."
  26: NEXT mm
  27: CLOSE 1
  28: LOOP
  29: CLOSE 1, 2, 3, 4, 5, 6, 7, 8, 9
  30: 
  31: FUNCTION ILength$ (txt$, num)
  32: IF LEN(txt$) < num THEN ILength$ = STRING$(num - LEN(txt$), 32) + txt$
  33: END FUNCTION
  34: 
  35: FUNCTION LastPart$ (t$)
  36: FOR q = LEN(t$) TO 1 STEP -1
  37: IF MID$(t$, q, 1) = "\" THEN EXIT FOR ELSE nn$ = MID$(t$, q, 1) + nn$
  38: NEXT q
  39: LastPart$ = nn$
  40: END FUNCTION
  41: 
5748104 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:10:29