51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: yuandjing
打印 上一主题 下一主题

告别QTP板块,临走吐点心血送给大家(知识是共享和堆积的,不是卖钱的,完全免费)

[复制链接]

该用户从未签到

21#
发表于 2008-1-29 14:53:30 | 只看该作者
谢谢楼主啊!
真的是好东西!
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2008-1-29 15:25:58 | 只看该作者
谢谢!学习中
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2008-1-29 17:16:58 | 只看该作者
要顶的,很不错,谢谢lz
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2008-1-29 17:34:47 | 只看该作者
类似的函数库也写了很多。LZ奉献的先收下了,哪一天正好调用,就节约俺们的工夫了。
同LS,LSS....对LZ表示感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2008-1-29 18:03:01 | 只看该作者
楼主啊 啥话都不说了 以后记得回来瞄瞄就好
祝福你
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2008-1-29 18:12:41 | 只看该作者
一个苹果换一个苹果,每个人只有一个苹果
一份知识换一份知识,每个人将有两份知识

不错,非常感谢搂主,希望大家在这里可以更好的分享测试精华,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2008-1-29 19:42:58 | 只看该作者

谢谢

谢谢 以后常回家看看,
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2008-1-29 23:47:06 | 只看该作者
LZ的无私值得我们所有人学习!
希望能在这里看到越来越多测试的知识和精华,让我们团结一致,为测试事业贡献自己的力量!
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2008-1-30 04:11:39 | 只看该作者
Thanks a lot!
回复 支持 反对

使用道具 举报

该用户从未签到

30#
发表于 2008-1-30 14:00:33 | 只看该作者
谢谢楼主。51测试网请你当版主真好。
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2008-1-30 23:52:51 | 只看该作者
真心感谢楼主1
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2008-1-31 09:52:22 | 只看该作者
支持开源~~支持免费!!!
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2008-1-31 10:10:01 | 只看该作者
Dim MyValue As Integer, temp As Integer, temp1 As Integer, toNum As Integer, fromNum As Integer, step As Integer, sign As Integer

Private Sub Form_Activate()
fromNum = InputBox("输入起始数")
           
              toNum = InputBox("输入结束数")
                  step = InputBox("输入间隔")
              
              
              If (fromNum < 0 Or toNum < 0) Then
               MsgBox ("不能小于0")
               sign = 1
              Else
              
                 temp1 = toNum - fromNum
                 If (temp1 < 0) Then
                 MsgBox ("起始数小于结束数")
                 sign = 1
                 Else
                 If (temp1 <= 10) Then
                 
                     Randomize
                      MyValue = Int(((toNum - fromNum) * Rnd) + (fromNum))
                Print MyValue
                        sign = 1
                     Else
                     
               
                 
               
                     If (temp1 >= 10) Then
               
               
                 temp = (toNum - fromNum) / step - 1
                 End If
                 End If
                 End If
              End If
            
              
                 For i = 1 To temp
        Randomize
        MyValue = Int(step * Rnd) + fromNum
                fromNum = fromNum + 8
                   Print MyValue
               
                Next i
               
                 '补最后一次
                 If (sign = 0) Then
                Randomize
        MyValue = Int(((toNum - fromNum) * Rnd) + (fromNum))
          Print MyValue
   
              End If
              
End Sub


是LZ的同学,看到他写了,帮他再完善一下吧,这个是随机函数的另一个版本.
它可以做到根据你想要随机的范围和密度进行调节,有兴趣的人可以自己试试.
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2008-1-31 10:11:07 | 只看该作者
谢谢楼主的无私奉献啊,楼主的帖子给使用QTP的同僚一个莫大的帮助啊,向你致敬!
回复 支持 反对

使用道具 举报

该用户从未签到

35#
 楼主| 发表于 2008-1-31 10:40:25 | 只看该作者
原帖由 kanebluba 于 2008-1-31 10:10 发表
Dim MyValue As Integer, temp As Integer, temp1 As Integer, toNum As Integer, fromNum As Integer, step As Integer, sign As Integer

Private Sub Form_Activate()
fromNum = InputBox("输入起始数")
     ...


呵呵,小朱来了我顶你一下
估计你以前是用标准VB或者VBA的吧,QTP用VBS的,所以代码调不通,我改了一下,但是没测试过你的代码,不知道功能是不是实现,以下你的代码可以调的通:

'Dim MyValue As Integer, temp As Integer, temp1 As Integer, toNum As Integer, fromNum As Integer, step As Integer, sign As Integer

Private Sub Form_Activate()
fromNum = InputBox("输入起始数")
           
              toNum = InputBox("输入结束数")
                  step = InputBox("输入间隔")
              
              
              If (fromNum < 0 Or toNum < 0) Then
               MsgBox ("不能小于0")
               sign = 1
              Else
              
                 temp1 = toNum - fromNum
                 If (temp1 < 0) Then
                 MsgBox ("起始数小于结束数")
                 sign = 1
                 Else
                 If (temp1 <= 10) Then
                 
                     Randomize
                      MyValue = Int(((toNum - fromNum) * Rnd) + (fromNum))
                Print MyValue
                        sign = 1
                     Else
                     
               
                 
               
                     If (temp1 >= 10) Then
               
               
                 temp = (toNum - fromNum) / step - 1
                 End If
                 End If
                 End If
              End If
            
              
                 For i = 1 To temp
        Randomize
        MyValue = Int(step * Rnd) + fromNum
                fromNum = fromNum + 8
                   Print MyValue
               
                Next
               
                 '补最后一次
                 If (sign = 0) Then
                Randomize
        MyValue = Int(((toNum - fromNum) * Rnd) + (fromNum))
          Print MyValue
   
              End If
              
End Sub

另外这样的话会更好:
1.定义变量最好在函数体里面的
2.代码要保持队形(锯齿形结构)
3.多余的空行最好删除,代码要容易阅读,可以参考一下林锐的《高质量C++编程》,我还是很推崇的,是关于代码规范的书,加油

[ 本帖最后由 yuandjing 于 2008-2-1 12:15 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

36#
发表于 2008-1-31 10:49:18 | 只看该作者
51最需要的就是这样的人才
回复 支持 反对

使用道具 举报

该用户从未签到

37#
发表于 2008-1-31 11:37:58 | 只看该作者
多谢楼主能无私的奉献
回复 支持 反对

使用道具 举报

该用户从未签到

38#
发表于 2008-1-31 14:09:54 | 只看该作者
Thank you Yuanding , 我现在也不用QTP了,收藏了,学习以下。
回复 支持 反对

使用道具 举报

该用户从未签到

39#
发表于 2008-1-31 14:41:03 | 只看该作者
LZ你没测试过?我是测试过放出来的,基本没什么问题.
大家有新的想法也可以贴出来的
回复 支持 反对

使用道具 举报

该用户从未签到

40#
发表于 2008-1-31 15:19:30 | 只看该作者
楼主走好   谢谢了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 14:35 , Processed in 0.087842 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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