Ankündigung

Einklappen
Keine Ankündigung bisher.

Anzahl der Knoten mit Auflager

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anzahl der Knoten mit Auflager

    Schönen Abend,

    ich sitze gerade vor einem Problem, von dem ich hoffe, dass es schnell gelöst werden kann, ich bin allerdings mit meinem Latein am Ende...

    Ich suche eine Funktion mit der ich die Anzahl der Knoten mit Auflager finden kann... bin bisher nur auf

    count = RSTopo.rsGetNodeSupportCount

    gestoßen, was mir allerdings nur die Anzahl der Auflagertypen ausgibt....

    Hat einer von euch eine Ahnung, wie ich das angehen könnte?

  • #2
    AW: Anzahl der Knoten mit Auflager

    Also, ich hab jetzt ne variante, nur das muss irgendwie einfacher gehen als das hiert....

    Code:
    Function suppcount()
    
    Dim RSPos As RSTAB6.Structure
    Dim RSTopo As RSTAB6.IrsStructuralData
    Dim counttype, count, i, j, k, m, strich, pos, zahl1, zahl2, group, läng, läng1 As Integer
    Dim str As String
    Dim supp As RS_NODE_SUPPORT
    
    Set RSPos = GetObject(, "RSTAB6.Structure")
    RSPos.rsGetApplication.rsLockLicence
    Set RSTopo = RSPos.rsGetStructuralData
    
    
    On Error GoTo e
    
    counttype = RSTopo.rsGetNodeSupportCount
    
    pos = 1
    
    
    For i = 0 To counttype - 1
        supp = RSTopo.rsGetNodeSupport(i, AT_INDEX).rsGetData
    
        str = supp.strNodeList
        
        strich = UBound(Split(str, "-"))
        
            For j = 0 To strich - 1
                
                läng = 0
                For k = 1 To 7
                    If IsNumeric(Mid(str, InStr(pos, str, "-") + k, 1)) = True Then
                        läng = läng + 1
    
                    Else
                        GoTo t:
                    End If
                Next
    t:
                läng1 = 0
                For m = 1 To 7
                    If m <= pos Then
                        If IsNumeric(Mid(str, InStr(pos, str, "-") - m, 1)) = True Then
                            läng1 = läng1 + 1
                        Else
                            GoTo r
                        End If
                    Else
                        GoTo r
                    End If
                Next
                
            
    r:
            
            zahl1 = Mid(str, InStr(pos, str, "-") + 1, läng)
            zahl2 = Mid(str, InStr(pos, str, "-") - läng1, läng1)
            
            group = zahl1 - zahl2 + 1
            count = count + group
            
            pos = InStr(pos, str, "-") + 1
        
        Next
        
        count = count + UBound(Split(str, ",")) + 1 - strich
        
    
        
    Next
    
    suppcount = count
    
    e:
    If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    
    Set RSTopo = Nothing
    RSPos.rsGetApplication.rsUnlockLicence
    Set RSPos = Nothing
    
    End Function

    Kommentar

    Lädt...
    X