これは私の最初の投稿ですが、他の投稿を読むことで、数え切れないほどの問題を解決することができました。あなたたちは素晴らしいです。この時点までに提供してくださったすべての支援に感謝します。また、ここで私に提供できるアドバイスを事前に感謝します。
そのため、配列内のリストからランダムに数字を選択するこのスクリプトに取り組んでいます。このセクションでやろうとしているのは、 の 3 番目の次元の各要素の数値を読み取り、NumberHistoryArray
2 番目の次元から対応する数値を 3 番目に示された回数だけnumberDump
配列に書き込むことです。また、それが機能することを確認し、他の問題に遭遇して出力が何であるかを知る必要がある場合に参照できるようにするために、テキストファイルに書き込んでいます。
編集 NumberHistoryArray の 2 番目の次元には、1 ~ 35 の数値が含まれます。3 番目の次元には、numberDump 配列に書き込まれるときに、2 番目の次元の各数値が繰り返される回数が含まれます。
たとえば、NumberHistoryArray(4, 0, 0) が 4 の場合、numberDump(0, 0, 0) から (0, 0, 3) までに 1 回ずつ、数値 1 を 4 回書き込み、numberDump() のサイズを次のように動的に変更する必要があります。 numberDump(0, 0, 0) から numberDump(0, 0, 3) をエコーした結果は 1 1 1 1 になります。 NumberHistoryArray(4, 1, 1) が 7 の場合、 numberDump(1, 1, 0) で number 2 を 7 回。
編集
Do ループ内から numberDump テキスト ファイルに書き込む場合、テキスト ファイルは完璧です。Do ループ内から配列内の各要素の内容をエコーすると、内容は正確です。Do ループの外に出ると、内容は空白になります。テイカーはいますか?
Dim NumberHistoryArray(5, 34, 3)
Dim numberDump()
reDim numberDump(3, 34, 0)
' generate the number list and store it in the array
For n = LBound(numberDump, 1) to UBound(numberDump, 1)
i = 1
x = 0
y = 1
Do
Set objTextFile = objFSO.OpenTextFile("numberDump.txt", 8, True)
' determine how many elements are needed in the third dimension of the
' array to store the output
x = x + NumberHistoryArray(4, i - 1, n)
' resize the array
ReDim Preserve numberDump(3, 34, x)
' input the numbers
For z = y to UBound(NumberDump, 3)
numberDump(n, i - 1, z) = i
objTextFile.WriteLine(numberDump(n, i - 1, z))
Next
objTextFile.Close
y = x + 1
i = i + 1
Loop Until i = 36
Next
For i = 0 to UBound(numberDump, 2)
For j = 0 to UBound(numberDump, 3)
wscript.Echo numberDump(0, i, j)
Next
Next