常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)

Posted fansizhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)相关的知识,希望对你有一定的参考价值。

TMaskEdit组件使用更多的是需要对输入的文本指定格式。

属性:

1、EditMask属性:用于指定用户输入时必须遵循的掩码格式,如果用户输入的字符不符合格式要求,编辑框将不接受这个字符,知道符合为止。

示例:通过EditMask显示当前的日期时间

procedure TForm1.Button1Click(Sender: TObject);
begin
  MaskEdit1.EditMask:= !0000-09-09 90:00;1;_;
  MaskEdit1.Text:= DateTimeToStr(Now);
end;

 

2、用TmaskEdit组件建立的编辑框内的文字既可以通过Text属性方问,也可以通过EditText 属性方问,不过稍有区别,Text 属性只包含用户实际输入的字符,

而EditText 是及格过格式化后得文字,如果用户没有输入完整,EditText 属性中将包含代表空白字符的符号。

 

3、PasswordChar属性:可以设置掩码的显示样式,通过该属性可以很好的实现密码框。

procedure TForm1.Button1Click(Sender: TObject);
begin
  MaskEdit1.EditMask:= 123456789;
  MaskEdit1.PasswordChar:=*;
end;

 

掩码格式理解:

掩码字符串EditMask属性分为3个部分,分别用分号隔开,形式是“XXXXX;X;X”

技术图片

 

 

第一部分是掩码本身,也就是数据输入格式。 在这一部分用一些特殊的格式符来表示应输入的字符类型及格式.

第二部分只有0和1两种选择。EditText和Text 属性都可以用来读取用户输入的数据。当掩码字符串第2部分为1时,EditText和Text属性的值是相同的(值等于编辑框完整内容)。

当掩码字符串第2部分为0时,EditText为整个编辑框中显示的所有字符,而Text属性的值只包含用户输入的部分。

第三部分用于表示数据中的空位用哪个字符代替显示。

常用的特殊格式符有:


!去掉输入数据开头的空格符
> 让输入数据的字母都变成大写,直到遇上掩码字符<
<  让输入数据的字母都变成小写,直到遇上掩码字符>
<>  不限制输入数据字母是大写或小写
/  若在输入格式内加入某个特殊字符,只要在特殊字符的前面加上此掩码就可以。(其实不加也可以)
L  允许输入英文字母,而且一定要输入
l  允许输入英文字母,不一定要输入
A  允许输入英文字母和阿拉伯数字,一定要输入
a  允许输入英文字母和阿拉伯数字,不一定要输入
C  允许输入任何字符,一定要输入
c  允许输入任何字符,不一定要输入
0  允许输入阿拉伯数字,一定要输入
9  允许输入阿拉伯数字,不一定要输入
#  允许输入阿拉伯数字或正、负号字符
:  (冒号)用来分隔时间数据中的时、分、秒
/  用来分隔日期数据中的年、月、日

 例如:我们要实现带区号的电话号码,那么可以    !/(9999/)999999;1;_   

“! ”将前面的空格去掉。

“/( ”区号的左括号。因为括号是特殊字符,所以在前面加“/”,(其实不加也是可以的)。

“9999”,区号的4个号码,当然若改成“0000”,则用户一定要输入区号。

“/)”区号的右括号。

“999999”,电话的6个号码。

“;”第一部分和第二部分的分隔。

“1”将输入后的区号括号做为数据的一部分。若“0”,则括号不做为数据一部分,即得到的数据是区号和电话号码直接相连(没有括号)。

“;”第二部分和第三部分的分隔。

“_”等待用户输入时显示的字符。

最后控件的显示结果为:(____)______

   又例如:时间可以为 !90:00;1;_  ;IP地址可以为 !000/.000/.000/.000;1;_

以上是关于常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)的主要内容,如果未能解决你的问题,请参考以下文章

文本组件

常用表单 组件封装

QT软件开发之基础控件--2.4.1 lineEdit单行文本编辑器

JavaSE基础(十 二 )---<GUI>标签,文本框,菜单,密码框组件||事件处理,对话框

Delphi 之 编辑框控件(TEdit)

windows程序单行文本编辑框的添加