Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Delphi检查字符串是否为有效的Windows文件夹名称?_Windows_Delphi_Directory_Delphi Xe - Fatal编程技术网

如何使用Delphi检查字符串是否为有效的Windows文件夹名称?

如何使用Delphi检查字符串是否为有效的Windows文件夹名称?,windows,delphi,directory,delphi-xe,Windows,Delphi,Directory,Delphi Xe,可能重复: 我需要从用户的文本创建一个文件夹(unicode字符串类型)。 windows下文件夹名称的某些字符是非法字符 您知道检查文件夹名称是否有效的Delphi函数吗? 或者最好的,将字符串转换为有效的文件夹名称(剥离或转换无效字符) 谢谢你的帮助 编辑:请参阅下面关于非法关键字的注释。有关详细信息,请参阅StackOverFlow答案 希望这有助于和有什么你正在寻找 编辑:按流行需求删除About.com链接!如果您需要该链接,请查看注释您可以使用StrUtils单元中的Contain

可能重复:

我需要从用户的文本创建一个文件夹(unicode字符串类型)。 windows下文件夹名称的某些字符是非法字符

您知道检查文件夹名称是否有效的Delphi函数吗?
或者最好的,将字符串转换为有效的文件夹名称(剥离或转换无效字符)

谢谢你的帮助


编辑:请参阅下面关于非法关键字的注释。

有关详细信息,请参阅StackOverFlow答案

希望这有助于和有什么你正在寻找


编辑:按流行需求删除About.com链接!如果您需要该链接,请查看注释

您可以使用
StrUtils
单元中的
ContainsStr
ReplaceStr
轻松完成此操作。我不知道是否有API方法,也许其他人可以回答这个问题。

你可以试试这段代码

if CreateDir(DirectoryName) then
begin
  Showmessage('Valid directory name and directory created');
end
else
begin
  Showmessage('Failed');
end; 

重要提示:这不仅仅是一个禁止字符的问题,还有非法单词:“CON”,“COM”,“LPT”,“NUL”,“PRN”,“AUX”。。。我必须手动检查吗?@TridenT我不知道有哪个函数会给你这些非法名称。你有什么文件可以把他们说出来吗?检查时,请记住在INSTIVE
SameText
中使用用例@三叉戟这个问题是重复的(见上面的评论),因为它发生了。迪格找到了原物。Alexandre给出的答案应该能帮你完成任务。@TridenT-你缺少需求。你打算打开一个文件吗?写验证它是否存在?在这组需求下,CON、COM、LPT等仍然是有效的文件名,您不能使用它们来命名文件。创建一个名为“C:\”的文件也是如此——这是有效的,但不能用它来命名文件。请说得更具体些。@Leonardo,正如我写的:从字符串创建文件夹。这不是一个好的解决方案,因为创建目录可能会由于其他原因失败(例如访问权限)。在这里无法区分这一点。除此之外,OP还提到修改文件夹名称。这不是否决投票的动机。OP声明他想要创建目录;因为无法做到这一点而失败其实是意料之中的事,不是吗?我没有投反对票。似乎有人投了这个票来弥补落选。第一个答案看起来是一个很好的开始。about.com的答案太糟糕了。@Leonardo Herrera-我加了两个来表示完整性第一个值a+1,但在我看来第二个值a-1:-)about.com链接-