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