51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6464|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

24#
发表于 2007-8-22 14:59:03 | 只看该作者
耶,这样就强壮了
Function read_line(pathway, rowcount)
        Dim fso,myfile,i,flag
        flag = 1
        Set fso=CreateObject("scripting.FileSystemObject")
        If fso.FileExists(pathway) then
                Set myfile = fso.openTextFile(pathway,1,false)
        Else
                flag = 0
        End If
       
        For i=1 to rowcount-1
                If Not myfile.AtEndOfLine Then
                        myfile.SkipLine
                End If
        Next
       
        If flag = 1 then
                If Not myfile.AtEndOfLine Then
                        read_line = myfile.ReadLine
                Else
                        read_line = "文本越界"
                End If
                myfile.close
        Else
                read_line = "文件不存在"
        End If
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2007-8-21 10:07:33 | 只看该作者
有没什么办法是可以读到制定哪一行,比如说我开头的是IE.EXE,但是行数会不断的变化
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2007-8-7 19:28:06 | 只看该作者
没看明白    还没到QTP   倒啊`~~
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2007-8-6 01:10:57 | 只看该作者
Call read_line(3)
Function read_line(rowcount)
Set fso=CreateObject("scripting.FileSystemObject")   
Set myfile = fso.openTextFile("D:\temp\test.txt",1,false)
For i=0 to rowcount-1
read_line=myfile.ReadLine
msgbox read_line

Next
myfile.close
End Function
可以实现循环读取各行的值
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.2]测试排长

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

    使用道具 举报

    该用户从未签到

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

    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    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 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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



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

    使用道具 举报

    该用户从未签到

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

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    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
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    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
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    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
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    依次读取每一行

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 10:38 , Processed in 0.079893 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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