QTP/UFT - 在一个数组中存储多个数组
QTP/UFT - Storing Multiple Arrays In An Array
我有一个函数可以将 sheet 导入全局 sheet,然后循环遍历列和行以创建一个数组。
代码
Public Function importArray()
DataTable.ImportSheet "location","Lists", "Global"
rowCount = DataTable.GetSheet(dtGlobalSheet).GetRowCount -1
columnCount = DataTable.GetSheet(dtGlobalSheet).GetParameterCount
ReDim myArray(-1)
For x = 1 to columnCount Step 1
For i = 0 to rowCount Step 1
ReDim Preserve myArray(UBound(myArray) + 1)
myArray(i) = Datatable.Value(x, dtGlobalSheet)
Datatable.SetNextRow
Next
MsgBox Join(myArray, vbNewLine)
Next
End Function
现在我知道我可以将列放入一个数组中,我需要单独存储每个数组。
例如:
主数组 = myArray(i)
调用importArray()获取数组
列数 = 2
列名 = 姓名、姓氏
将数组存储到名称为列名的数组变量中
用存储的数组填充 myArray()
myArray(姓名(), 姓氏())
我想这样做的原因是因为我有一个函数需要引用这些数组来查找数组中的值然后执行一些逻辑。虽然我知道我可以一个一个地创建数组,但问题是我可能有 20 个数组要使用,在这种情况下代码会变得非常庞大。
也许有更好的方法来完成我想做的事情,但除此之外,我们将不胜感激。
使用多维数组
'Declare a Dynamic Array
Dim arrData()
' Make it a multidimensional array
ReDim Preserve arrData(rowCount, colCount)
For Loop row
For Loop col
arrData(row, col) = ...
Next
Next
列名作为数组索引是不行的——那已经是一个字典 (Map)
我有一个函数可以将 sheet 导入全局 sheet,然后循环遍历列和行以创建一个数组。
代码
Public Function importArray()
DataTable.ImportSheet "location","Lists", "Global"
rowCount = DataTable.GetSheet(dtGlobalSheet).GetRowCount -1
columnCount = DataTable.GetSheet(dtGlobalSheet).GetParameterCount
ReDim myArray(-1)
For x = 1 to columnCount Step 1
For i = 0 to rowCount Step 1
ReDim Preserve myArray(UBound(myArray) + 1)
myArray(i) = Datatable.Value(x, dtGlobalSheet)
Datatable.SetNextRow
Next
MsgBox Join(myArray, vbNewLine)
Next
End Function
现在我知道我可以将列放入一个数组中,我需要单独存储每个数组。
例如:
主数组 = myArray(i)
调用importArray()获取数组
列数 = 2
列名 = 姓名、姓氏
将数组存储到名称为列名的数组变量中
用存储的数组填充 myArray()
myArray(姓名(), 姓氏())
我想这样做的原因是因为我有一个函数需要引用这些数组来查找数组中的值然后执行一些逻辑。虽然我知道我可以一个一个地创建数组,但问题是我可能有 20 个数组要使用,在这种情况下代码会变得非常庞大。
也许有更好的方法来完成我想做的事情,但除此之外,我们将不胜感激。
使用多维数组
'Declare a Dynamic Array
Dim arrData()
' Make it a multidimensional array
ReDim Preserve arrData(rowCount, colCount)
For Loop row
For Loop col
arrData(row, col) = ...
Next
Next
列名作为数组索引是不行的——那已经是一个字典 (Map)