{ INSTALLER Param 1 : Path to where .LZH files reside 2 : Path to install to. 3 (optional) : Where LHA.EXE program resides, default is C:\DOS All of the LZH files in the directory shall be unpacked to the install directory. } Uses CRT, DOS; Var DirInfo: SearchRec; Archive_Loc : char; LhaPath: pathstr; LZH_Count: byte; LZH_Name: string[8]; {$M 4000,0,0} Begin If ParamCount in[2,3] Then Begin TextBackground(Blue); TextColor(White); ClrScr; TextBackground(LightGray); TextColor(Black); ClrEol; Writeln('LHArc INSTALLER (C) 1994 Scott Tunstall. All rights reserved.'); Writeln; TextBackground(Blue); TextColor(LightGray); Writeln('Installing .LZH files FROM : ', ParamStr(1)); Writeln(' TO : ', ParamStr(2)); { O.K. That's the end of the niceness. } If ParamCount=3 Then Begin LhaPath:=Paramstr(3); If LhaPath[Length(LHAPath)]<>'\' Then LhaPath:=LhaPath+'\'; End Else LhaPath:='C:'; Writeln; Writeln; Writeln('Looking for LHA.EXE in directory ',LHAPath,'..'); If Fsearch('LHA.EXE',LHAPath)<>'' Then Begin LZH_Count:=0; LZH_Name:=ParamStr(1)+'*.LZH'; FindFirst(LZH_Name,AnyFile,DirInfo); If DosError <>0 Then Writeln('Could not find any .LZH files ! Check your SOURCE PATH !') Else Begin While (DosError = 0) do Begin SwapVectors; Exec(LhaPath+'LHA.EXE','e '+ParamStr(1)+DirInfo.Name+' '+ParamStr(2)); SwapVectors; If DosError = 0 Then Begin Inc(LZH_Count); FindNext(DirInfo); End Else Begin Writeln; Writeln('A DOS error has occurred!. Program execution halted.'); End; End; Writeln; Writeln; Writeln(LZH_Count,' archive(s) transferred. All done!'); End; End Else Begin Writeln; Writeln('Could not find LHA.EXE, the Main Archival Program.'); Writeln('Please check that it is in the appropriate directory!'); Writeln; End; End Else Begin Writeln; Writeln('LZH UNPACKER (C) 1994 SCOTT "TOODY" TUNSTALL'); Writeln; Writeln; Writeln('Usage :'); Writeln; Writeln('DECRUNCH [path to LHA program]'); Writeln; Writeln('i.e. To decrunch all .LZH files in directory A:\WORK'); Writeln('to directory C:\GAMES you would type :'); Writeln; Writeln('DECRUNCH A:\ C:\GAMES\ <- REMEMBER THE BACKSLASH "\" !'); Writeln; Writeln; Writeln('Finally, the last parameter is the PATH to where the LHA'); Writeln('program resides on disk. It should ALWAYS be on a fixed'); Writeln('disk (hard disk) system where it can be continually accessed.'); Writeln('The DEFAULT PATH is C:, which means this param is optional !'); Writeln; Writeln; Writeln('Finally, hello to all the guys at Lauder College who love to'); Writeln('go out and get STEAMIN!.'); Writeln; End; End.