avxtestfilecmp.pp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. program avxtestfilecmp;
  2. {$mode objfpc}
  3. uses
  4. sysutils,
  5. filecomparer in 'filecomparer.pas',
  6. cmpoptions in 'cmpoptions.pas';
  7. var
  8. ch: Char;
  9. sm: String;
  10. begin
  11. with TFileComparer.Create do
  12. try
  13. with TOptions.Create do
  14. try
  15. LoadParams;
  16. if Help then
  17. begin
  18. writeln('avx-testfile-generator 0.1');
  19. writeln('author: torsten grundke');
  20. writeln('');
  21. writeln('compare avx-assembler-testfiles');
  22. writeln('');
  23. writeln('-h help');
  24. writeln('-m sourcefile mask');
  25. writeln('-n sourcefile extension');
  26. writeln('-d destination path');
  27. writeln('-e destinationfile extension');
  28. writeln('-s silent');
  29. writeln('');
  30. {$IFDEF WINDOWS}
  31. writeln('examples: -mc:\tmp\*.obj -dc:\tmp\avx\ -eexe');
  32. writeln(' -m/tmp/* -n -d/tmp/avx/ -e');
  33. {$ELSE}
  34. writeln('examples: -m/tmp/*.obj -d/tmp/avx/ -ebin');
  35. writeln(' -m/tmp/* -n -d/tmp/avx/ -e');
  36. {$ENDIF}
  37. writeln;
  38. end
  39. else
  40. begin
  41. sm := SourceMask;
  42. if ExtractFileExt(sm) = '' then
  43. begin
  44. if trim(SourceFileExtension) <> '' then
  45. begin
  46. if copy(SourceFileExtension, 1, 1) <> '.' then sm := sm + '.' + SourceFileExtension
  47. else sm := sm + SourceFileExtension;
  48. end;
  49. end;
  50. if (ExtractFilePath(sm) = DestPath) and
  51. (DestFileExtension = '') then
  52. begin
  53. writeln(format('Do you want compare the same files (sourcepath: "%s" destination path: "%s"). [Y/N]',
  54. [ExtractFilePath(sm), DestPath]));
  55. read(ch);
  56. if ch in ['Y', 'y', 'J', 'N'] then CompareFiles(NoSourceFileExtension, NoDestFileExtension, Silent,
  57. sm, DestPath, DestFileExtension);
  58. end
  59. else CompareFiles(NoSourceFileExtension, NoDestFileExtension, Silent,
  60. sm, DestPath, DestFileExtension);
  61. end;
  62. finally
  63. Free;
  64. end;
  65. finally
  66. Free;
  67. end;
  68. end.