| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 774 人关注过本帖
标题:VB 通用中加表达式报错
只看楼主 加入收藏
kkllchun
Rank: 2
等 级:论坛游民
帖 子:55
专家分:13
注 册:2007-9-15
结帖率:70%
收藏
已结贴  问题点数:5 回复次数:4 
VB 通用中加表达式报错
在以下这段代码中一个 form1
为什么我在通用中这样定义 如下
Dim a As Integer '声明一个全局共用的整形变量
a = 1 '为A赋值为1 我想问下为什么会报错?不能在通用中用表达式?为什么呢
Private Function abc()
Dim a As Integer
abc = 100
End Function
Sub Command1_Click()
Dim a As Integer
a = 1
MsgBox a
End Sub
 
Sub Command2_Click()
MsgBox a
End Sub


Private Sub Command3_Click()
a = 100
End Sub


Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
If Err.Number > 0 Then
MsgBox "打开设备错误", vbCritical
End If
End Sub


Private Sub File1_Click()
Dim filename1 As String
Dim filenum As Long
Dim filestr As String
If Right(File1.Path, 1) = "\" Then
filename1 = File1.Path & File1.filename
Else
filename1 = File1.Path & "\" & File1.filename
End If
filenum = FreeFile()
Open filename1 For Input As #filenum
Input #filenum, filestr
Close #filenum
Text1.Text = filestr
End Sub

Private Sub Form_Load()
File1.Pattern = "*.txt"
End Sub

Private Sub Text1_Change()

Dim filename1 As String
Dim filenum As Long
 
搜索更多相关主题的帖子: 表达 
2010-01-22 09:52
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:2 
a = 1 '为A赋值为1 我想问下为什么会报错?不能在通用中用表达式?为什么呢

函数内才能赐值。
例如:
sub fn1()
a=2
end sub
2010-01-22 09:57
kkllchun
Rank: 2
等 级:论坛游民
帖 子:55
专家分:13
注 册:2007-9-15
收藏
得分:0 
LS的好简洁 我知道过程 只能在过程函数中赋值
但通用部分我理解为全局函数 就是驱动类  就是"入口函数"  为什么不能赋值
2010-01-22 11:06
kkllchun
Rank: 2
等 级:论坛游民
帖 子:55
专家分:13
注 册:2007-9-15
收藏
得分:0 
我事先声明赋值有错吗 我知道这是VB的原因
2010-01-22 11:16
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:3 
bczgvip版主回答得很清楚。这不是VB的问题,而是VB的规则
如果是VB。NET,则可以直接dim a as integer=1,VB6不行,你非得问原因,那就是规则如此。
你可以在任何一个窗体或模块中声明一个公共变量,但赋值必须在一个过程或函数里面。
VB6的"入口函数"默认为启动时加载的指定的窗体的LOAD事件,但你可以在模块中定义一个过程作为"入口函数"


下面的例子中,有两个变量a,一个是窗体层变量,可以被程序中任意一个过程调用,一个是过程里变量,只能被该过程调用

Public a As Integer'这是一个窗体层变量
Private Sub Command1_Click()
Dim a As Integer'这是一个过程中的变量
a = 1
MsgBox a
MsgBox Form1.a
End Sub

Private Sub Form_Load()
  a = 16'窗体加载时给窗体层变量一个值
End Sub

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2010-01-22 11:46
快速回复:VB 通用中加表达式报错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017090 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved