testfsys.pas 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. { test application for FileSys
  2. make sure a file called testfile.txt (here in FName) exists;
  3. it will be deleted ! }
  4. program TestFS;
  5. uses
  6. ApiComm,
  7. Filesys;
  8. const
  9. Passes = 12;
  10. FName : string[30] = 'testfile.txt';
  11. DName : string[30] = 'test';
  12. TestNames : array[0..Passes-1] of string[30] =
  13. ('CreateDir',
  14. 'RenameDir',
  15. 'ExpandName',
  16. 'GetCurrentDir',
  17. 'DeleteDir',
  18. 'Check name',
  19. 'Set time',
  20. 'DateToString/TimeToString',
  21. 'Set attribute',
  22. 'FileAttrToString',
  23. 'FileIntToString',
  24. 'SplitName'
  25. );
  26. var
  27. i : byte;
  28. n, p, rn, e : TFileName;
  29. dt : TDateTime;
  30. attr : TFileAttr;
  31. fi : TFileInt;
  32. begin
  33. WriteLn ('TestFS - tests capabilities of unit FileSys');
  34. WriteLn ('---');
  35. i := 0;
  36. repeat
  37. { show topic }
  38. case i of
  39. 0 : WriteLn ('<DIRECTORY>');
  40. 5 : WriteLn ('<FILE>');
  41. end;
  42. { show name of action }
  43. Write (TestNames[i], ' ');
  44. { perform action }
  45. case i of
  46. 0 :
  47. begin
  48. Write ('"', DName, '"');
  49. FileSys.CreateDir (DName);
  50. end;
  51. 1 :
  52. begin
  53. Write (DName, '=> test2');
  54. RenameDir (DName, 'test2');
  55. GetErrorCode;
  56. RenameDir ('test2', DName);
  57. end;
  58. 2 :
  59. begin
  60. Write ('"', ExpandName (DName),'"');
  61. end;
  62. 3 :
  63. begin
  64. Write ('"', GetCurrentDir, '"');
  65. end;
  66. 4 :
  67. begin
  68. Write ('"', DName, '"');
  69. FileSys.DeleteDir (DName);
  70. end;
  71. { FILE }
  72. 5 :
  73. begin
  74. Write ('"', FName, '" : ');
  75. if (FileSys.CheckName (FName) = cnUnknown)
  76. then Write ('unknown')
  77. else Write ('known');
  78. end;
  79. 6 :
  80. begin
  81. Write (' 22 Jul 1997 12:34:56');
  82. with dt do begin
  83. Day := 22;
  84. Month := 7;
  85. Year := 1997;
  86. Hour := 12;
  87. Minute := 34;
  88. Second := 56;
  89. CheckDateTime (dt);
  90. end;
  91. SetFTime (FName, dt);
  92. end;
  93. 7 :
  94. begin
  95. Write (DateToString (dt), ' ', TimeToString (dt));
  96. end;
  97. 8 :
  98. begin
  99. attr := 128;
  100. SetFAttr (FName, attr);
  101. end;
  102. 9 :
  103. begin
  104. Write (FileAttrToString (attr));
  105. end;
  106. 10 :
  107. begin
  108. fi := 12345678;
  109. Write (FileIntToString (fi));
  110. end;
  111. 11 :
  112. begin
  113. {$ifdef linux}
  114. n := '/sub1/sub3.ext.ext/name.gz';
  115. {$ELSE}
  116. n := 'c:\sub1\sub3.ext.ext\name.gz';
  117. {$endif}
  118. SplitName (n, p, rn, e);
  119. Write ('"', n, '" => ',
  120. 'PATH = "', p, '", RAW NAME = "', rn,
  121. '", EXTENSION = "', e, '"');
  122. end;
  123. end;
  124. if (ApiComm.GetErrorCode = errOK)
  125. then WriteLn (' <NO ERROR>')
  126. else WriteLn (' <ERROR>');
  127. inc (i);
  128. until (i = Passes);
  129. WriteLn ('---');
  130. end.