bsirhell 发表于 2006-7-17 19:14:00

[求助]字符个数计数

现在想一次先输出T的数量,然后输出R的数量,请问该怎么改?
Sub co()
    Dim SSet As AcadSelectionSet

    Dim obj As AcadText
    Dim ptcen(0 To 2) As Double
    Dim endPoint1(0 To 2) As Double
    Dim endPoint2(0 To 2) As Double
    Dim cline As AcadLine
    Dim lineHalfLength As Double
    Dim groupCode(0 To 4) As Integer
    Dim dataValue(0 To 4) As Variant
    Dim i As Integer
   
   
    On Error Resume Next
   
    If Not IsNull(ThisDrawing.SelectionSets.Item("tex")) Then
       Set SSet = ThisDrawing.SelectionSets.Item("tex")
       SSet.Delete
    End If
   
    Set SSet = ThisDrawing.SelectionSets.Add("ArcsCirclesEllipses")
   
    '设置选择过滤器
    groupCode(0) = -4
    dataValue(0) = ""
   
    '提示用户选择
    ThisDrawing.Utility.Prompt "选择" & vbCr
    SSet.SelectOnScreen groupCode, dataValue
   
    For Each obj In SSet
    If obj.TextString = "T" Then
    i = i + 1
   
    End If
   
    obj.Update

    MsgBox "共有T" & i
   If obj.TextString = "R" Then
    i = i + 1
   
    End If
   
    obj.Update

    MsgBox "共有R" & i
    Next obj
   
   
End Sub

雪山飞狐_lzh 发表于 2006-7-18 12:33:00

你能解释下下这里是什么意思么?
groupCode(1) = 0
dataValue(1) = "0"

bsirhell 发表于 2006-7-21 21:46:00

groupCode(1) = 0
dataValue(1) = "0"
是原过滤器过滤多种数据!

雪山飞狐_lzh 发表于 2006-7-21 23:58:00

没有这种做法:)
groupCode数组表示DXF组码
dataValue数组表示对应组码的数值
组码0表示一个实体的图元类型
关于这些具体可以看看DXF组码的帮助部分
好像上次做过一次的
设置过滤器为
0,"Text",1,"T"
就可以过滤出T的数量
页: [1]
查看完整版本: [求助]字符个数计数