System.MasksユニットからTMaskを使用するとき、私は異なるファイル名(または他の文字列)のセットをフィルタリングできるかどうか疑問に思いました。もしそうなら、どうやって* .fooと* .barのようなものをフィルタリングできますか?MatchesMaskを使用していくつかの異なるファイル名をフィルタリングする
';'異なるフィールド間で(明らかに、ソースコードを読んだ後に)動作しません。
*。[fb] [oa] [or]のように* .fooと* .barファイルをフィルタリングすることもできますが、* .far、* .booなどもフィルタリングします。
これまでのところ、元のソースコードを完全に理解する時間はありませんでした。特に私は 'msMBCSLiteral'が何のために使われているのだろうかと思います。この場合、これは役に立ちますか?または、これを達成するための他の方法がありますか?
PS:私は他の方法でフィルタリングを解決する方法について知っています(フィルタリング用のカスタムコードを書きます)。しかし、既存のコードを再利用したいので、TMaskを使いたいと思っています。
私はこれが不可能であると確信しています。明示的に述べているドキュメントは見つかりませんが、MatchesMaskの説明に従っているようです。また、この質問への回答でも述べられています:http://stackoverflow.com/questions/12726756/how-to-pass-multiple-file-extensions-to-tdirectory-getfiles – DNR
正規表現は利用できませんか? 'Masks'だけでなく、' System.Masks'の使用に応じて、最近のバージョンのDelphiを使用しています。この場合、正規表現は本当に簡単です。 –