博客首页 | 排行榜 |

csxcs366的博客--LABVIEW CVI

http://labview.weebly.com/ 群:80754347 群:78561268 群:37591940

个人档案
博文分类
LV NUGGET之限制字符串输入  2009-09-13 10:06

字符串一般不建议作为用户输入,主要原因是字符串输入过于灵活,很难判断用户输入的字符串是否合理,比如我们需要的是二进制数字字符串,这就要求只能输入0或1,其它字符都是不允许输入的。如果对输入字符不加限制,用户输入了非法的字符,会导致后续操作错误。

下面采用两种常见的方式限制字符串的输入,以0、1组成的二进制字符串为例,相同的方法可以处理其它允许输入的字符。

一、利用字符串输入控件的过滤型KEYDOWN事件

 

对于0、1组成的二进制字符串,除了允许0、1输入外(0、1对应的ASCII为48、49),还需要允许退格输入(ASCII为8)以及左右方向键。左右方向键需要使用虚拟V键来判断,V键使用枚举类型。

退格允许取消输入,左右方向键允许定位光标,修改前面输入的特定字符。

二、利用字符串ValueChanged事件

默认情况下,只有字符串输入完毕后,失去焦点或者回车后,才会产生值改变事件。这种情况下,值改变事件是不适用的。当我们输入很长一段字符串后,然后才通知用户,它的输入是错误的,这显然是不合理的。

我们需要的是当每个字符发生改变是,都要判断输入字符是否合理,这就需要输入每个字符时都要产生值改变事件。

字符串控件的快捷菜单和属性对话框中可以设置这一属性,如下图所示:

 

 

启用键入时刷新时,每输入一个字符就产生一次值改变事件。这样就可以通过整个字符串判断是否是合理输入了。个人认为还是采用KEYDOWN过滤事件更为合适。

 

 

 

类别:LV Nugget |
上一篇:LV Nugget之如何显示隐藏的控件  | 下一篇:VI OF DAY之复合运算节点
以下网友评论只代表其个人观点,不代表本网站的观点或立场