vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Mathematische Knobelei 
Autor: MrByte
Datum: 30.04.03 12:19

danke, das wars. Habe den falschen Denkansatz gewählt, deshalb ging es schief.
Private Const CMAXLETTER = 6
 
Private Function AlleKombi(Txt As String) As String()
    Dim Teil As String, Kombis() As String, Kombi As String
    Dim Index As Long, SplitterIndex As Long
 
    For SplitterIndex = 0 To Len(Txt) - 1
        Splitter Txt, SplitterIndex, True
    Next SplitterIndex
End Function
 
Private Function Splitter(Txt As String, AnzSplitter As Long, Reset As Boolean) _
  As String
    Dim Index As Long, LenTxt As Long
    Static Buf As String
 
    If AnzSplitter = 0 And Len(Txt) <= CMAXLETTER Then
        Splitter = Txt
'        Debug.Print Splitter
        Splitter = ""
    End If
    If Reset = True Then Buf = ""
    LenTxt = Len(Txt)
    If AnzSplitter = 1 And LenTxt <= 2 * CMAXLETTER Then
        Index = 1
        Do While Index <= LenTxt - 1
            If Index <= CMAXLETTER And LenTxt - Index <= CMAXLETTER Then
                Splitter = StrCat(Splitter, Left(Txt, Index), Right(Txt, LenTxt _
                  - Index))
                If Not (Buf = "") Then Splitter = StrCat(Buf, Splitter)
'                Debug.Print Splitter
                Splitter = ""
            End If
           Index = Index + 1
        Loop
    End If
    If AnzSplitter > 1 Then
        Index = 1
        Do While Index <= LenTxt - AnzSplitter
            Buf = StrCat(Buf, Left(Txt, Index))
            Splitter = StrCat(Splitter, Buf, Splitter(Right(Txt, LenTxt - _
              Index), AnzSplitter - 1, False))
'            Debug.Print Splitter
            If Not (Splitter = "") Then
                Buf = StrLisCut(Splitter, 1)
                Splitter = ""
            End If
            Index = Index + 1
        Loop
    End If
End Function
 
Private Function StrLisCut(Txt As String, Anzahl As Long) As String
    Dim Lis() As String
    Dim Index As Long
 
    Lis = Split(Txt)
    StrLisCut = ""
    For Index = 0 To UBound(Lis()) - 1
        StrLisCut = StrCat(StrLisCut, Lis(Index))
    Next Index
End Function
 
Private Function StrCat(ParamArray Lis()) As String
    Dim Index As Long
 
    For Index = 0 To UBound(Lis())
        If Not (Lis(Index) = "") Then
            If StrCat = "" Then
                StrCat = Lis(Index)
            Else
                StrCat = StrCat + " " + Lis(Index)
            End If
        End If
    Next Index
End Function

NS

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mathematische Knobelei622MrByte23.04.03 18:09
Re: Mathematische Knobelei415ModeratorMartoeng23.04.03 18:22
Re: Mathematische Knobelei144Frank123.04.03 21:56
Re: Mathematische Knobelei326MrByte24.04.03 10:58
Re: Mathematische Knobelei272Dirk24.04.03 11:26
Re: Mathematische Knobelei285MrByte30.04.03 12:19
Re: Mathematische Knobelei84Zardoz30.04.03 13:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel