当从单元System.Masks使用TMask时,我想知道是否可以过滤一组不同的文件名(或任何其他字符串)。如果是这样,我如何过滤* .foo和* .bar之类的东西?使用MatchesMask过滤几个不同的文件名
使用';'在不同的领域之间不工作(显然,在阅读源代码后)。
尽管有类似*。[fb] [oa] [或]可以过滤* .foo和* .bar文件,它也会过滤* .far,* .boo等。
到目前为止我还没有时间完全理解原始的源代码。特别是我想知道'msMBCSLiteral'用于什么。这可以在这种情况下有用吗?还有其他方法可以实现吗?
PS:我知道如何通过其他方式解决过滤(为过滤编写一些自定义代码)。但是,因为我想重用一些已经存在的代码,所以我想使用TMask。
我很确定这是不可能的。我找不到明确说明这一点的文档,但似乎是从MatchesMask的描述开始。这也是在这个问题的接受答案中声明:http://stackoverflow.com/questions/12726756/how-to-pass-multiple-file-extensions-to-tdirectory-getfiles – DNR
是否提供正则表达式?根据你对'System.Masks'的使用,而不仅仅是'Masks',你正在使用最新版本的Delphi。在这种情况下,正则表达式会非常简单。 –