51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6455|回复: 23
打印 上一主题 下一主题

[原创] 在QTP中如何从txt文件读取数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-27 17:58:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我网上看到一段代码,我稍微改了一下,内容如下:


Dim fso, myfile,userName,Password
Set fso=CreateObject("scrīpting.FileSystemObject")
Set myfile = fso.openTextFile("C:\login.txt",1,false)
tmp = split(myfile.readline,",")
userName = tmp(0)
msgbox(userName)
Password = tmp(1)
myfile.close

但是总提示“ActiveX 部件不能创建对象: 'scrīpting.FileSystemObject'”,不知道是怎么回事!请各位帮我看看!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-27 18:00:43 | 只看该作者
同志,你这是网上搜了再接拷去运行的吧
'scrīpting前面那个i
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-27 18:23:02 | 只看该作者
开始-》运行
regsvr32 jscript.dll
regsvr32 vbscript.dll
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-27 19:09:00 | 只看该作者
Dim fso, myfile,userName,Password
Set fso=CreateObject("scripting.FileSystemObject")   
Set myfile = fso.openTextFile("C:\login.txt",1,false)
tmp = split(myfile.readline,",")
userName = tmp(0)
msgbox(userName)
Password = tmp(1)
myfile.close
'scripting 写错了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-7-28 09:26:09 | 只看该作者
对对对,就是那个i写错了!太感谢你们了!sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-7-28 09:40:08 | 只看该作者
如何读取第二行的数据呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-7-28 11:47:20 | 只看该作者

依次读取每一行

do until (myfile.AtEndofStream)
    tmp = myfile.readline
    ...
loop
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-7-28 12:01:25 | 只看该作者
用SkipLine可以实现.

  1. Dim fso, myfile,msg
  2. Set fso=CreateObject("scripting.FileSystemObject")   
  3. Set myfile = fso.openTextFile("C:\login.txt",1,false)
  4. myfile.SkipLine
  5. msg=myfile.ReadLine
  6. myfile.close
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-7-28 15:17:21 | 只看该作者
这里很多qtp高手阿
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-7-31 14:47:18 | 只看该作者

回复 #6 love3380 的帖子

原帖由 love3380 于 2007-7-28 09:40 发表
如何读取第二行的数据呢?
ReadLine方法就可以实现
  1. msg1=myfile.ReadLine   '读取第一行
  2. msg2=myfile.ReadLine           '读取第二行
  3. msg3=myfile.ReadLine           '读取第三行
  4. msgbox msg1
  5. msgbox msg2
  6. msgbox msg3
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-7-31 14:56:12 | 只看该作者
原帖由 风过无息 于 2007-7-28 12:01 发表
用SkipLine可以实现.
SkipLine方法:跳过下一行
  1. Dim fso, myfile,msg
  2. Set fso=CreateObject("scripting.FileSystemObject")   
  3. Set myfile = fso.openTextFile("C:\login.txt",1,false)
  4. myfile.SkipLine                    '跳过第一行  
  5. msg=myfile.ReadLine           '读取的是第二行
  6. myfile.close
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-7-31 17:43:48 | 只看该作者
sdlkfj2 支持一下
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-8-1 13:17:31 | 只看该作者
其实可以用个循环+SkipLine来读取特定行的数据,呵呵.
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-8-1 17:15:09 | 只看该作者
while not myfile.atendofstream
    mychar = myfile.readline
    msgbox mychar
wend

可以这样试试。用循环+readline读取txt文件的内容。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-8-1 18:24:04 | 只看该作者
原帖由 风过无息 于 2007-8-1 13:17 发表
其实可以用个循环+SkipLine来读取特定行的数据,呵呵.



怎么来读取特定行的数据?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-8-1 19:36:30 | 只看该作者
  1. Function read_line(rowcount)
  2. Set fso=CreateObject("scripting.FileSystemObject")   
  3. Set myfile = fso.openTextFile("C:\qtplog.txt",1,false)

  4. For i=1 to rowcount-1
  5. myfile.SkipLine
  6. Next

  7. read_line=myfile.ReadLine

  8. myfile.close
  9. End Function
复制代码


以上这个方法在处理错误输入的时候还不完善,有兴趣的朋友可以完善它.

[ 本帖最后由 风过无息 于 2007-8-1 19:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-8-1 23:23:03 | 只看该作者
本贴不错
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-8-1 23:47:46 | 只看该作者
一定要顶
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-8-2 09:25:32 | 只看该作者
原帖由 rojer521 于 2007-7-28 11:47 发表
do until (myfile.AtEndofStream)
    tmp = myfile.readline
    ...
loop

学习了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2015-12-2 10:12
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    20#
    发表于 2007-8-2 09:36:17 | 只看该作者
    哈哈~~~学到点经验~~谢谢!!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 02:35 , Processed in 0.089719 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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