回复
好程序 无痕很厉害啊程序都很精简和经典 来了好几趟,还是这儿好。
支持多发程序。
我虽然不会发程序,但会给你们摇旗呐喊的! 久不久投放一颗深水炸弹:);|(xl_div lst nom)表分段. -> 返回 分段的表. ------by 无痕.2004.1
; lst = 表,nom = 分段的子表元素个数(从1开始计).
; 测试: (xl_div '(1 2 3 4 5 6 7 8 9) 3) -> ((1 2 3) (4 5 6) (7 8 9))
(xl_div '(1 2 3 4 5 6 7 8 9 10 11) 3) -> ((1 2 3) (4 5 6) (7 8 9) (10 11))
(xl_div '(17086.8 5666.8 0.0 16093.0 8693.12 0.0 16093.0 7827.36 0.0 16093.0 6639.13 0.0) 3)
-> ((17086.8 5666.8 0.0) (16093.0 8693.12 0.0) (16093.0 7827.36 0.0) (16093.0 6639.13 0.0))
(xl_div nil 2) -> nil
|;;方法7. ok!**************************************************
(defun xl-div (lst x / lst2)
(foreach n lst
(if (and lst2 (/= x (length (car lst2))))
(setq lst2 (cons (append (car lst2)(list n))(cdr lst2)))
(setq lst2 (cons (list n) lst2))
)
)(reverse lst2)
) 经典,顶 太好了!但我一时好像用不上.
回复
期待您的好贴,与我们共享哦 取对象的10号组码. 谁可以用简易的方法去每个点表的10呀?(setq ent (nentsel "\nSelect a Polyline or spline: "))<BR> (vl-remove-if-not '(lambda(x) (= 10 (car x))) (entget(car ent))) 别光说不练,现在就发。。。
Public Function 提取多行文字(文字串 As String)<BR> Dim 多行文字1 As String<BR> Dim 多行文字 As String<BR> Dim 多行文字2 As String<BR> Dim 数据(0 To 1)<BR> <BR> Dim i As Integer<BR> <BR> i = 0: 数据(0) = "": 多行文字1 = 文字串<BR>处理:<BR> Do Until Len(多行文字1) = 0<BR> 多行文字 = Left(多行文字1, 1)<BR> If 多行文字 = "\" Then<BR> 多行文字2 = Mid(多行文字1, 2, 1)<BR> Select Case 多行文字2<BR> Case "\"<BR> 数据(0) = 数据(0) + "\"<BR> Case "{"<BR> 数据(0) = 数据(0) + "{"<BR> Case "}"<BR> 数据(0) = 数据(0) + "}"<BR> Case "~" '插入不间断空格<BR> 数据(0) = 数据(0) + " "<BR> Case "P" '结束段落<BR> 数据(0) = 数据(0) + vbCr<BR> End Select<BR> 多行文字1 = Mid(多行文字1, 3): GoTo 处理<BR> End If<BR> If 多行文字 = "{" Then<BR> 数据(1) = Mid(多行文字1, 3, InStr(多行文字1, ";") - 3)<BR> 多行文字1 = Mid(多行文字1, InStr(多行文字1, ";") + 1): GoTo 处理<BR> End If<BR> If 多行文字 = "}" Then 多行文字1 = Mid(多行文字1, 2): GoTo 处理<BR> 数据(0) = 数据(0) + 多行文字: 多行文字1 = Mid(多行文字1, 2)<BR> Loop<BR> 提取多行文字 = 数据<BR>End Function<BR>
我喜欢用vb/vba...