标题:我定义的变量取不出来是那里出了问题,求教
只看楼主
q519708218
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-8-2
结帖率:0
已结贴  问题点数:20 回复次数:5 
我定义的变量取不出来是那里出了问题,求教
为什么我定义的变量取不出来是那里出了问题,求位大虾解答下,本人是  vb 新人 谢谢
搜索更多相关主题的帖子: 定义 vb 变量 
2021-08-02 20:22
q519708218
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-8-2
得分:0 
求取 运算符的的变量  ,在线等待
2021-08-02 20:24
q519708218
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-8-2
得分:0 

Private Sub Command1_Click(Index As Integer)
Dim 上一次的值  As Double
Dim 运算符  As String
上一次的值 = 0
运算符 = "+"



End Sub

Private Sub 按键1_Click(Index As Integer)

Print (运算符)
If 编辑框1.Text = "0" Then
编辑框1.Text = 1
Else
编辑框1.Text = 编辑框1.Text + "1"
End If
End Sub
2021-08-02 20:28
q519708218
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-8-2
得分:0 
Private Sub Command1_Click(Index As Integer)
Dim 上一次的值  As Double
Dim 运算符  As String
上一次的值 = 0
运算符 = "+"
End Sub

Private Sub 按键1_Click(Index As Integer)
Print (运算符)
我的 “运算符 = "+" ” 里面什么也取不出来,明明已经赋值了 ,但就是没有 大神,帮忙看看啦,


[此贴子已经被作者于2021-8-2 20:52编辑过]

2021-08-02 20:50
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
变量的作用域,你去翻翻书就明白了。这里简单说一下。

每个变量都有作用域,如全局变量,整个工程可见;局部变量,部分代码内可访问。

在bas模块中,使用 public 关键字定义的变量为 全局变量,在整个工程范围内可见,可读可写。这种变量定义在数据段里。VB6好像有点不同。
在bas模块中使用 dim 或 private 定义的变量, 为模块局部变量,在整个BAS代码均可读可写,非这个BAS模块则不可见。
在窗体代码中使用 public 关键字定义的变量为 窗体的全局变量,在窗口存活期内,整个工程可读可写,窗体外访问时,加上窗体的名字。类似于窗体的一个属性。
在窗体代码使用  dim 或 private 定义的变量,为窗体局部变量,在窗口代码中可读可写,外部不可访问。

在过程/函数 中使用 public 定义变量,报错。
在过程/函数 中使用 dim 或 private 定义变量,为局部变量,在过程/函数中才能访问,过程/函数结束后自动销毁。这种变量定义在堆栈里。
在过程/函数 中使用 Static 定义的变量,为局部变量,好像是定义在数据段里,在过程/函数才能访问,过程/函数结束后继续保持值不变。




授人于鱼,不如授人于渔
早已停用QQ了
2021-08-02 22:32
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
具体到你的代码中,
这是二个过程,第一个过程定义的变量,在第二个过程中,无法访问的,所以在第二个过程中取不到值 。

修改方法:
定义为窗体 局部变量,把定义的这行放到所有 过程之前。

Dim 上一次的值  As Double
Dim 运算符  As String

Private Sub Command1_Click(Index As Integer)
上一次的值 = 0
运算符 = "+"
End Sub
........

授人于鱼,不如授人于渔
早已停用QQ了
2021-08-02 22:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506379-1-1.html




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

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