51Testing软件测试论坛
标题:
QTP读取文本问题
[打印本页]
作者:
andycai
时间:
2008-4-9 11:38
标题:
QTP读取文本问题
QTP读取文本问题
想问一下,我读取文本内容,要转向下一行,是怎么读取的,用readline好像读取一整行的。下一行就读取不了了。我使用了readall后,是全部内容读取,不符合我的意图,我想一行一行读取。
这个是我的代码:
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.OpenTextFile("e:\51test.txt", 1 , False)
Tmp = Split(MyFile.ReadAll, ",",-1,1)
For i=0 To 1
username=tmp(i)
password=tmp(i)
MsgBox username &"/"& password
Next
MyFile.Close
每次循环,第一次提示框的值是对的。第二次循环提示框的值就显示全部的值了。而我想每次循环就提示一行的数据值。我的文本格式是
存取登陆帐号的,格式如:aaa,bbb
作者:
milo.jiang
时间:
2008-4-9 11:46
建议用EXCEL形式保存测试数据,读取的时候可以将EXCEL文本中的内容导入到DATATABLE中,再通过DATATABLE的相关函数读取指定行和列的信息
作者:
andycai
时间:
2008-4-9 12:04
其实我想每种方式都尝试一下。这样感觉才比较好点吧呵呵
作者:
milo.jiang
时间:
2008-4-9 12:11
恩,有道理啊,这样可以拓宽思路。
不过就这个问题,个人的感觉是VBS对txt文本操作的函数很有限,不如EXCEL中VBA的函数强大
作者:
sidneylover
时间:
2008-4-9 13:29
while MyFile.atendofline<>true
msgbox MyFile.readLine
...............
wend
作者:
andycai
时间:
2008-4-9 15:24
谢谢。已经解决问题了。
Dim fso, MyFile,i,tmp
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.OpenTextFile("e:\51test.txt", 1 , False)
Do Until MyFile.AtEndOfStream/AtEndOfLine(两个都可以用)
tmp=MyFile.ReadLine
MsgBox tmp
loop
MyFile.Close
作者:
mustwangrong
时间:
2008-4-9 17:08
标题:
回复 6# 的帖子
AtEndOfStream--学习ing
记得以前有个帖子问读txt的,不知道他解决了没有
不过这个方法应该只适合txt每个纪录都换行的吧
空格分格的呢...
[
本帖最后由 mustwangrong 于 2008-4-9 17:11 编辑
]
作者:
hxf
时间:
2008-4-25 11:56
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.OpenTextFile("e:\51test.txt", 1 , False)
While myfile.AtEndOfStream <> True
Tmp = Split(MyFile.Readline, ",")
username=tmp(0)
password=tmp(1)
MsgBox username &"/"& password
wend
MyFile.Close
这段代码能满足你的需求。
作者:
tiger_86
时间:
2008-4-25 13:40
标题:
回复 7# 的帖子
关于txt的文件的读写,我曾经的问过一次!
我的问题是 读取一定的字节,并不是要读取一行,
现在我的问题也已经解决了!谢谢各位的帮忙!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2