51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2395|回复: 10
打印 上一主题 下一主题

[原创] 数组在report中输出显示的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-11-22 15:38:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写两个循环,以a(i,j)为基准对数组a(i,j),b(m,n)进行比较。
循环中对于b(m,n)不相等于a(i,j)的数据就把b(m,n)附给c(y,z)
------------------------------------------
最后要把c(y,z)中的所有值都在report里显示出来,这该怎么实现呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2005-11-22 17:19:57 | 只看该作者
顶一下~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-11-22 17:30:24 | 只看该作者
可以参考一下:

  1. Dim a(2,2),b(2,2),c(2,2)
  2. For ix=0 to 1
  3.     For jx=0 to 1
  4.             a(ix,jx)=datatable.Value("A",dtGlobalsheet)'//initialize array a and b
  5.             b(ix,jx)=datatable.Value("B",dtGlobalsheet)
  6.             If a(ix,jx)<>b(ix,jx) Then
  7.                 c(ix,jx)=b(ix,jx)
  8.                reporter.ReportEvent micfail,"c","datas of a<>b are :  "&c(ix,jx)
  9.             end if
  10.              datatable.SetNextRow
  11.             Next
  12. Next
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2005-11-23 12:53:14 | 只看该作者
谢谢,这是一个方法
那如果想把c(ix,jx)在一个datatable中显示呢,数据显示在对应的坐标上,该如何操作呢????
可以显示到report中的table里吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-11-23 13:54:29 | 只看该作者
可以啊:在c(ix,jx)=b(ix.jx)后面添加
datatable.value("C",dtglobalsheet)=c(ix,jx)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-11-23 14:12:38 | 只看该作者
原帖由 shengyan 于 2005-11-22 15:38 发表
写两个循环,以a(i,j)为基准对数组a(i,j),b(m,n)进行比较。
循环中对于b(m,n)不相等于a(i,j)的数据就把b(m,n)附给c(y,z)
------------------------------------------
最后要把c(y,z)中的所有值都在report里显 ...

你的问题是怎么实现的,能不能具体点,把代码贴出来呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-11-23 16:37:48 | 只看该作者
本来结果是正确的,为什么在运行结果里报错呢?是代码问题吗?
If DataTable("Sun", dtLocalSheet) + DataTable("Mon", dtLocalSheet) + DataTable("Tue", dtLocalSheet) + DataTable("Wed", dtLocalSheet) + DataTable("Thu", dtLocalSheet) + DataTable("Fri", dtLocalSheet) + DataTable("Sat", dtLocalSheet) = total_value Then
        Reporter.ReportEvent micPass, "total_row_0_2", "The total is correct!."
        else
                Reporter.ReportEvent micFail, "total_row_0_2", "The total is incorrect!."
End If
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-11-23 16:38:17 | 只看该作者
拜托各位了,急啊!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-11-23 22:29:23 | 只看该作者
result= DataTable("Sun", dtLocalSheet) + DataTable("Mon", dtLocalSheet) + DataTable("Tue", dtLocalSheet) + DataTable("Wed", dtLocalSheet) + DataTable("Thu", dtLocalSheet) + DataTable("Fri", dtLocalSheet) + DataTable("Sat", dtLocalSheet)

If result = total_value Then
        Reporter.ReportEvent micPass, "total_row_0_2", "The total is correct!."
        else
                Reporter.ReportEvent micFail, "total_row_0_2", "The total is incorrect!."
End If  

设置断点,察看result和total_value是否相等,如果相等,看数据类型是否一致,如果数据类型不一致,两者比较的结果是failed。请强制数据转换为相同的数据类型。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-11-24 12:39:47 | 只看该作者
呵呵!谢谢 海龙!我的问题解决了,正如你所说的,是数据类型的问题,然后我进行了强制类型转换,谢谢!谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2005-11-24 12:42:45 | 只看该作者
就是这个样子的:
If  CDbl(DataTable("Sun", dtLocalSheet)) + DataTable("Mon", dtLocalSheet) + DataTable("Tue", dtLocalSheet) + DataTable("Wed", dtLocalSheet) + DataTable("Thu", dtLocalSheet) + DataTable("Fri", dtLocalSheet) + DataTable("Sat", dtLocalSheet) = cdbl(DataTable("total_value",dtLocalSheet))Then
        Reporter.ReportEvent micPass, "total_row_0_2", "The total is correct!."
        else
                Reporter.ReportEvent micFail, "total_row_0_2", "The total is incorrect!."
End If
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 16:43 , Processed in 0.181728 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表