Code: Select all
Dim aRezult() As String
Dim As Integer iRowNumber, iColumnNumber
FuncName(... , aRezult() As String, iRowNumber, iColumnNumber)
Function GetArray2d(... , aRezult() As String, ByRef iRowNumber As Integer, ByRef iColumnNumber As Integer) As Integer
Dim As Integer iArraySise = 888, iArraySizeStep = 888,
iRowNumber = 0
iColumnNumber = SomeFunc(...)
ReDim aRezult(0 To iArraySise, 0 To (iColumnNumber-1))
Do
<step>
If Done Or Error Then Exit Do
iRowNumber += 1
If iRowNumber > iArraySize Then
iArraySize += iArraySizeSTEP
ReDim Preserve aRezult(0 To iArraySize, 0 To (iColumnNumber-1))
EndIf
For iColumnNum As ULong = 0 to (iColumnNumber - 1)
aRezult(iRowNumber,iColumnNum) = <...>
Next
Loop
' ........................................................................................
Print "iRowNumber = ";iRowNumber,"iColumnNumber = ";iColumnNumber
Print "iRowBound = ";LBound(aRezult,1);"/";UBound(aRezult,1),"iColumnBound = ";LBound(aRezult,2);"/";UBound(aRezult,2)
' ........................................................................................
For i As Integer = 0 To iRowNumber
Print "aRezult("&Str(i)&",0) = ";aRezult(i,0),"(";aRezult(i,1);"/";aRezult(i,2);")"
Next i
' ........................................................................................
ReDim Preserve aRezult(0 To iRowNumber, iColumnNumber-1) As String
' ........................................................................................
Print
Print "iRowNumber = ";iRowNumber,"iColumnNumber = ";iColumnNumber
Print "iRowBound = ";LBound(aRezult,1);"/";UBound(aRezult,1),"iColumnBound = ";LBound(aRezult,2);"/";UBound(aRezult,2)
For i As Integer = 0 To iRowNumber
Print "aRezult("&Str(i)&",0) = ";aRezult(i,0),"(";aRezult(i,1);"/";aRezult(i,2);")"
Next i
' ........................................................................................
aRezult(0,0) = Str(iRowNumber)
' ........................................................................................
End Function
Code: Select all
iRowNumber = 6 iColumnNumber = 4
iRowBound = 0/ 888 iColumnBound = 0/ 3
aRezult(0,0) = (/)
aRezult(1,0) = aaa (0/179)
aRezult(2,0) = bbb (0/8650)
aRezult(3,0) = ccc (0/136115)
aRezult(4,0) = ddd (0/3)
aRezult(5,0) = eee (0/12837)
aRezult(6,0) = fff (0/184817)
iRowNumber = 6 iColumnNumber = 4
iRowBound = 0/ 6 iColumnBound = 0/ 3
aRezult(0,0) = (/)
aRezult(1,0) = aaa (0/179)
aRezult(2,0) = (/)
aRezult(3,0) = (/)
aRezult(4,0) = (/)
aRezult(5,0) = (/)
aRezult(6,0) = (/)