1: DECLARE FUNCTION MyAlgoryth! (siz!, LenTTL!) 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 * 1000 8: DIM nme AS STRING * 12 9: DIM nth AS STRING * 1 10: DIM SHARED Back AS LONG 11: DO UNTIL LOC(2) = LOF(2) 12: GET #2, , nme 13: flnm$ = RTRIM$(LTRIM$(nme)) 14: CLS 15: GET #2, , siz 16: filsiz = siz 17: fil$ = "" 18: PRINT filsiz 19: OPEN flnm$ FOR BINARY AS #1 20: ttl$ = ILength$(flnm$, 12) + "®" + LTRIM$(RTRIM$(STR$(filsiz))) 21: CLS 22: FOR mm = 0 TO filsiz - 1 23: PRINT mm 24: PRINT LEN(ff) 25: GET #2, , ff 26: 'PUT #1, , ff 27: IF LEN(ff) + mm > filsiz THEN gg$ = LEFT$(ff, filsiz - mm): place = MyAlgoryth(LEN(ff), LEN(gg$)): PRINT mm; filsiz; place: PUT #1, , gg$: GET #2, place - 1, 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: LOOP 34: CLOSE 1, 2, 3, 4, 5, 6, 7, 8, 9 35: 36: FUNCTION ILength$ (txt$, num) 37: IF LEN(txt$) < num THEN ILength$ = STRING$(num - LEN(txt$), 32) + txt$ 38: END FUNCTION 39: 40: FUNCTION LastPart$ (t$) 41: FOR q = LEN(t$) TO 1 STEP -1 42: IF MID$(t$, q, 1) = "\" THEN EXIT FOR ELSE nn$ = MID$(t$, q, 1) + nn$ 43: NEXT q 44: LastPart$ = nn$ 45: END FUNCTION 46: 47: FUNCTION MyAlgoryth (num1, num2) 48: 'PRINT LOC(2) - num1; LOC(2); num1; num2; (((LOC(2) - num1) + num2)+1) 49: MyAlgoryth = (((LOC(2) - num1) + num2) + 1) 50: SLEEP 51: END FUNCTION 52: |