EditMask的!是什么意思?

ppayun 2005-01-24 05:22:32
帮助中说:
If a ! character appears in the mask, optional characters are represented in the text as leading blanks. If a ! character is not present, optional characters are represented in the text as trailing blanks

看的不太明白,知道的给解释一下,谢谢!
...全文
287 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hozaka 2005-01-25
  • 打赏
  • 举报
回复
如有!表示数据前的空格将不被保存在数据中,没有!则数据后的空格不被保存。!格式符只能放在掩码格式符的第一个字符处。
mynameisking 2005-01-25
  • 打赏
  • 举报
回复
EditMask,简而言之就是限定edit输入框输入格式
yalaso 2005-01-25
  • 打赏
  • 举报
回复
从来没用过,好象也派不上用场。
surpassable 2005-01-25
  • 打赏
  • 举报
回复
帮顶~~~~~呵呵~~~~
web700 2005-01-25
  • 打赏
  • 举报
回复
感觉也不是太好用。
hellolongbin 2005-01-25
  • 打赏
  • 举报
回复
maskedit确实功能不错,但伴随而来的问题也不少,我在开始用过两次,后来宁可用EDIT框自己写函数加限制,呵呵

给你maskedit的介绍看下吧:

掩码编辑框(MaskEdit)是一种特殊的编辑框。使用它可以设计出许多复杂的输入 格式。在选用MaskEdit之后,需要为它设计一个输入格式。方法如下:
  首先在窗体上将MaskEdit选中,在对象查看器(Object Inspector)中找到EditMask属性,双击它,弹出一个如下图所示的对话框。

  对话框左上角的Input Mask编辑框用于输入掩码格式。掩码格式可以分为三部分,每个部分之间用分号“;”分开,如“!90:90:90:;1;_ ”。下面解释各输入格式符的意义:
  1. 输入格式的第一部分是掩码本身,也就是数据输入格式。在这一部分用一些特殊的格式符来表示应输入的字符类型及格式,如“!l0A9:C>ll<”这样一串输入格式掩码。常用的MaskEdit输入格式符有:
格式符 意义
l和L l表示该位置只可能是一个字母,可以用光标键跳过它,但是不能是其它类型的字符。L该位置必须是一个字符。
a和A a表示该位置只可能是一个字母或数字字符。A表示该位置必须是一个字母或数字字符。
c和C c表示该位置只可能是一个字母,C表示该位置必须有一个字母。
9和0 9表示该位置只可能是一个数字,0表示该位置必须有一个数字。
    
〈和〉 <格式符表示随后的字母均以小写的形式显示,直到遇到一个>格式字符或<>格式符。>格式符则和<正好相反。
〈〉 表示不作大小写转换,以输入时的形式为准。
\ 表示该格式符之后的那个掩码格式符将作为数据中的普通字符对待。当用户想在数据中放进一个掩码格式符时,应该在这个格式符前放一个\符号。如\A,\\等等。
# 表示该位置可能是一个数字或正符号。
! 如有!表示数据前的空格将不被保存在数据中,没有!则数据后的空格不被保存。!格式符只能放在掩码格式符的第一个字符处。
;和/ 标准的分隔符,可作为数据的一部分。其中/在显示时为‘-’而非/。
  
  2. 在输入格式中的第二部分只有0和1两种选择。如为1,则掩码中的非用户输入数据和标准分隔符等其它各种字符会作为数据的一部分保存;为0则不保存。
  3. 输入格式的第三部分用于表示数据中的空位用那个字符代替显示。
  在有了上述知识后,现在来设计一个例子。例如要输入一个汽车牌号如CA-300019 。该数据前两位为字母且为大写,第三位为一个系统分隔符号,后6位为数字。可以这样设计掩码格式:
  !>LL/000000;1;_
  掩码的第二部分取为1表示系统分隔符‘-’也将作为数据保存。第三部分的“_”表示在掩码编辑框中为空时,用“_”来表示空位。我们也可以用空格来标识空位。
  又如一个邮编如PO-100083,其中PO表示邮政,是每个邮政编码中都有的前缀,可以这样设计掩码格式:
  !PO/000000;1;_
在掩码设计对话框的右侧是Sample Masks,这里有系统预设的常用的掩码格式,如电话号码(Phone)、日期(Date)等。我们可以选择一个,然后进行必要的调整。对话框左下部是一个Test Input栏,我们可以在这里输入字符,以检测输入格式是否令人满意。
yuanscar 2005-01-25
  • 打赏
  • 举报
回复
smiler007(笑一笑)
我现在有一个EDIT用来输日期的,我现在要它既可以输入完全的日期,也可以只输年月,而且这个窗口可能给很多的客户用,客户习惯的日期格式又不是完全一样,你用MASKEDIT怎么做?
控件不是有越多功能就越好用。个人认为,delphi从5开始不断增加各种花哨的控件而忽略了很多更重要的东西。
该用代码的地方还是用代码!
lyguo 2005-01-24
  • 打赏
  • 举报
回复
没试过,存在就应该有它的道理吧
smiler007 2005-01-24
  • 打赏
  • 举报
回复
呵!恰好相反,我觉得MaskEdit在用于输入日期时,很方便。
yuanscar 2005-01-24
  • 打赏
  • 举报
回复
mask edit是DEL用来格式化EDIT输入的一个控件,选择他的MASK格式可以输入日期一类的数据格式,但是实际上使用起来很不方便,我看了一下以后就根本没有打算用它。直接在一般的EDIT里面用代码来限制输入格式就好了,感觉就好象LABELEDIT一样,比较无聊的控件。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧