对我来说,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.
答案 0 :(得分:5)
使用HasValidPathChars代替HasValidFileNameChars。文件名不能包含反斜杠。
答案 1 :(得分:3)
该函数的行为正确,因为\
不是文件名的有效字符。它是路径分隔符。
这里的区别在于文件名和路径。使用您的示例,\\ETA-PC\tests\test.ini
是一个路径,但文件名为test.ini
。
我怀疑您正在寻找HasValidPathChars
。