[按键精灵字符串拼接]如何把一段字符串转换为变量名?

各种编程语言中,是否支持将变量名转化为同名字符串的方法? - 知乎52被浏览13445分享邀请回答13添加评论分享收藏感谢收起142 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()13:46 提问
如何将字符串转换成变量名
RT,C++的,Qt中的。现在是让用户输入变量名称。客户在TextEdit控件中输入名称,和类型,生成相应名称的变量。例如,用户选择int类型,在TextEdit中输入了“abc”,后台就要定义变量 因为用户输入的是字符串,后台获得的也是字符串“abc”,如何转换成变量名?
按赞数排序
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
//希望对你理解有用
声明 "我=1"
MessageBox 调用(我)
Sub 声明(字串)
Var1=Split(字串,"=")(0)
返回值 = Lib.算法.中文汉字转拼音(Var1)
Execute 返回值&"="&Split(字串,"=")(1)
Function 调用(字串)
返回值 = Lib.算法.中文汉字转拼音(Var1)
调用=eval(返回值)
End Function
宏定义就行,定义一个宏开关,配合typedef
不可能转换成变量名的, c/c++程序编译完后就没有变量名这个概念了, 只有地址,
你的这个问题可以这样解决, 比如定义一个结构体, 结构体有三个成员
一个为string类型的变量
name(你所谓的变量名),
一个为enum或string 类型的变量
type(你所谓的变量类型)
一个为void*类型的变量 val(这个是变量的值)
struct xxx
std::string m_//变量名
std::string m_//类型
void* m_//值, 具体的值需要根据类型去申请空间
切记c / c++程序编译完后就没有变量的概念了,
只有内存地址, 编译的时候编译器会先记下变量名的地址,
然后在对这个变量名进行引用的任何地方都用这个地址进行替换, cpu只会对地址里的数据进行运算
刚才有点忘说了, 如果需要添加多个的话可以这样, std::vector
这样的话如果有多个就push_back进去就好了
其他相关推荐【入门菜鸟求教】怎样用变量函数表达split()中的参数text? _ 综合讨论 - 按键精灵论坛
腾讯微博:
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.2.6软件大小:62.5M更新时间:09-27
软件版本:1.3.1软件大小:29.2M更新时间:09-29
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 331|回复: 2
如题:请教怎样用变量函数表达split()中的参数text?我用多点取色找图提取,然后想用for循环简化公式提高效率但是卡在split函数那里了//首先是取色的数据(px,py已经有值)XY0 = Plugin.Color.FindMutiColor(px - 100, py - 100, px, py + 100, &000000&, &-5|3||11||20||22||20||11||3||-2|FFFFFF,-10|24|FFFFFF,10|24|FFFFFF,10|-1|FFFFFF,0|8|FFFFFF,0|14|FFFFFF&, 0.9)XY1 =.....XY2 = .........XY9 = Plugin.Color.FindMutiColor(px - 100, py - 100, px, py + 100, &000000&, &-7|5||8||11||16||21||-3|FFFFFF,10|-3|FFFFFF,0|6|FFFFFF,-3|16|FFFFFF,-10|14|FFFFFF,8|23|FFFFFF&, 0.9)For i=0 to 9//然后是比较:比如从0-9循环9次,如果检测到屏幕中有图片数字“0”,则XY0的坐标存在(&0),然后就把0赋值给数字1,几个messagebox是为了测试哪里出错For i=0 to 9Dim Mxy=&XY&&iM = Split(xy, &|&)x = CInt(M(0)) : y = CInt(M(1))If x & 0 and y & 0 Then 数字1 = iMessageBox
&XY0的值为:&&XY0MessageBox &字符串为:&&xyMessageBox &数字1的值为:& & 数字1MessageBox
&数字1的坐标为:&&x&&,&&yEnd If NextEnd Sub===================结果我发现可能是错在了M = Split(xy, &|&)——因为xy=&XY&&i的结果xy可能就等于纯字符串不含坐标(比如&XY&&i就等于“XY0”),但是我想标的是XY0所包含的坐标“x|y”....请教高手,如何让用变量来表达字符串变量呢?XY0 = Plugin.Color.FindMutiColor(px - 100, py - 100, px, py + 100, &000000&, &-5|3||11||20||22||20||11||3||-2|FFFFFF,-10|24|FFFFFF,10|24|FFFFFF,10|-1|FFFFFF,0|8|FFFFFF,0|14|FFFFFF&, 0.9)For i=0 to 9Dim Mxy=&XY&&i
//通过这样得到的XY0在split(XY0,&|&)函数中和直接输入split(XY0,&|&)是两回事,那么——请教高手如何让表达式能够表示字符串变量呢?
没人回答,后来我自己找到答案了————
没人回答,后来我自己找到答案了————原来有个函数跟excel的一模一样eval()用这个就可以做字符窜的变量表达式~~~~excel万能哇

我要回帖

更多关于 按键精灵分割字符串 的文章

 

随机推荐