5748217 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n unpack5.bas
   1: DECLARE FUNCTION MyAlgoryth! (num1!, num2!)
   2: DECLARE FUNCTION ILength$ (txt$, num!)
   3: DECLARE FUNCTION LastPart$ (t$)
   4: CLS
   5: INPUT "PackedFile-->", Pack$
   6: OPEN Pack$ FOR BINARY AS #2
   7: DIM ff AS STRING * 100
   8: DIM nme AS STRING * 12
   9: DIM nth AS STRING * 1
  10: DO UNTIL LOC(2) >= LOF(2)
  11: GET #2, , nme
  12: flnm$ = RTRIM$(LTRIM$(nme))
  13: CLS
  14: GET #2, , siz
  15: filsiz = siz
  16: PRINT filsiz; flnm$; LOC(2)
  17: 'SLEEP
  18: IF flnm$ = "123456789012" THEN END
  19: OPEN flnm$ FOR BINARY AS #1
  20: ttl$ = STRING$(16, 32)
  21: CLS
  22: FOR mm = 0 TO filsiz - 1
  23: PRINT mm
  24: IF LEN(ff) <> 100 THEN STOP
  25: GET #2, , ff
  26: 'PUT #1, , ff
  27: IF LEN(ff) + mm > filsiz THEN gg$ = LEFT$(ff, filsiz - mm): PRINT mm; filsiz; place: PUT #1, , gg$: GET #2, MyAlgoryth(LEN(ff), LEN(gg$)), nth: mm = mm + LEN(gg$): EXIT FOR ELSE PUT #1, , ff
  28: percn = (mm / (filsiz + 1)) * 100
  29: LOCATE 2, 1: PRINT flnm$; " is"; filsiz; "bytes long and is"; INT(percn); "percent done."; mm
  30: mm = (mm + LEN(ff)) - 1
  31: NEXT mm
  32: CLOSE 1
  33: CLS
  34: PRINT filsiz; flnm$; LOC(2);
  35: 'SLEEP
  36: LOOP
  37: CLOSE 1, 2, 3, 4, 5, 6, 7, 8, 9
  38: 
  39: FUNCTION ILength$ (txt$, num)
  40: IF LEN(txt$) < num THEN ILength$ = STRING$(num - LEN(txt$), 32) + txt$
  41: END FUNCTION
  42: 
  43: FUNCTION LastPart$ (t$)
  44: FOR q = LEN(t$) TO 1 STEP -1
  45: IF MID$(t$, q, 1) = "\" THEN EXIT FOR ELSE nn$ = MID$(t$, q, 1) + nn$
  46: NEXT q
  47: LastPart$ = nn$
  48: END FUNCTION
  49: 
  50: FUNCTION MyAlgoryth (num1, num2)
  51: MyAlgoryth = (((LOC(2) - num1) + num2))
  52: END FUNCTION
  53: 
5748218 [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:36