使用 UFT/QTP 将列名与文本文件中的记录匹配
Match column names with records in text file Using UFT/QTP
我在文本文件中有 table 个信息:
CurrentOdometerReading PreviousOdometerReading GallonsOfGas GasPrice MPG TotalCost
500 200 15 2.55 20 .25
600 350 18 2.55 13.89 .90
700 510 17 2.55 11.18 .35
800 443 9 2.55 39.67 .95
950 801 8 2.55 18.63 .40
10000 8043 99 2.55 19.77 2.45
11000 5004 150 2.55 39.97 2.50
第一行实际包含列 names.The 下一行表示与列名匹配的数据。我真的很难在 UFT/QTP:
中以下面的方式打印(循环)这些数据
- 当前里程表读数 = 500
- 上一个里程表读数 = 200
- 加仑 = 15
- GasPrice = 2.55
- 英里/加仑 = 20
- 总成本 = 38.25
如果有人有类似的经历,我将非常感谢您的意见。
到目前为止我写了这个:
Set Fso=createobject ("scripting.filesystemobject")
set txtfile=fso.OpenTextFile filepath
var1=txtfile.ReadAll
var1=split(var1,vblf)
numarray= ubound(var1)
For i = 0 To numarray
content=split(var1(i)," ")
numlinearr=ubound(content)
print content(i)
'For Iterator = 1 To numlinearr
'bol=split(content(Iterator)," ")
'print content(i)&" = "& bol(Iterator)
'Next
next
看来你的开端不错。尽管您错过的是用于数据定义的特定数组。最好不要为不同的用途保留相同的变量名(就像你对 Var1 所做的那样)
类似于:
fileFull = txtFile.ReadAll
fileLines = Split(fileFull, vblf)
fileDataNames = Split(fileLines(0), " ")
numArray = UBound(fileLines)
numData = UBound(fileDataNames)
For LineNumber = 1 To numArray
content = ""
localDatas = Split(fileLines, " ")
For dataNumber = 0 to numData
content = content & fileDataNames(dataNumber) & " = " & localDatas(dataNumber)
Next
Print content
Next
基本思路是将第一行存储在别处,因为您将多次使用它。这就是为什么第一个循环从 1 开始,而不是从 0(由 split 函数创建的任何表格的基础)开始:零行是其他东西。
我在文本文件中有 table 个信息:
CurrentOdometerReading PreviousOdometerReading GallonsOfGas GasPrice MPG TotalCost
500 200 15 2.55 20 .25
600 350 18 2.55 13.89 .90
700 510 17 2.55 11.18 .35
800 443 9 2.55 39.67 .95
950 801 8 2.55 18.63 .40
10000 8043 99 2.55 19.77 2.45
11000 5004 150 2.55 39.97 2.50
第一行实际包含列 names.The 下一行表示与列名匹配的数据。我真的很难在 UFT/QTP:
中以下面的方式打印(循环)这些数据- 当前里程表读数 = 500
- 上一个里程表读数 = 200
- 加仑 = 15
- GasPrice = 2.55
- 英里/加仑 = 20
- 总成本 = 38.25
如果有人有类似的经历,我将非常感谢您的意见。 到目前为止我写了这个:
Set Fso=createobject ("scripting.filesystemobject")
set txtfile=fso.OpenTextFile filepath
var1=txtfile.ReadAll
var1=split(var1,vblf)
numarray= ubound(var1)
For i = 0 To numarray
content=split(var1(i)," ")
numlinearr=ubound(content)
print content(i)
'For Iterator = 1 To numlinearr
'bol=split(content(Iterator)," ")
'print content(i)&" = "& bol(Iterator)
'Next
next
看来你的开端不错。尽管您错过的是用于数据定义的特定数组。最好不要为不同的用途保留相同的变量名(就像你对 Var1 所做的那样)
类似于:
fileFull = txtFile.ReadAll
fileLines = Split(fileFull, vblf)
fileDataNames = Split(fileLines(0), " ")
numArray = UBound(fileLines)
numData = UBound(fileDataNames)
For LineNumber = 1 To numArray
content = ""
localDatas = Split(fileLines, " ")
For dataNumber = 0 to numData
content = content & fileDataNames(dataNumber) & " = " & localDatas(dataNumber)
Next
Print content
Next
基本思路是将第一行存储在别处,因为您将多次使用它。这就是为什么第一个循环从 1 开始,而不是从 0(由 split 函数创建的任何表格的基础)开始:零行是其他东西。