5748173 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n ziprun.bas
   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: 
5748174 [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:11:23