MaskEdit 就是 Tedit的擴展組件 MaskEdit可以限制用戶只能按照既定的輸入格式輸入.
MaskEdit是用來建立編輯框的,但它與Edit編輯框可以輸入任意字符不同,MaskEdit可以限制用戶只能按照既定的輸入格式輸入。掩碼編輯框(MaskEdit)是一種特殊的編輯框。使用它可以設(shè)計出許多復雜的輸入格式。在選用MaskEdit之后,需要為它設(shè)計一個輸入格式。方法如下:
首先在窗體上將MaskEdit選中,在對象查看器(Object Inspector)中找到EditMask屬性,雙擊它,彈出一個如下圖所示的對話框。
對話框左上角的Input Mask編輯框用于輸入掩碼格式。掩碼格式可以分為三部分,每個部分之間用分號“;”分開,如“!90:90:90:;1;_ ”。下面解釋各輸入格式符的意義:
1. 輸入格式的第一部分是掩碼本身,也就是數(shù)據(jù)輸入格式。在這一部分用一些特殊的格式符來表示應輸入的字符類型及格式,如“!l0A9:C>ll<”這樣一串輸入格式掩碼。常用的MaskEdit輸入格式符有:
掩碼字符表
! 去掉輸入數(shù)據(jù)開頭的空格符
> 讓輸入數(shù)據(jù)的字母都變成大寫,直到遇上掩碼字符<
< 讓輸入數(shù)據(jù)的字母都變成小寫,直到遇上掩碼字符>
<> 不限制輸入數(shù)據(jù)字母是大寫或小寫
\ 若在輸入格式內(nèi)加入某個特殊字符,只要在特殊字符的前面加上此掩碼就可以。
L 允許輸入英文字母,而且一定要輸入
l 允許輸入英文字母,不一定要輸入
A 允許輸入英文字母和阿拉伯數(shù)字,一定要輸入
a 允許輸入英文字母和阿拉伯數(shù)字,不一定要輸入
C 允許輸入任何字符,一定要輸入
c 允許輸入任何字符,不一定要輸入
0 允許輸入阿拉伯數(shù)字,一定要輸入
9 允許輸入阿拉伯數(shù)字,不一定要輸入
# 允許輸入阿拉伯數(shù)字或正、負號字符
: 用來分隔時間數(shù)據(jù)中的時、分、秒
/ 用來分隔日期數(shù)據(jù)中的年、月、日
; 用來分隔掩碼字段
_ 代表空格符,運行時顯示下劃線字符
2. 在輸入格式中的第二部分只有0和1兩種選擇。如為1,則掩碼中的非用戶輸入數(shù)據(jù)和標準分隔符等其它各種字符會作為數(shù)據(jù)的一部分保存;為0則不保存。
3. 輸入格式的第三部分用于表示數(shù)據(jù)中的空位用哪個字符代替顯示。
例:電話號碼 !\(9999\)999999999;l;_ 日 期 !0000/99/99;l;_ 其中第三部分的_是顯示時空位的表示,可用其他字符替代。 ^是表示是否在text總保留分隔符。又例如要輸入一個汽車牌號如CA-300019 。該數(shù)據(jù)前兩位為字母且為大寫,第三位為一個系統(tǒng)分隔符號,后6位為數(shù)字?梢赃@樣設(shè)計掩碼格式:!>LL/000000;1;_ 掩碼的第二部分取為1表示系統(tǒng)分隔符‘-’也將作為數(shù)據(jù)保存。第三部分的“_”表示在掩碼編輯框中為空時,用“_”來表示空位。我們也可以用空格來標識空位。又如一個郵編如PO-100083,其中PO表示郵政,是每個郵政編碼中都有的前綴,可以這樣設(shè)計掩碼格式:!PO/000000;1;_
MaskEdit還有一個重要的方法ValidateEdit(),可以檢查你輸入的文本內(nèi)容是否符合MaskEdit的格式要求,要是不符合,返回重新輸入。
附加內(nèi)容:【Text】、【EditText】的使用。如果要返回帶格式的文本,那只能用EditText,要是檢查這個文本是否為空那就要用Text。