String nach leerzeichen teilen

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von roddy.

    String nach leerzeichen teilen

    Hi Leute, es geht um folgendes:



    Ich hab ne Tabelle mit Daten Sätzen, n command button zum drucken.

    Drück ich den wird ne spezielle Druck Tabelle erstellt die die daten ausliest und formatiert.

    Das klappt auch soweit alles. jetzt ist nur der String der letzten zeile viel zu lang,

    und ich möchte den aufteilen habs mit der mid funktion versucht aber da is dann wegen verschiedenen texten manchmal n wort mitten drinne abgehackt.



    Meine idee ist es nun den string zwischen position 35-40 zu lesen und zu checken ob dort ein leerzeichen ist und wenn ja den string dort zu splitten(wenn nich dann zwischen 30-35)

    Hab nur bis jetzt absolut keinen ansatz dafür gefunden, könnt ihr mir vll helfen?`

    Gruß Baggy
    Vielleicht mit ner Schleife?

    Visual Basic-Quellcode

    1. Dim teilString as String
    2. Dim i, spacePos As Integer
    3. For i = 40 To 0 Step -1
    4. If Mid(langerString, i, 1) = " " Then
    5. spacePos = i
    6. Exit For
    7. End If
    8. Next i
    9. zeile1 = Mid(langerString, 0, spacePos)
    10. zeile2 = Mid(langerString, spacePos + 1, len(langerString)


    Das würde mir jetzt so spontan einfallen. Ist ungetestet und die funktion ist denke ich mal einfach zu erkennen.
    Die Schleife zähle von Pos 40 rückwärts, wird dann ein Leerzeichen erkannt, wird die Position gespeichert und die Schleife verlassen. Mit der Position des Leerzeichen kannste den langen String nun aufsplitten. Ich habe die Schleife die erst von 35-40 durchsucht weggelassen weils unötig ist und nur komplizierter.
    Gehts nicht auch so?

    Visual Basic-Quellcode

    1. dim string as string = [INHALT]
    2. string.split(" ")
    3. msgbox(string(1))
    4. ' steht in diesem Fall für die ersten Buchstaben vor der ersten Trennung


    Den Code habe ich jetzt aus dem Kopf geschrieben also:
    Wer Fehler findet, darf sie behalten!
    Klar kann man mit Split einen String aufteilen (nicht exakt so wie in deinem Beispiel, da es sich um VB6 handelt), jedoch will oOBaggyOo, denke ich, nicht ein Array mit den einzelnen Wörtern, sondern, dass ein Text spätenstens an Stelle 40 an einer vernünftigen Stelle, also an einem Leerzeichen, getrennt wird. Mit "Split" ist das zwar auch möglich, jedoch etwas komplizierter.