Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:12:00
Delphi格式输入组件(TMaskEdit)使用实例

Delphi格式输入组件(TMaskEdit)使用实例

格式输入组件(TMaskEdit)

TMaskEdit 组件可以显示、编辑具有指定格式的文本,如6 位数字的邮政编码、固定格式的电话号码等。

1.TMaskEdit 组件的典型用法

可以通过EditMask 属性来设置输入的格式。单击EditMask 属性右面的省略号“?”按钮,将弹出Input Mask Editor 对话框,在其中可以设置需要的输入要求和格式。在设计时,要修改EditMask 属性,可在Object Inspector 中单击EditMask 属性旁的省略号“?”按钮,将显示“Input Mask”编辑器。

在“Input Mask”编辑器中,一些特殊的字符用于屏蔽字符串。

·! 如果“!”存在,任意字符出现在EditText 的前面空格,如果“!”不存在,任意字符出现在EditText

后面的空格中

·> 使“>“符号之后的字母变为大写字母,直到结束或遇到“<”符号为止

·< 使“<”符号之后的字母变为小写字母,直到结束或遇到“>”符号为止

·<> 如果<>这两个符号同时出现,不检查大小写

· 跟在该符号之后的字符,可以是屏蔽字符的特殊字符

·L 在该位置要求一个字母字符,如A-Z,a-z

·l 允许一个字母字符在该位置,但不必要

·A 要求一个字母数字字符在该位置,如A-Z、a-z 和0-9

·a 允许一个字母数字字符在该位置,但不必要

·C 要求一个任意的字符在该位置

·c 允许一个任意的字符在该位置,但不必要

·0 要求一个数字字符在该位置

·9 允许一个数字字符在该位置,但不必要

·# 允许一个数字字符或“+”、“-”号在该位置,但不必要

·: 该符号用于分隔时间、分、秒

·/ 用于分割年、月、日

·; 分割屏蔽字符串中的3 段

·_ 自动在文本中插入空格

可以在“Input Mask”框内用Delphi 提供的格式化符号自己定义一个格式,也可以在“Samples Masks”框内选择一个预设的格式。

默认情况下,“Samples Masks”框内列出的是美国的输入格式,可以单击“Masks”按钮打开含有另一个地区格式的文件(扩展名是.dem)。

如果选中“Save Litcral Characters”复选框,Text 属性和EditText 属性一样,都是编辑框中格式化过的内容。如果不选中“Save Literal Characters”复选框,Text 属性只是编辑框中实际键入的字符,不带格式,而EditText 属性总是带格式的。

“Character for Blanks”框用于指定代表空白的字符,默认为“_”。凡是空白的地方表示需要用户输入字符。

2.TMaskEdit 组件的重要属性

·EditMask 用于指定用户输入时必须遵循的格式

·EditText 可以访问编辑框的文字,而且是格式化后的文字

·MaxLength 设置能在编辑框中出现的字符数

下面介绍程序中TMaskEdit 组件的常用属性。

(1)EditMask 属性

EditMask 属性用于指定用户输入时必须遵循的格式,按照上面典型用法进行设置即可。

(2)EditText 属性

用TMaskEdit 建立的编辑框内的文字既可以通过Text 属性访问,又可以通过EditText 属性访问,不过这两者之间稍有区别。Text 属性中只包含用户实际输入的字符,而EditText 是经过格式化后的文字,如果用户没有输入完整,EditText 属性中包含代表空白字符的符号。

(3)MaxLength 属性

此属性用于设置能在编辑框中出现的字符数。换句话说,就是EditText 属性的最大长度,这主要是用于没有设置EditMask 的情况。如果已经设置了EditMask 属性,最大长度由格式本身限制,此时不允许修改MaxLength 属性。

3.TMaskEdit 组件的重要方法

·Clear 此过程用于把编辑框中用户键入的字符全部删掉

·GetTextLen 返回编辑框中文本格式化之前的长度

下面介绍程序中TMaskEdit 组件常用的方法。

Clear 方法是每个编辑组件常用的方法,它将编辑框中用户输入的字符全部删除。例如在编辑框内的预设格式为日期型“__-__-__”,用户在键入日期后使用Clear 方法可以将编辑框的内容再返回到“__-__-__”格式。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759