jkbanana 发表于 2007-12-4 12:43:00
<p>选择集中的顺序不是固定的,当选择集中的物体被更新时,其顺序排列会变化的。</p><p>因此用sset.item(i)来确定物体的顺序似乎不好吧。</p><p>还是用handle属性比较可靠。</p>兰州人 发表于 2007-12-14 16:08:00
<p>handle属性在实际应用中排序意义不大。</p><p>handle的赋值是按实体写入到AutoCAD的顺序排列。</p><p>1、在现实工作中,人们理解的内容是从左右到右,从上到下的排序过程。</p><p>2、按封闭面域的顺序排序,零部件等。</p><p>3、按内容排序,如材料表的序号等排序。</p>雪山飞狐_lzh 发表于 2007-12-16 18:45:00
选择集也是一种集合,结果放在选择集、集合或数组中没什么区别laoliu09 发表于 2007-12-16 21:39:00
<p>进来就为了支持一下飞狐斑竹,我2年前初学VBA的时候,在明经通道问的第一个问题是:"什么是VBA啊?",是飞狐斑竹第一个回答我的!支持!</p>兰州人 发表于 2007-12-18 16:22:00
<p>排序组合应用</p><p>'不重复排序<br/>Function gg(xm)</p><p> Dim arr, Temp() As String '声明变量<br/> Dim s%, r% '声明单值变量<br/> On Error Resume Next '启动一个错误处理程序<br/> <br/> r = 0 '初值<br/> s = UBound(xm) '最大下标<br/> ReDim arr(s - 1)<br/> For i = 0 To s '循环<br/> Temp = Filter(arr, xm(i)) '搜索数组<br/> If UBound(Temp) = -1 Then '如果未找到<br/> r = r + 1 '序号,自增1<br/> ReDim Preserve arr(1 To r) '定义动态数组大小<br/> arr(r) = xm(i) '把姓名复制到数组Arr()中。<br/> ' Debug.Print Arr(r)<br/> <br/> End If<br/> Next<br/> gg = arr<br/> Debug.Print<br/>End Function</p><p>Sub lll()<br/> Dim xm1(), abc(), Gggg()<br/> xm1 = Array(2, 0, 3, 1, 9, 9, 2, 3, 1, 2, 2, 2, 1, 9, 9, 9, 3)<br/> abc = gg(xm1)<br/> Debug.Print TypeName(abc)<br/> Gggg = Bubble_Sort(abc)<br/> Debug.Print<br/>End Sub</p><p>Function Bubble_Sort(Ary)<br/> Dim aryUBound, i, j<br/> aryUBound = UBound(Ary)<br/> Debug.Print aryUBound<br/> Debug.Print TypeName(Ary)<br/> For ii = 1 To aryUBound<br/> Debug.Print Ary(ii)<br/> Next ii<br/> Debug.Print<br/> For i = 1 To aryUBound<br/> For j = i + 1 To aryUBound<br/> If Ary(i) > Ary(j) Then<br/> Swap Ary(i), Ary(j)<br/> End If<br/> Next<br/> Next<br/> Bubble_Sort = Ary</p><p>End Function</p><p>Function Swap(a, b)<br/> Dim tmp<br/> tmp = a<br/> a = b<br/> b = tmp<br/>End Function</p><p></p>
页:
1
[2]