1: DECLARE SUB Msg (t$) 2: DECLARE SUB Center (t$) 3: DECLARE FUNCTION FirstPart$ (t$) 4: DECLARE FUNCTION LastPart$ (t$) 5: DIM OneByte AS STRING * 1 6: Flnm$=command$ 7: If Flnm$="" then Flnm$=Dir$("*.PRS") 8: If Flnm$="" then end 9: nnx$=CurDir$ 10: SCREEN 0, 1 11: CLS 12: LOCATE 2, 1 13: Msg "Opening " + Flnm$ 14: OPEN Flnm$ FOR BINARY AS #1 15: Msg "Opening Initialization File" 16: OPEN "C:\ZIPRUN.INI" FOR INPUT AS #2 17: Msg "Reading DATA from Initialization File" 18: LINE INPUT #2, PKunFile$ 19: Msg "Closing Initialization File" 20: CLOSE 2 21: Msg "Reading DATA from " + Flnm$ 22: GET #1, , OneByte 23: Len1 = ASC(OneByte) 24: FOR Cntq = 1 TO Len1 25: GET #1, , OneByte 26: RunFile$ = RunFile$ + OneByte 27: NEXT Cntq 28: GET #1, , OneByte 29: IF ASC(OneByte) <> 0 THEN Msg "Prompting for Password": INPUT "Zip File Password"; PassWord$: ClearLine 30: GET #1, , OneByte 31: Len1 = ASC(OneByte) 32: FOR Cntq = 1 TO Len1 33: GET #1, , OneByte 34: ZipFile$ = ZipFile$ + OneByte 35: NEXT Cntq 36: GET #1, , OneByte 37: Lonely = ASC(OneByte) 38: Msg "Analyzing DATA" 39: RunDir$ = FirstPart$(RunFile$) 40: RunFile$ = LastPart$(RunFile$) 41: ZipDir$ = FirstPart$(ZipFile$) 42: ZipFile$ = LastPart$(ZipFile$) 43: if ZipDir$<>"" then CHDIR (ZipDir$) 44: IF MID$(ZipDir$, 2, 1) = ":" THEN CHDRIVE (LEFT$(ZipDir$, 2)) 45: 'PRINT PKunFile$; " "; RunFile$; " "; ZipFile$ 46: 47: IF PassWord$ = "" THEN Run1$ = PKunFile$ + " -d " + ZipFile$ ELSE Run1$ = PKunFile$ + " -d -s" + PassWord$ + " " + ZipFile$ 48: IF Lonely = 0 THEN ELSE Run1$ = Run1$ + " " + RunFile$ 49: Msg "UnZiping "+lcase$(ZipFile$) 50: Shell (Run1$) 51: Cls 52: Shell (RunFile$) 53: Sleep 54: '----------------------------------------------------------------------------- 55: SCREEN 0, 0 56: PALETTE 5, 5 57: PALETTE 1, 8 58: ChDir (nnx$) 59: ChDrive (left$(nnx$,2)) 60: LOCATE 1, 1: COLOR 15, 1: Center "Compressed File Runner - Finished": COLOR 15, 0 61: if Lonely<>0 then Kill RunFile$ 62: END 63: 64: SUB Center (t$) 65: PRINT STRING$(INT(40 - (LEN(t$) / 2)), 32) + t$ + STRING$(INT(40 - (LEN(t$) / 2)), 32) 66: END SUB 67: 68: SUB ClearLine 69: LOCATE CSRLIN - 1, 1: PRINT STRING$(80, 32); 70: LOCATE CSRLIN - 1, 1 71: END SUB 72: 73: FUNCTION FirstPart$ (t$) 74: FOR q = LEN(t$) TO 1 STEP -1 75: IF dff = 1 THEN f$ = MID$(t$, q, 1) + f$ 76: IF MID$(t$, q, 1) = "\" THEN dff = 1 77: NEXT q 78: FirstPart$ = f$ 79: END FUNCTION 80: 81: FUNCTION LastPart$ (t$) 82: FOR q = LEN(t$) TO 1 STEP -1 83: IF MID$(t$, q, 1) = "\" THEN dff = 1: EXIT FOR 84: IF dff = 0 THEN f$ = MID$(t$, q, 1) + f$ 85: NEXT q 86: LastPart$ = f$ 87: END FUNCTION 88: 89: SUB Msg (t$) 90: PALETTE 5, 63 91: x = CSRLIN: LOCATE 1, 1: COLOR 0, 5: Center "Compressed File Runner - " + t$: COLOR 15, 0 92: IF x = 1 THEN x = 2 93: LOCATE x, 1 94: 'SLEEP 1 95: END SUB 96: |