CSDN博客

img ch_builder

闲谈BCB(一)

发表于2003/6/18 9:27:00  1894人阅读

闲谈BCB

    

(版权要求:本文除了经过CSDN授权或作者同意,不得转载)

学习BCB也快有三年了,总想写点什么,把自己在学习中的苦与乐,学过某个难点时的快感,让大家共同体味。但又觉得这些东西对初学者又没有什么帮助,还是写点真正的对学习BCB有用的内容,但是可要声明这里只是闲谈,有些内容只能意会,不能纠根:P

乱侃MaskEdit

 MaskEdit是用来建立编辑框的,但它与Edit编辑框可以输入任意字符不同,MaskEdit可以限制用户只能按照既定的输入格式输入。这对输入一些标准格式的数据提供了很多方便。下面我们来看看它与Edit的不同之处J

EditMask属性,这个属性用来设置用户输入的格式,若用户输入的字符不符合格式要求,这个字符将被拒绝接受。

如何设置格式呢?点一下属性栏的EditMask右边的,就会弹出一个设置好格式的对话框,在那里选择你需要的格式就可以了。可是有时我们想在程序中设置,或者现有的格式根本就没有我们想要的格式,那怎么办呢?

好像在dbase中提过有什么掩码的,不清楚她有没有?答案是一定,她也有一个和dbase差不多的掩码字符表,下面我们来看看这个表:

 

掩码字符表

 

掩码字符

    

去掉输入数据开头的空格符

>

让输入数据的字母都变成大写,直到遇上掩码字符<

<

让输入数据的字母都变成小写,直到遇上掩码字符>

<>

不限制输入数据字母是大写或小写

/

若在输入格式内加入某个特殊字符,只要在特殊字符

的前面加上此掩码就可以了。说明了就和C语言中的用在printf中的那个转意字符一样,哈哈她们的模样原来也一样

L

允许输入英文字母,而且一定要输入

l

允许输入英文字母,不一定要输入

A

允许输入英文字母和阿拉伯数字,一定要输入

a

允许输入英文字母和阿拉伯数字,不一定要输入

C

允许输入任何字符,一定要输入

c

允许输入任何字符,不一定要输入

0

允许输入阿拉伯数字,一定要输入

9

允许输入阿拉伯数字,不一定要输入

#

允许输入阿拉伯数字或正、负号字符

:

用来分隔时间数据中的时、分、秒

/

用来分隔日期数据中的年、月、日

;

用来分隔掩码字段

_

代表空格符,运行时显示下划线字符

 

 

例:电话号码!/(9999/)999999999;l;_

                        !0000/99/99;l;_

Text】、【EditText】这一对难兄难弟总被人弄错,因为她们实在太象了,但她们还是有一点不一样的,如果你要返回带格式的文本,那只能用EditText,要是检查这个文本是否为空那就要用TextJ

还有一个重要的方法你不要忘记了,那就是ValidateEdit()。她是做什么的呢?检查你输入的文本内容是否符合MaskEdit的格式要求,要是不符合,没办法,返回重新输入。

哈哈这回这样的程序段你应该能看明白了

//以下只是某程序的一部分

……

MaskEdit1->EditMask=”!0000/99/99;l;”;

……

if(MaskEdit1->Text==””)

{

       ActiveControl=MaskEdit1;//把焦点给MaskEdit1

       MaskEdit1->ValidateEdit();

Label1->Caption=MaskEdit1->EditText;

……

}

我想我们只要掌握MaskEdit这些就够了,你说呢?

还有没有要说的,当然了,还是下次闲聊再说吧,和得睡觉去了J

 

 

 

 

0 0

相关博文

我的热门文章

img
取 消
img