[BCB] 萬用字元檢查

BCB 內建的萬用字元檢查
#include
//extern PACKAGE bool __fastcall MatchesMask(constAnsiString Filename, const AnsiString Mask)
Mask的地方填入你希望排除的字元
Filename中只要找到Mask的字就會返回TRUE
Mask有以下使用規則:(引言自BCB下的簡易萬用字元檢查)

1. 大小寫無關。無法針對大小寫來判斷。
2. [ ]用來表示一組集合,中間可以放任何的字元,如[abcxyz]表示字元是'a','b','c','x','y','z'。
  也可使用"-"代表一個範 圍。
  如[a-w]表示a到w的所有字元。
  也可以混合使用,如  [fgi-w]表示'f', 'g'及i到w中所有的字元都符合。
  如果刮號後面的第一個字元是"!"表示NOT的意思。只要不屬於後面所指定的字元就是符合。
3. ?表示任何一個字元。
4. * 表示任何字串。 
不過如果是限制只能輸入數字的話,我比較喜歡在Edit 的 KeyPress event中加上下面的code
void __fastcall TForm::TestKeyPress(TObject *Sender, wchar_t &Key)
{
     if ((Key<48 key="">57) && Key!=8)//只吃 數字 和 倒退鍵,其它鍵都吃掉
     {
         Key=0;
     }
}

留言