Как проверить, указывает ли путь на корневую папку с помощью Delphi

Каков самый лучший / самый простой способ проверить, есть ли определенный путь указывает на корень диска?

Думаю, я мог бы просто проверить, заканчивается ли имя пути на '\' или ':', или если путь составляет всего 2 или 3 символа в длину, но я надеялся, что это был какой-то стандартной функции "IsDriveRoot", чтобы проверить это.

Tx

ОБНОВЛЕНИЕ:

После поиска в файле справки Delphi я обнаружил функцию ExtractFileDrive () , которая возвращает часть диска любого заданного дорожка.

Используя эту функцию, я полагаю, что легко написать небольшую функцию, чтобы проверить, совпадает ли исходный путь с результатом ExtractFileDrive (), что будет означать, что исходный путь должен быть корнем диска.

Function IsDriveRoot(APath: string): Boolean;
begin
  Result := ((Length(APath) = 2) and (ExtractFileDrive(APath) = APath))
         or ((Length(APath) = 3) and ((ExtractFileDrive(APath) + '\') = APath));
end;

или

Function IsDriveRoot(APath: string): Boolean;
begin
  Result := ((Length(APath) = 2) and (Copy(APath,2,1) = ':'))
         or ((Length(APath) = 3) and (Copy(APath,3,1) = '\'));
end;

Что-то вроде этого должно сработать ....

Я на самом деле думаю, что второй пример проще, и, вероятно, в конечном итоге буду использовать этот.

Еще раз спасибо всем, кто ответил :)

6
задан deonvn 24 February 2011 в 15:47
поделиться