HasValidFileNameChars对UNC文件失败

时间:2015-06-17 13:39:14

标签: delphi delphi-xe delphi-xe7

对我来说,HasValidFileNameChars函数(在Delphi XE7中)为UNC文件返回false:

B:= IOUtils.TPath.HasValidFileNameChars('\\ETA-PC\tests\test.ini', FALSE)          
B is false now

这意味着如果您尝试验证我在测试中显示的文件名(是的,该文件是真实的,并且您可以看到它的名称是正确的)HasValidFileNameChars将失败。 HasValidPathChars工作!
这是正常的吗?

- 编辑:

在“帮助”页面中,第一个参数名为' path'。这使我相信该功能将接受完整的路径。

引用:

 Name        Meaning         
 Path        The verified file name string.

2 个答案:

答案 0 :(得分:5)

使用HasValidPathChars代替HasValidFileNameChars。文件名不能包含反斜杠。

答案 1 :(得分:3)

该函数的行为正确,因为\不是文件名的有效字符。它是路径分隔符。

这里的区别在于文件名和路径。使用您的示例,\\ETA-PC\tests\test.ini是一个路径,但文件名为test.ini

我怀疑您正在寻找HasValidPathChars