DirTest.Mod 688 B

12345678910111213141516171819202122232425
  1. MODULE DirTest;
  2. IMPORT Dir, Out;
  3. PROCEDURE Do;
  4. VAR r: Dir.Rec;
  5. BEGIN
  6. Dir.First(r, 'C:\'); IF r.res # 0 THEN Dir.First(r, '.') END;
  7. IF r.res = 0 THEN (* Есть такой каталог *)
  8. WHILE ~r.eod DO (* Выводим только каталоги *)
  9. IF r.isDir THEN Out.Char('['); Out.String(r.name); Out.Char(']'); Out.Ln END;
  10. Dir.Next(r)
  11. END;
  12. Dir.Rewind(r); (* Возвращаемся и *)
  13. WHILE ~r.eod DO (* выводим только файлы *)
  14. IF ~r.isDir THEN Out.String(r.name); Out.Ln END;
  15. Dir.Next(r)
  16. END;
  17. Dir.Close(r)
  18. ELSE Out.String('Could not find directory.'); Out.Ln
  19. END
  20. END Do;
  21. BEGIN
  22. Do
  23. END DirTest.