/// sample program able to uncompres .log.synlz archived files into visualizable // .log files as created by TSynLog // - if some .synlz file name or wildchar pattern is specified as command line // parameter, it will process all matching files // - if no file name nor pattern is specified in the command line, will search // for '*.synlz' in the current folder // - uncompression will be stored in the same directory as the original .synlz // - you can make unsynlz.exe file small if you define LVCL as conditional in // the Project options and set the ..\lib\LVCL directories as expected program UnSynLz; {$APPTYPE CONSOLE} uses {$I SynDprUses.inc} // use FastMM4 on older Delphi, or set FPC threads SysUtils, SynCommons, SynLog; procedure Process(const FileName: TFileName); var SR: TSearchRec; Path: TFileName; begin if (GetFileNameExtIndex(FileName,'synlz')=0) and (FindFirst(FileName,faAnyFile,SR)=0) then try Path := ExtractFilePath(FileName); repeat if (SR.Name[1]='.') or (faDirectory and SR.Attr<>0) then Continue; write(SR.Name); if FileUnSynLZ(Path+SR.Name,Path+copy(SR.Name,1,length(SR.Name)-6),LOG_MAGIC) then writeln(' OK') else writeln(' Error'); until FindNext(SR)<>0; finally FindClose(SR); end; end; begin if paramCount>0 then Process(paramstr(1)) else Process('*.synlz'); end.