Thema Datum  Von Nutzer Rating
Antwort
10.12.2011 20:42:54 svkr
NotSolved
10.12.2011 22:34:59 Till
NotSolved
10.12.2011 23:01:27 Gast23600
NotSolved
11.12.2011 01:51:37 Till
NotSolved
11.12.2011 02:18:32 svkr
NotSolved
11.12.2011 03:38:23 Till
NotSolved
14.12.2011 20:24:46 svkr
NotSolved
16.12.2011 00:25:11 Till
NotSolved
Rot Zeichen zählen und addieren aus string-Werten eines arrays innerhalb einer for-Schleife.
16.12.2011 02:03:32 Till
NotSolved
17.12.2011 14:12:32 svkr
NotSolved
17.12.2011 22:53:56 Till
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
16.12.2011 02:03:32
Views:
1838
Rating: Antwort:
  Ja
Thema:
Zeichen zählen und addieren aus string-Werten eines arrays innerhalb einer for-Schleife.

Seh grade, dass es so nicht laufen wird. Naja, hier mal die einfache Version ohne Optimierung:

Option Explicit

Private Sub CommandButton7_Click()
Dim Arr(), xxArray, xxLenArr&()
Dim MaxXLen#
Dim I&, J&, E&
Dim a$, b$, c$, str$
Dim teilstring$
 
    a = "AAAA" 'textbox_a.Text
    b = "BBB" 'textbox_b.Text
    c = "CCCCC" 'textbox_c.Text
    xxArray = Split("sfds,sdfsdfsd,sdssd,sdf,sd,f,sd,f877h9,sd,f,sdr4f,sd,f,sd,f,sdfsdfsdf,sdfghjhjkkgfds,rdfgh,h,iro687,w5es,gb", ",")
    MaxXLen = 60 - (Len(a & b & c) + 3)
    
    E = UBound(xxArray)
    ReDim xxLenArr(E)
    For I = 0 To E
        xxLenArr(I) = Len(xxArray(I))
    Next
    
    'Verteilen
        AllocateSimple Arr, xxLenArr, MaxXLen
    
    'daten auslesen
        For I = 0 To UBound(Arr)
            For J = 0 To UBound(Arr(I))
                If teilstring = "" Then
                    teilstring = xxArray(Arr(I)(J))
                Else
                    teilstring = teilstring & ", " & xxArray(Arr(I)(J))
                End If
            Next
            str = a & " " & b & " " & teilstring & " " & c
            Debug.Print str & "|" & Len(str) & "/" & 60 
            teilstring = vbNullString
        Next
 
End Sub

Function AllocateSimple(Arr(), ByVal Items, Cap#) As Double
Dim a&, I&, J&, S&, E&, Spot#()
Dim Sum#, V#
    
    'sort
        E = UBound(Items)
        S = LBound(Items)
        
    'allocate items
        For a = S To E
            If Items(a) > 0 Then
            
                V = CDbl(Items(a))
                If Sum + V <= Cap Then
                    
                    ReDim Preserve Spot(I)
                    Spot(I) = a
                    I = I + 1
                    Sum = Sum + V + 2
                    
                Else
                    
                    ReDim Preserve Arr(J)
                    Arr(J) = Spot
                    
                    J = J + 1
                    Sum = 0
                    I = 0
                    a = a - 1
                    
                End If
                
            End If
        Next
    
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen