| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 638 人关注过本帖
标题:请问,能否用全局变量名的字符串,返回该变量的值?谢谢!
只看楼主 加入收藏
mansohu
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2013-3-20
结帖率:20.69%
收藏
已结贴  问题点数:10 回复次数:5 
请问,能否用全局变量名的字符串,返回该变量的值?谢谢!
比如以下代码:
public A
Public B

sub XXXX
    A=1
    B=2
    '请问能否编写一个以下功能的函数:
    C=转换("A")
    D=转换("B")
    debug.print C    'C 的结果是 1
    debug.print D    'D 的结果是 2
end sub

function 转换(变量名字符串 as String)
    ???
    ???
    ???
end Function

不知能否实现以上功能 谢谢!
搜索更多相关主题的帖子: public 字符串 
2015-07-23 13:11
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:2 
没看明白是什么意思。
按模块中
程序代码:
Public A As String
Public B As String
Function convert(str As String) As Integer
  Select Case str
    Case Is = "1"
      convert = 1
    Case Is = "2"
      convert = 2
  End Select
End Function
窗体中
程序代码:
Private Sub Command1_Click()
  Dim C As Integer
  Dim D As Integer
  A = "1"
  B = "2"
  C = convert(A)
  D = convert(B)
  Debug.Print C
  Debug.Print D
End Sub
这会有什么问题


大开眼界
2015-07-23 13:35
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
收藏
得分:2 
回复 楼主 mansohu
可以实现 你说的功能 我建议吧全局变量写在库文件中  这样也方便调用 只需每次 对全局变量赋值即可 希望我说的对你有帮助
2015-07-23 14:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:2 
有二种实现方法。
一种就是2楼的方法,单独写个函数,负责多分支选择返回结果。

一种就是使用 callbyname 函数,把这个全局变量封装到 类里面。

优缺点:
第一种:速度快,兼容性好,代码易懂、易读。如果变量名经常要变来变去,或者要增减,那么这个函数的内容 维护是一个问题。
第二种:理解了原理后,代码简单,扩展性不错,维护起来简单一点。但速度慢。

------------------------
最近看了关于VB的反汇编的文章,VB程序里堆满了大量的内部函数,简单变量使用函数还少一点,越是复杂的类型就越使用的函数多一点,严重影响速度 。

授人于鱼,不如授人于渔
早已停用QQ了
2015-07-23 15:10
flkj2015
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2015-7-24
收藏
得分:2 
像4楼说的那样 ,用CallbyName函数
程序代码:
Option Explicit

Public str1 As String       '看成本窗体的成员,不过外界可以引用
Public str2 As String       '看成本窗体的成员,不过外界可以引用

Private Function RefStr(str As String) As String
    RefStr = CallByName(Me, str, VbGet)
End Function

Private Sub Command1_Click()
    str1 = "one string"
    str2 = "other string"
    MsgBox RefStr("str1")   '通过字符串引用变量
End Sub

2015-07-24 20:53
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:2 
全局变量不就是全局有效的吗?

能编个毛线衣吗?
2015-07-24 21:52
快速回复:请问,能否用全局变量名的字符串,返回该变量的值?谢谢!
数据加载中...
 
   



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

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