教你建立特殊数据输入框──Delphi中MaskEdit控件的使用

IT商界

  Delphi是一个比较流行的软件开发平台,它以强大的可视构件库VCL,以及便捷的数据库应用开发而深受程序员喜爱。特别是刚入门的编程新手,会为功能异常强大的控件所倾倒。它所提供的控件一般都易于使用,又能极大地提高程序员的开发效率。但也有某些控件不容易使用。例如MaskEdit就是一个非常有用,却又是不容易搞明白的控件,特别对一些刚刚入门的编程人员来说,会感到很困惑。在这里笔者将向大家详细地介绍它的使用方法。

  所用工具:Delphi 5/6/7

  用途:掩码编辑框MaskEdit和普通的编辑框有些类似,但利用掩码编辑框可以设计出许多复杂的输入格式。如日期格式,电话号码,E-mail地址等。特别是可以有效地防止用户的误输入。下面笔者就介绍MaskEdit控件具体的使用方法。在选用了MaskEdit控件后,必须为它设计一个输入格式。从控件面板上的Additional标签页上把MaskEdit控件拖放到窗体上。再将它选为当前控件,然后从右键菜单中进入如图1的输入掩码编辑器。

  相关知识

  对话框左上角的Input Mask编辑框用于编辑输入掩码的格式。标准的MaskEdit的掩码格式分为三个部分,每两部分之间用分号隔开。例如图中的“!0000/90/90;1;_”。下面详细解释各个部分的含义。

  输入的第一部分是掩码本身,也就是你想输入的格式。其中用一些特殊的格式符来表示应输入的字符类型及格式。MaskEdit的常用输入格式如下(注:每一特殊字符占据一个输入位置):

  1.l和L l表示该位置可能是一个字母,也可以用光标键跳过,但不能为其他类型的字符。L表示该位置必须有一个字母,不能为空。

  2.9和0 9表示该位置可以是一个数字,也也可以没有,0表示该位置必须有一个数字,不能为空。

  3.a和A a表示该位置可能是一个字母或数字,也可以没有,A表示该位置必须有一个字母或数字,不能为空。

  4.c和C c表示该位置可以是任一可打印的字符,但也可以没有,C表示该位置必须有任一可打印的字符,不能为空。

  5.<和> <表示其后的字母必须用小写的形式显示,不管用户输入的形式为何,直到遇到一个>格式符或<>格式符结束。>格式符刚好与之相反。

  6.# 表示该位置可能是一个数字或正负号,主要用于输入数字的场合。

  7.\ 这是一个格式转义符,用于对其后的特殊格式符进行转义,表示其后的那个掩码格式字符将作为数据中的普通字符对待。

  8.! 该格式符只能放在掩码格式的第一个字符处。如果有该字符,则表示数据前的空格将不被保存在数据中,如果没有,则表示数据后的空格将不被保存在数据中。

  9.; 和/标准的分隔符,可以作为数据的一部分。其中格式符/在显示时为-形式,而非/形式。

  在输入格式中的第二部分只有1和0两种选择。如果为1,表示掩码格式中的非用户输入字符将作为数据的一部分被保存;为0则不保存,而只保存用户输入数据。

  输入格式的第三部分表示数据中的空格用哪个字符代替显示。这一部分也可以在图1的对话框的Character for Blanks编辑框中直接输入。

  应用

  现在大家先从“相关知识”中掌握了MaskEdit控件的一些基本的用法了,然后我们就来开发一个具体的应用。让用户按照你指定的格式输入他/她的个人资料。

  第一步:运行Delphi,新建一个Form,然后找到MaskEdit控件(图2)。

  第二步:在设计的主窗体中进行布局,并列排放三个MaskEdit控件(图3),并按你自己的意思添加文本和按钮。

  第三步:右键单击MaskEdit控件,进入MaskEdit的属性设置窗口(图4)。把上述三个MaskEdit控件的EditMask属性的设置情况如图5所示。

  提示:三个属性框中分别输入“!0000/90/90;1;”,“!\(9000)90000000;1;”和“!aaaaaaaA@aaaaaA.aaaaaA;1;”。

  第四步:这样设置好以后,运行程序的结果如图6所示,你看是不是实现了我们所要求的功能呢。你也可以试试,实现你的有创意的应用。