delphi - 如何使用Delphi检查路径是否指向根文件夹

标签 delphi

检查某个路径是否指向驱动器根目录的最佳/最简单方法是什么?

我想我可以检查路径名是否以“\”或“:”结尾,或者路径的长度是否只有 2 或 3 个字符,但我希望有某种标准的“IsDriveRoot”函数来检查一下。

发送

更新:

搜索 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;

类似的事情应该可以做到......

我实际上认为第二个例子更简单,并且可能最终会使用那个例子。

再次感谢所有回复的人:)

最佳答案

看来GetVolumePathName对您的情况非常有帮助。

关于delphi - 如何使用Delphi检查路径是否指向根文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5105497/

相关文章:

德尔福2009 : How do I prevent network application from leaking critical section?

delphi - 用于 C++ 模块的 Embarcadero RAD Studio XE 的 Comport Package Library

Delphi 类帮助器 RTTI GetMethod

delphi - 检查网页浏览器是否为空

delphi - 如何以编程方式按下与在键盘上按下完全相同的键?

delphi - 如何在IMAP邮箱中搜索特定的电子邮件?

delphi - 如何在表单窗口中嵌入 HTML 帮助

delphi - TThread 的同步行为

c# - 将C#代码转换为Delphi,SafeWaitHandle等同于什么?

Delphi - 让用户控制容器而不从现有容器继承