51Testing软件测试论坛

标题: 从Datatable中取的string 如何去除双引号 [打印本页]

作者: yxh1981    时间: 2007-11-26 11:07
标题: 从Datatable中取的string 如何去除双引号
如题,要执行 object.type DataTable("A","dtLocal)Sheet
表中取得值诸如 micF1, micF2 ...
运行时执行的是 object.type "micF1" ,因此不成功!
作者: walker1020    时间: 2007-11-26 12:48
1, 先确实是否你输入的是 micF1,而 实际运行时是  "micF1"
2, 如果确实是这样,那么 使用 CStr CInt 等转换函数把把转换成你需要的类型。
作者: yxh1981    时间: 2007-11-26 13:09
用了cstr(),运行的还是 object.type "micF1",和不用一样!
用Cint,出错 Type mismatch!
用replace(string,""","") 也不行

请教用什么函数和方法去除引号,谢谢!
作者: walker1020    时间: 2007-11-26 13:47
你希望 输入的micF1 是什么类型?
作者: Jor    时间: 2007-11-26 14:11
mid()函数
不过在type后面的micF1等等的 可以看作是已定义的变量 写在datatable里面不合适吧 里面取出来的都是字符串而已
作者: gy21st    时间: 2007-11-26 14:44
楼主的意我理解应该是datatable里的字符串想取出来变成常量或者变量。两种方法。

1. 如果不保证所有的字符串都有定义,自己写个函数做这个事情吧
比如
Select Case DataTable("", dtLocalSheet)
case "micF1'
  X=micF1
case  "micF2"
  X=micF2
...
Case else
  X=DataTable("", dtLocalSheet)
End Select

2.用eval函数
eval("micF1")得到micF1
作者: hsjzfling    时间: 2007-11-26 15:09
object.type Eval(DataTable("A",LocalSheet))
这样就可以了
作者: hsjzfling    时间: 2007-11-26 15:12
6楼的朋友考虑的比较全面,使用Eval之前你要先确定下你的数据都是合法的值~

[ 本帖最后由 hsjzfling 于 2007-11-26 15:13 编辑 ]
作者: yxh1981    时间: 2007-11-26 16:59
eval 可行,谢谢各位答复!
作者: sarying    时间: 2007-11-26 17:17
能否详述下eval的作用,我看VBS手册:计算一个表达式的值并返回结果。
作者: joseph_wh    时间: 2007-11-26 17:47
原帖由 sarying 于 2007-11-26 17:17 发表
能否详述下eval的作用,我看VBS手册:计算一个表达式的值并返回结果。



把它理解为,“通过表达式,获得它的值。”

比如,
     object.type Eval(DataTable("A",LocalSheet))
里面的“DataTable("A",LocalSheet)” 就是一个表达式,获得它的值。也就是对应位置的值咯。
作者: walker1020    时间: 2007-11-26 20:55
gy21st  提供的两种方法都不错,多谢!
作者: hsjzfling    时间: 2007-11-27 11:28
原帖由 joseph_wh 于 2007-11-26 17:47 发表



把它理解为,“通过表达式,获得它的值。”

比如,
     object.type Eval(DataTable("A",LocalSheet))
里面的“DataTable("A",LocalSheet)” 就是一个表达式,获得它的值。也就是对应位置的值咯。


前面一句理解没错,但是举例就不是很准确了。。。
eval解释的是DataTable("A",LocalSheet)这个变量的值,也就是"micF1",而不是DataTable("A",LocalSheet)本身。返回的值应该是<_micF1>,而不是"micF1"

可以这样来理解eval,eval就是解释并执行字符串型表达式,并返回执行后的值。如果表达式没有返回值,则应该使用execute。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2