我有一个for循环,它遍历从CSV文件生成的数组。这将创建一个包含1,2或3组数字的数组。问题是,我需要为这些变量分配一个变量,因为我需要稍后在Web表单中使用它们。也;有时在数组中可能只有一组数字(因此只有数组(1)是可能的)。我如何将动态数组分配给单个变量 - 即 - YXVal,XV和YYVal的RXVal和GXVal,YYVAL的RYVAL和GYVal - 但如果数组中只有1,那么它将是YXVal和YYVal。
Do while NOT objTextFile.AtEndOfStream
arrStr = split(objTextFile.ReadLine,",")
for x = 1 to ubound(arrStr)
if arrStr(0) = "x" Then
Xval = arrStr(x)
response.write(XVal & "<br />")
end if
next
for y = 1 to ubound(arrStr)
if arrStr(0) = "y" Then
Yval = arrStr(y)
response.write(YVal & "<br />")
end if
next
Loop
答案 0 :(得分:4)
这是一种直截了当的方式。如果您希望多次出现"x"
和"y"
,并且您需要处理每次出现,则应在每次迭代开始时重新初始化变量值。否则,它们可能仍包含 last 迭代中的值。
Do Until objTextFile.AtEndOfStream
' Reinitialize variable values. This may be optional, depending on your needs.
YXVal = "" : RXVal = "" : GXVal = "" : YYVal = "" : RYVal = "" : GYVal = ""
' Read a line...
arrStr = Split(objTextFile.ReadLine, ",")
intSize = UBound(arrStr)
If intSize >= 0 Then
' Parse line values...
Select Case LCase(arrStr(0))
Case "x"
If intSize > 0 Then YXVal = arrStr(1)
If intSize > 1 Then RXVal = arrStr(2)
If intSize > 2 Then GXVal = arrStr(3)
Case "y"
If intSize > 0 Then YYVal = arrStr(1)
If intSize > 1 Then RYVal = arrStr(2)
If intSize > 2 Then GYVal = arrStr(3)
End Select
End If
Loop