读书人

问个关于GetUserStatus的有关问题

发布时间: 2012-12-16 12:02:32 作者: rapoo

问个关于GetUserStatus的问题。
本帖最后由 bcrun 于 2012-10-21 09:45:36 编辑 按照课本的例题输入了下面的代码:

Option Explicit
Sub main()
Dim datastatus As Integer
datastatus = GetUserStatus
If datastatus = 1 Then
frmmain.Show
Else
frmpassword.Show
End If
End Sub

运行时却提示GetUserStatus变量未定义,把开头那句Option Explicit删掉后无论怎么运行都只显示frmpassword这个窗体。要如何设置才能显示frmmain这个窗体呢?
另外,为什么GetUserStatus为什么还要预先定义?
PS:我用的是VB6,不是VB.NET

[解决办法]
GetUserStatus是你自己臆想的吧?
[解决办法]
话说这句datastatus = GetUserStatus,书上注释说是根据所获取的状态决定显示哪个启动窗体,
难道不是由GetUserStatus这个获得一个值然后再赋值给datastatus这个变量的么?
在网上百度了一下,都是类似的程序,而且全部都是提示同样或类似的的错误。。。
话说上面1楼的程序,书上的注释是这样的(注释应该跟结果没有影响吧?!):
Sub main()
Dim datastatus As Integer '通过一个函数过程来获取用户的状态
datastatus = GetUserStatus '根据所获取的状态决定显示哪个启动窗体
If datastatus = 1 Then
frmmain.Show '通过show方法显示frmmain(主)窗体
Else
frmpassword.Show '通过show方法显示frmpassword(密码)窗体
End If
End Sub
根据注释的理解难道不是从GetUserStatus中得出一个值,然后把那个值赋值给datastatus这个变量的么?
难道我还有另外定义一个变量GetUserStatus并给它赋上值么?那样还不如我直接给datastatus这个变量赋值就好了。如果这样做,那如何获取用户状态呢?在网上搜到的都是类似的东西,包括在本论坛上搜到的类似程序,都是提示变量未定义,并且GetUserStatus被选中。
[解决办法]
引用:
话说这句datastatus = GetUserStatus,书上注释说是根据所获取的状态决定显示哪个启动窗体,
难道不是由GetUserStatus这个获得一个值然后再赋值给datastatus这个变量的么?
在网上百度了一下,都是类似的程序,而且全部都是提示同样或类似的的错误。。。
话说上面1楼的程序,书上的注释是这样的(注释应该跟结果没有影响吧?!):
Sub main()
Di……


从这代码看GetUserStatus怎么也是个有返回值的函数吧? 你咋不顺便把这函数体也抄下来呢.
[解决办法]
什么意思?已经全部抄下来了啊?!难道还要设置些什么东西才行么?如果是,要怎么设置?
[解决办法]
引用:
什么意思?已经全部抄下来了啊?!难道还要设置些什么东西才行么?如果是,要怎么设置?


你还是要仔细再找找, 它或者是来自api引用, 或者是存在于一个模块中.
你可以到原来的工程里面按CTRL+F查找这个关键字, 选项里点"全工程查找"

[解决办法]
引用:
引用:

什么意思?已经全部抄下来了啊?!难道还要设置些什么东西才行么?如果是,要怎么设置?


你还是要仔细再找找, 它或者是来自api引用, 或者是存在于一个模块中.
你可以到原来的工程里面按CTRL+F查找这个关键字, 选项里点"全工程查找"

不懂,下面这个是在本网站搜到的。
引用
没有启动窗体时的启动
有时候也许要应用程序启动时不加载任何窗体。例如:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。要做到这一点,可在标准模块中创建一个名为 Main 的子过程,如下面的例子所示。

Sub Main()
Dim intStatus As Integer
'调用一个函数过程来检验用户状态。
intStatus = GetUserStatus
'根据状态显示某个启动窗体。
If intStatus = 1 Then


frmMain.Show
Else
frmPassword.Show
End If

这个过程必须是一个子过程,且不能在窗体模块内。欲将 Sub Main 过程设为启动对象,可从“工程”菜单中,选取“工程属性”,再选“一般”,然后从“启动对象”框中选定“Sub Main”。


http://topic.csdn.net/t/20020831/20/986243.html
上面链接里1楼的回答,在网上搜到的都有GetUserStatus这个单词,难道这个单词不是VB已经预定义好的单词来得么?如果不是,那为什么在网上搜到的结果和书上的都不定义GetUserStatus这个变量而只定义intStatus或datastatus这个变量呢?那不是让人产生歧义么?
PS:原来的工程只有两个窗体,里面什么代码都没有。

读书人网 >VB

热点推荐