瑞星卡卡安全论坛技术交流区系统软件 (求助)VBS脚本文件代码的数值转换问题

1   1  /  1  页   跳转

(求助)VBS脚本文件代码的数值转换问题

(求助)VBS脚本文件代码的数值转换问题

今天写了个脚本文件,发现一个问题,请大家帮忙解决一下,先谢了~~

文件格式:VBS
文件实现的功能:通过输入一定的数值,转换后给自己一个提醒
描述:(1)转换为秒的时候无任何问题,比如输入:0.2  则变为:12秒,输入0.87  则变为:52.2秒
      (2)数值在大于等于1,或者数值小于60的时候,则显示相应的数值,这个也没问题,比如输入:1  则变为:1分钟,输入58.7  则变为:58.7分钟
      (3)数值在等于60的时候,数值自动转换为1小时,这个没问题,但是大于60的时候,就不一定了,下面举几个例子给大伙看下:


输入63,变为1.05小时,正常
输入98,变为1.63333333333333小时,正常
输入987,变为16.45小时,正常
输入142,变为142分钟,这个转换就不正常了
输入1425,变为1425分钟,这个转换也不正常
来个大点的数值,输入8885,变为148.083333333333小时,正常
                输入9546,变为159.1小时,正常
                输入7751,变为129.183333333333小时,正常(刚才试了几个大于等于7000,小于10000的数值,转换都正常)
                输入5413,变为5413分钟,转换又不正常了,晕(刚才试了几个大于等于5000,小于6000的数值,没发现一个是正常的)


其他的我就不再举例了,大家帮看下代码,到底是哪里出了错,麻烦帮修改一下。(代码 + 截图)

set a=createobject("scripting.filesystemobject")
a=inputbox("","请输入你要提醒的时间...(以分钟计算)","请输入大于0的数字")
set b=createobject("wscript.shell")
if a="" then
wscript.quit
else
if a="0" then
msgbox "数值不能为0,请重新操作...",16,"错误的请求!"
else
if a<"1" then
msgbox "还有 " & 60*a & " 秒钟的时间...",6,"提示..."
else
if a<"60" then
b.popup "你已经设置好时间倒计时,请在 " & a & " 分钟后结束游戏...",10,"提示..."
wscript.sleep 60000*a
msgbox a & " 分钟已经过去,游戏时间已到...",64,"注意了..."
else
if a>"60" or a="60" then
b.popup "你已经设置好时间倒计时,请在 " & a/60 & " 小时后停止玩游戏...",10,"提示..."
wscript.sleep 60000*a
msgbox a/60 & " 小时已经过去,请立即停止游戏...",48,"注意了..."
else
end if
end if
end if
end if
end if




用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 570; 火星浏览器(Gogo Explorer) 3.x; .NET CLR 2.0.50727; 360SE)
分享到:
gototop
 

回复:(求助)VBS脚本文件代码的数值转换问题

大家可以把上面的代码复制到记事本里面,然后保存为VBS格式文件就可以了,看下结果是不是单位换算有问题。有什么方法可以解决的么?
gototop
 

回复: (求助)VBS脚本文件代码的数值转换问题

补充一下,关于 popup 跟 msgbox的用法有什么不一样:
(1)b.popup "你已经设置好时间倒计时,请在 " & a & " 分钟后结束游戏...",10,"提示..."
这行代码的意思是:如果你不手动关闭对话框的话,过了10秒钟时间,对话框自动关闭,但是 .popup前面要加个变量b    //*  b这个变量在第2行已经定义,请参考:set b=createobject("wscript.shell")  *//
(2)msgbox("你已经设置好时间倒计时,请在 " & a & " 分钟后结束游戏...")
这行代码的意思也是一个提示信息,意思是:如果你不手动关闭对话框的话,对话框不会自动关闭,一直存在。


我们一般可以通过语句改变对话框的大小,比如:
msgbox "数值不能为0,请重新操作...",1,"错误的请求!"
msgbox "数值不能为0,请重新操作...",6,"错误的请求!"
msgbox "数值不能为0,请重新操作...",19,"错误的请求!"
msgbox "数值不能为0,请重新操作...",32,"错误的请求!"
msgbox "数值不能为0,请重新操作...",48,"错误的请求!"


下图就是上面5行语句的对话框截图,大家如果感兴趣,自己去修改数值,可以看到不一样的对话框形状,其他的图我就不再抓图放上来了。

gototop
 

回复:(求助)VBS脚本文件代码的数值转换问题

没人知道吗?
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT