chocolate5215
著名写手
著名写手
  • 铜币9枚
  • 威望0点
  • 贡献值0点
阅读:1207回复:7

vb问题,很小的问题,近来看看吧~~

楼主#
更多 发布于:2006-03-11 23:15
想通过启动时加入参数用作内部的一个变量上。

例如程序中有个变量time,通过计时器控件,每秒钟把这个time变量减一
从而达到计时器目的。而这个time的值我想让用户通过启动参数(aaa.exe 10)
这样加进来,而不是通过诸如inputbox之类的

已知程序启动参数可以通过函数 command$ 来获取,我的form 上1个label1用于
显示剩余时间!一个 timer1用于计算时间间隔。

代码如下:


    Dim lTime As Long
  
    
    Private Sub Form_Load()
    MsgBox "启动参数为" + Command$
    If Command$ <> "" Then
        Label1.Caption = "还有" + Str(Command$) + " " + "秒!"
    Else
        lTime = 100 ' 100秒倒计时
        Label1.Caption = "还有" + Str(lTime) + " " + "秒!"
    End If
End Sub

-----------------------------------------------------------------------------------------

Private Sub Timer1_Timer()
    If Command$ <> "" Then
       Command$ = Command$ - 1
        Label1.Caption = "还有" + Str(Command$) + " " + "秒!"
        If Command$ = 0 Then
            End
        End If
    Else
        lTime = lTime - 1
        Label1.Caption = "还有" + Str(lTime) + " " + "秒!"
        If lTime = 0 Then
            End
        End If
    End If
End Sub




注意代码中的红色部分,这样写执行的时候说  赋值号左边的函数调用必须返回变体或对象


咋办?!?!?!?!  thx
[ 2006-03-12 14:04:01 chocolate5215 修改 ]
[img]http://www.memail.net/images3/682771441632957957_71198.jpg[/img]
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
1C#
发布于:2006-03-13 20:06
Re:vb问题,很小的问题,近来看看吧~~
Private Sub Timer1_Timer()
    Dim a As Integer
    
    a = CInt(Command$)
    If a <> 0 Then
       a = a - 1
        Label1.Caption = "还有" + Str(Command$) + " " + "秒!"
        If a = 0 Then
            End
        End If
    Else
        lTime = lTime - 1
        Label1.Caption = "还有" + Str(lTime) + " " + "秒!"
        If lTime = 0 Then
            End
        End If
    End If
End Sub
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
chocolate5215
著名写手
著名写手
  • 铜币9枚
  • 威望0点
  • 贡献值0点
2C#
发布于:2006-03-13 17:41
Re:vb问题,很小的问题,近来看看吧~~
Dim canshu As Integer
    canshu = Command$


加了这2行定义

还是不幸,说 “无效外部过程”
[img]http://www.memail.net/images3/682771441632957957_71198.jpg[/img]
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
3C#
发布于:2006-03-12 15:19
Re:vb问题,很小的问题,近来看看吧~~
对了,不要直接用 Command 这个东西,先自己定义一个变量,再把 Command$ 的东西赋值过去,后面的都用自己定义的那个变量。
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
chocolate5215
著名写手
著名写手
  • 铜币9枚
  • 威望0点
  • 贡献值0点
4C#
发布于:2006-03-12 14:06
Re:vb问题,很小的问题,近来看看吧~~
Command$ 到底是什么?楼主好象没有搞清楚。应该是个变量吧,怎么又说成是函数呢?假如是函数的话,foo() 这个东西是不能写在赋值号的左侧的。所以,根据你的代码,你把红色那个地方的括号去掉就行了。


去掉了也不行!

问题依旧~~
[img]http://www.memail.net/images3/682771441632957957_71198.jpg[/img]
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
5C#
发布于:2006-03-12 11:07
Re:vb问题,很小的问题,近来看看吧~~
Command$ 到底是什么?楼主好象没有搞清楚。
应该是个变量吧,怎么又说成是函数呢?
假如是函数的话,foo() 这个东西是不能写在赋值号的左侧的。
所以,根据你的代码,你把红色那个地方的括号去掉就行了。
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
chocolate5215
著名写手
著名写手
  • 铜币9枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2006-03-12 00:35
Re:vb问题,很小的问题,近来看看吧~~
timer1.interval = 1000

忘了说了~~

呵呵, 本来是写在代码中的,后来直接挪到属性中了
[img]http://www.memail.net/images3/682771441632957957_71198.jpg[/img]
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
7C#
发布于:2006-03-11 23:44
Re:vb问题,很小的问题,近来看看吧~~
我编译了一下,没有错误提示.不过label只是显示一串字符串,变量没有-1,timer没有启到作用?
游客

返回顶部