掩碼編輯框(MaskEdit)是一種特殊的編輯框。使用它可以設計出許多復雜的輸入 格式。在選用MaskEdit之後,需要為它設計一個輸入格式。方法如下:
首先在窗體上將MaskEdit選中,在對象查看器(Object Inspector)中找到EditMask屬性,雙擊它,彈出一個如下圖所示的對話框。
對話框左上角的Input Mask編輯框用於輸入掩碼格式。掩碼格式可以分為三部分,每個部分之間用分號“;”分開,如“!90:90:90:;1;_ ”。下面解釋各輸入格式符的意義:
1. 輸入格式的第一部分是掩碼本身,也就是數據輸入格式。在這一部分用一些特殊的格式符來表示應輸入的字符類型及格式,如“!l0A9:C>ll<”這樣一串輸入格式掩碼。常用的MaskEdit輸入格式符有:
格式符 意義 l和L l表示該位置只可能是一個字母,可以用光標鍵跳過它,但是不能是其它類型的字符。L該位置必須是一個字符。 a和A a表示該位置只可能是一個字母或數字字符。A表示該位置必須是一個字母或數字字符。 c和C c表示該位置只可能是一個字母,C表示該位置必須有一個字母。 9和0 9表示該位置只可能是一個數字,0表示該位置必須有一個數字。 〈和〉 <格式符表示隨後的字母均以小寫的形式顯示,直到遇到一個>格式字符或<>格式符。>格式符則和<正好相反。 〈〉 表示不作大小寫轉換,以輸入時的形式為准。 \ 表示該格式符之後的那個掩碼格式符將作為數據中的普通字符對待。當用戶想在數據中放進一個掩碼格式符時,應該在這個格式符前放一個\符號。如\A,\\等等。 # 表示該位置可能是一個數字或正符號。 ! 如有!表示數據前的空格將不被保存在數據中,沒有!則數據後的空格不被保存。!格式符只能放在掩碼格式符的第一個字符處。 ;和/ 標准的分隔符,可作為數據的一部分。其中/在顯示時為‘-’而非/。2. 在輸入格式中的第二部分只有0和1兩種選擇。如為1,則掩碼中的非用戶輸入數據和標准分隔符等其它各種字符會作為數據的一部分保存;為0則不保存。
3. 輸入格式的第三部分用於表示數據中的空位用那個字符代替顯示。
在有了上述知識後,現在來設計一個例子。例如要輸入一個汽車牌號如CA-300019 。該數據前兩位為字母且為大寫,第三位為一個系統分隔符號,後6位為數字。可以這樣設計掩碼格式:
!>LL/000000;1;_
掩碼的第二部分取為1表示系統分隔符‘-’也將作為數據保存。第三部分的“_”表示在掩碼編輯框中為空時,用“_”來表示空位。我們也可以用空格來標識空位。
又如一個郵編如PO-100083,其中PO表示郵政,是每個郵政編碼中都有的前綴,可以這樣設計掩碼格式:
!PO/000000;1;_
在掩碼設計對話框的右側是Sample Masks,這裡有系統預設的常用的掩碼格式,如電話號碼(Phone)、日期(Date)等。我們可以選擇一個,然後進行必要的調整。對話框左下部是一個Test Input欄,我們可以在這裡輸入字符,以檢測輸入格式是否令人滿意。