2
0

CompressionTest.dpr 1003 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. program CompressionTest;
  2. {$APPTYPE CONSOLE}
  3. {$R *.res}
  4. uses
  5. System.SysUtils,
  6. Quick.Commons,
  7. Quick.Console,
  8. Quick.Compression.LZO;
  9. const
  10. str = 'This is a test compression with LZO algorithm. Repeated words are compressed' +
  11. 'Test: Compression, Compression, Compression, Compression, Compression';
  12. var
  13. lzo : TLZOCompressor;
  14. compStr : string;
  15. decompStr : string;
  16. begin
  17. try
  18. ReportMemoryLeaksOnShutdown := True;
  19. lzo := TLZOCompressor.Create;
  20. coutFmt('Original: %s',[str],etInfo);
  21. coutFmt('Original size: %d',[str.Length],etInfo);
  22. compStr := lzo.Compress(str);
  23. coutFmt('Compressed: %s',[compStr],etInfo);
  24. coutFmt('Compressed size: %d',[compStr.Length],etInfo);
  25. decompStr := lzo.Decompress(compStr);
  26. coutFmt('Decompressed: %s',[decompStr],etSuccess);
  27. cout('Uncompressed size: %d',[decompStr.Length],etInfo);
  28. ConsoleWaitForEnterKey;
  29. lzo.Free;
  30. except
  31. on E: Exception do
  32. Writeln(E.ClassName, ': ', E.Message);
  33. end;
  34. end.