GPFiles.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* ------------------------------------------------------------ */
  2. // Body of GPFiles interface.
  3. // This file implements the code of the GPFiles.cp file.
  4. // dwc August 1999. COOL version kjg May 2000
  5. // kjg September 2000. Stripped version as abstract base class.
  6. // kjg March 2001. Version for Beta-2 libraries.
  7. /* ------------------------------------------------------------ */
  8. namespace GPFiles {
  9. public abstract class GPFiles {
  10. public static char pathSep = ';';
  11. public static char fileSep = '\\';
  12. public static char optChar = '/';
  13. /* ---------------------------------- */
  14. private static System.String mkStr(char[] arr) {
  15. int ix = 0;
  16. char ch;
  17. do {
  18. ch = arr[ix]; ix++;
  19. } while (ch != '\0');
  20. return new System.String(arr,0,ix-1);
  21. }
  22. /* ---------------------------------- */
  23. public static bool isOlder(FILE first, FILE second) {
  24. int comp = System.DateTime.Compare(
  25. System.IO.File.GetLastWriteTime(first.path),
  26. System.IO.File.GetLastWriteTime(second.path)
  27. );
  28. return comp == -1;
  29. }
  30. public static void MakeDirectory(char[] dirName) {
  31. System.String path = mkStr(dirName);
  32. System.IO.Directory.CreateDirectory(path);
  33. }
  34. public static char[] CurrentDirectory() {
  35. return System.IO.Directory.GetCurrentDirectory().ToCharArray();
  36. }
  37. public static bool exists(char[] filName) {
  38. System.String path = mkStr(filName);
  39. return System.IO.File.Exists(path);
  40. }
  41. public static char[][] FileList(char[] dirPath) {
  42. string dirStr = mkStr(dirPath);
  43. string[] files = System.IO.Directory.GetFiles(dirStr);
  44. if (files == null || files.Length ==0) return null;
  45. else {
  46. char[][] rslt = new char[files.Length][];
  47. for (int i = 0; i < files.Length; i++)
  48. rslt[i] = files[i].ToCharArray();
  49. return rslt;
  50. }
  51. }
  52. } // end of class GPFiles
  53. /* ------------------------------------------------------------ */
  54. public abstract class FILE {
  55. public System.String path;
  56. } // end of class GPFiles.FILE
  57. /* ------------------------------------------------------------ */
  58. } // end of NameSpace GPFiles
  59. /* ------------------------------------------------------------ */