minicad 发表于 2003-6-27 14:38:00

用数组作为函数的参数,只能这样调用吗?

下面是代码:
-----------------------------------
'使用点数组创建轻量多段线(number为数组的元素个数)
Public Function AddLPline(ByRef pt() As Double, ByVal number As Integer) As AcadLWPolyline
    On Error GoTo errHandle
   
    If number Mod 2 <> 0 Then
      MsgBox "数组元素个数必须为偶数!"
    End If
   
    Set AddLPline = ThisDrawing.ModelSpace.AddLightWeightPolyline(pt)
   
    Exit Function
errHandle:
    MsgBox "数组元素个数与参数不符!"
    MsgBox Err.Description
End Function

'“主函数”
Sub AddPolyline()
    Dim pt(0 To 5) As Double
   
    pt(0) = 0: pt(1) = 0
    pt(2) = 30: pt(3) = 30
    pt(4) = 30: pt(5) = 100
   
    AddLPline pt, 6
End Sub

mccad 发表于 2003-6-27 15:08:00

你想要讨论什么问题?
如果对于这个例子来说,倒不如直接ThisDrawing.ModelSpace.AddLightWeightPolyline来直接画线。
从用户提供的点数组可以直接计算出用户提供的元素数量,而不必在函数中指定。

minicad 发表于 2003-6-27 15:30:00

对,我就是想知道,在不指定元素数量的情况下,如何判断点数组中元素的个数?
多谢指教。

mccad 发表于 2003-6-27 17:05:00

使用LBound, UBound这两个函数可以判断数组的最小和最大下标,由最大下标减去最小下标就可以得到数组的元素数量
页: [1]
查看完整版本: 用数组作为函数的参数,只能这样调用吗?