tesidos.pp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. {
  2. $Id$
  3. Program to test DOS unit by Peter Vreman.
  4. Only main TP functions are tested (nothing with Interrupts/Break/Verify).
  5. }
  6. {$V-}
  7. program tesidos;
  8. uses dos;
  9. procedure TestInfo;
  10. var
  11. dt : DateTime;
  12. ptime : longint;
  13. wday : word;
  14. HSecs : word;
  15. begin
  16. writeln;
  17. writeln('Info Functions');
  18. writeln('**************');
  19. writeln('Dosversion : ',lo(DosVersion),'.',hi(DosVersion));
  20. GetDate(Dt.Year,Dt.Month,Dt.Day,wday);
  21. writeln('Current Date : ',Dt.Month,'-',Dt.Day,'-',Dt.Year,' weekday ',wday);
  22. GetTime(Dt.Hour,Dt.Min,Dt.Sec,HSecs);
  23. writeln('Current Time : ',Dt.Hour,':',Dt.Min,':',Dt.Sec,' hsecs ',HSecs);
  24. PackTime(Dt,ptime);
  25. writeln('Packed like dos: ',ptime);
  26. UnpackTime(ptime,DT);
  27. writeln('Unpacked again : ',Dt.Month,'-',Dt.Day,'-',Dt.Year,' ',Dt.Hour,':',Dt.Min,':',Dt.Sec);
  28. writeln;
  29. write('Press Enter');
  30. Readln;
  31. end;
  32. procedure TestEnvironment;
  33. var
  34. i : longint;
  35. begin
  36. writeln;
  37. writeln('Environment Functions');
  38. writeln('*********************');
  39. writeln('Amount of environment strings : ',EnvCount);
  40. writeln('GetEnv TERM : ',GetEnv('TERM'));
  41. writeln('GetEnv HOST : ',GetEnv('HOST'));
  42. writeln('GetEnv PATH : ',GetEnv('PATH'));
  43. writeln('GetEnv SHELL: ',GetEnv('SHELL'));
  44. write('Press Enter for all Environment Strings using EnvStr()');
  45. Readln;
  46. for i:=1 to EnvCount do
  47. writeln(EnvStr(i));
  48. write('Press Enter');
  49. Readln;
  50. end;
  51. procedure TestExec;
  52. begin
  53. writeln;
  54. writeln('Exec Functions');
  55. writeln('**************');
  56. write('Press Enter for an Exec of ''ls -la''');
  57. Readln;
  58. {$ifdef linux }
  59. Exec('ls','-la');
  60. {$else not linux }
  61. SwapVectors;
  62. Exec('ls','-la');
  63. SwapVectors;
  64. {$endif not linux }
  65. write('Press Enter');
  66. Readln;
  67. end;
  68. procedure TestDisk;
  69. var
  70. Dir : SearchRec;
  71. begin
  72. writeln;
  73. writeln('Disk Functions');
  74. writeln('**************');
  75. writeln('DiskFree 0 : ',DiskFree(0));
  76. writeln('DiskSize 0 : ',DiskSize(0));
  77. {writeln('DiskSize 1 : ',DiskSize(1)); this is a: on dos ??! }
  78. writeln('DiskSize 1 : ',DiskSize(3)); { this is c: on dos }
  79. {$IFDEF LINUX}
  80. AddDisk('/fd0');
  81. writeln('DiskSize 4 : ',DiskSize(4));
  82. {$ENDIF}
  83. write('Press Enter for FindFirst/FindNext Test');
  84. Readln;
  85. FindFirst('*.*',$20,Dir);
  86. while (DosError=0) do
  87. begin
  88. Writeln(dir.Name,' ',dir.Size);
  89. FindNext(Dir);
  90. end;
  91. write('Press Enter');
  92. Readln;
  93. end;
  94. procedure TestFile;
  95. var
  96. test,
  97. name,dir,ext : string;
  98. begin
  99. writeln;
  100. writeln('File(name) Functions');
  101. writeln('********************');
  102. {$ifdef linux }
  103. test:='/usr/local/bin/ppc.so';
  104. writeln('FSplit(',test,')');
  105. FSplit(test,dir,name,ext);
  106. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  107. test:='/usr/bin.1/ppc';
  108. writeln('FSplit(',test,')');
  109. FSplit(test,dir,name,ext);
  110. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  111. test:='mtools.tar.gz';
  112. writeln('FSplit(',test,')');
  113. FSplit(test,dir,name,ext);
  114. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  115. Writeln('Expanded dos.pp : ',FExpand('dos.pp'));
  116. Writeln('Expanded ../dos.pp : ',FExpand('../dos.pp'));
  117. Writeln('Expanded /usr/local/dos.pp : ',FExpand('/usr/local/dos.pp'));
  118. Writeln('Expanded ../dos/./../././dos.pp : ',FExpand('../dos/./../././dos.pp'));
  119. test:='../;/usr/;/usr/bin/;/usr/bin;/bin/;';
  120. {$else not linux }
  121. test:='\usr\local\bin\ppc.so';
  122. writeln('FSplit(',test,')');
  123. FSplit(test,dir,name,ext);
  124. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  125. test:='\usr\bin.1\ppc';
  126. writeln('FSplit(',test,')');
  127. FSplit(test,dir,name,ext);
  128. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  129. test:='mtools.tar.gz';
  130. writeln('FSplit(',test,')');
  131. FSplit(test,dir,name,ext);
  132. writeln('dir: ',dir,' name: ',name,' ext: ',ext);
  133. Writeln('Expanded dos.pp : ',FExpand('dos.pp'));
  134. Writeln('Expanded ..\dos.pp : ',FExpand('..\dos.pp'));
  135. Writeln('Expanded \usr\local\dos.pp : ',FExpand('\usr\local\dos.pp'));
  136. Writeln('Expanded ..\dos\.\..\.\.\dos.pp : ',FExpand('..\dos\.\..\.\.\dos.pp'));
  137. test:='..\;\usr\;\usr\bin\;\usr\bin;\bin\;';
  138. {$endif not linux}
  139. test:=test+getenv('PATH');
  140. {$ifdef linux}
  141. Writeln('FSearch ls: ',FSearch('ls',test));
  142. {$else not linux}
  143. Writeln('FSearch ls: ',FSearch('ls.exe',test));
  144. {$endif not linux}
  145. write('Press Enter');
  146. Readln;
  147. end;
  148. begin
  149. TestInfo;
  150. TestEnvironment;
  151. TestExec;
  152. TestDisk;
  153. TestFile;
  154. end.