标题: [问题求助] [已解决]VBS如何用ISEMPTY来判断inputbox的返回值? [打印本页]
作者: wc726842270 时间: 2011-8-15 08:49 标题: [已解决]VBS如何用ISEMPTY来判断inputbox的返回值?
其实我仅是想用ISEMPTY来判断INPUTBOX的返回值是否为空,但是很意外
当我不进行任何输入(当然也没设默认值),返回的却是非空,我想这并非是ISEMPTY的问题吧!!
首先先看2个很简单的脚本吧- dim str
- str=inputbox("请进行输入","要求")
- if isempty(str) then
- msgbox "it's empty"
- else
- msgbox "it's "&str&"!"
- end if
复制代码
当你不进行输入,而直接单击确定的话,它会是非空。这点很想不通
另外点击取消时,《script 56》说返回值为""(可以看看INPUTBOX的介绍)
此时再看看下面这个- dim a
- a=""
- if isempty(a) then
- msgbox "OK"
- else
- msgbox "no"
- end if
复制代码
作者: ArdentMan 时间: 2011-8-15 09:08
- Dim InputStr
- InputStr = InputBox("请输入")
- If IsEmpty(InputStr) Then
- MsgBox "InputStr没有被定义"
- Else
- If InputStr = vbNullString Then
- MsgBox "InputStr被定义为空值"
- Else
- MsgBox "InputStr值为:" & InputStr
- End If
- End If
复制代码
IsEmpty函数是用来判断变量是不是被定义了
如果被定义了返回值为False(哪怕是空值)否则为True
作者: Demon 时间: 2011-8-15 09:26
http://demon.tw/programming/vbs-inputbox.html
作者: wc726842270 时间: 2011-8-15 09:28
是么?这个函数的名字和它的功能有些不符啊,让人上火(可能也是我没认真看)呵呵,多谢了
作者: wc726842270 时间: 2011-8-15 09:34
本帖最后由 wc726842270 于 2011-8-15 10:26 编辑
看到3L的博客却实是这样,好像在脚本之家看见过,但没太关注,看来要改改了
还是用一下TYPENAME吧- dim str
- str=inputbox("请进行输入","要求")
- if isempty(str) then
- msgbox typename(str)
- else
- msgbox typename(str)
- end if
复制代码
看来只要按回车(确定)返回值就是STRING了,取消则是EMPTY(感觉好像又回到起点了,呵呵)
作者: Hello123World 时间: 2011-8-15 10:58
其实是楼主看的太粗心了,帮助说的很清楚:
返回 Boolean 值指明变量是否已初始化。
IsEmpty(expression)
expression 参数可以是任意表达式。然而,由于 IsEmpty 用于判断一个变量是否已初始化,故 expression 参数经常是一个变量名。
作者: Hello123World 时间: 2011-8-15 11:04
而且empty除了 空的;还有 无意义的;的意思。
建议楼主多看国产电视剧——例如:《家的n次方》有个bl中文名叫苏泉,英文名叫spring,很多人误以为是春天的意思(包括本人),其实spring还有泉水的意思……
你懂的。
作者: wc726842270 时间: 2011-8-15 11:08
呵呵,其实简单点来说是我英文太次了
现在看来正如我签名中所说啊
作者: Hello123World 时间: 2011-8-15 11:13
呵呵,我也在用有道词典。
作者: Demon 时间: 2011-8-15 12:59
看到3L的博客却实是这样,好像在脚本之家看见过,但没太关注,看来要改改了
还是用一下TYPENAME吧看来只要 ...
wc726842270 发表于 2011-8-15 09:34
http://www.jb51.net/article/26809.htm
看清楚出处。
作者: applba 时间: 2012-1-18 21:17
微软的手册其实有很多小问题,包括在线的英文版都有楼主说的这个问题~
很多时候,类型查询函数和类型判断函数非常有用~
作者: Demon 时间: 2012-1-19 00:03
微软的手册其实有很多小问题,包括在线的英文版都有楼主说的这个问题~
很多时候,类型查询函数和类型判断 ...
applba 发表于 2012-1-18 21:17
除了这个还有什么?
作者: applba 时间: 2012-1-19 10:11
回复 12# Demon
再比如,里面讲到for EACH……NEXT循环语法的时候,next后面是不能跟循环变量的。
而手册中,确给出来了!
作者: Demon 时间: 2012-1-19 10:39
回复 Demon
再比如,里面讲到for EACH……NEXT循环语法的时候,next后面是不能跟循环变量的。
而手册 ...
applba 发表于 2012-1-19 10:11
你看的是VB的文档吧。
http://msdn.microsoft.com/en-us/ ... e%28v=vs.85%29.aspx
作者: applba 时间: 2012-1-19 14:18
http://msdn.microsoft.com/en-us/library/tywtbxd0
http://msdn.microsoft.com/zh-cn/site/tywtbxd0
作者: Demon 时间: 2012-1-19 14:57
applba 发表于 2012-1-19 14:18
不好意思我看成For Next了,还有没有其他的?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |