Text aus Textbox auslesen!

Dark Ranger

Erfahrenes Mitglied
Also! Ich will einen Text in eine Textbox kopieren und dann den Text auseinandernehmen!

Z.B.: Brauche ich den Text in der ersten Zeile, der Zwischen [ und ] steht! Und dann zum Beispiel noch den Text in der zweiten Zeile von Anfang bis dahin, wo zum ersten mal die Zaheln aufhören!
Ich kann halt nicht nach dem Text suchen lassen, weil der sich immer wieder verändert, aber diese Merkmale, die ich oben beschrieben haben, ändern sich nicht!

Und dann sollen die Werte in verschiedene Textboxen aufgeteilt werden!
Wert1 soll in Textbox1
Wert2 in Textbox 2 usw.

Gibt es dafür irgendwelche Befehle? Habt ihr mich überhaupt verstanden?
 
:google: Wird dir bestimmt alle Antworten liefern, oder nutze Suchen funktion des Forums ;)

Such nach Split + String in google, dann bekommste ganz viele Antworten ;)

mfg
ziop
 
Ich habe Google benutzt und weiß wie ich Split usw. benutze, aber ich habe nicht gefunden, wie man einen Text Zwischen Zwei Zeichen ausliest, kann mir das jemand erklären?
 
Du suchst mit der InStr-Funktion erst nach "[", das liefert dir die Position des [ als Zahl zurück. Schau nach InStr in der Hilfe
Dann suchst du mit InStr nach "]"
Und diese beiden Werte benutzt du dann mit der mid-Funktion (Hilfe hilft).

Allerdings gibt es da noch ein kleines Problem:
bei mid musst du die länge des Teilstrings angeben, d.h. das der zweite InStr wert dir nicht weiterhelfen wird. Du musst dir die länge zwischen [ und ] errechnen. Dafür nimmst du den 2. InStr wert und ziehst den 1. Instr wert ab.

Das sieht dann soaus:
Code:
 mid("Hier steht ein [ und ein ]", 1. InStrWert, 2. InStrWert - 1. InStrWert)
 
 Ergebnis: " und ein "

Die Umsetzung überlass ich mal dir!
 
Geht ganz gut, aber kann ich irgendwie den Code verkürzen?

Code:
Dim Eingabe As String
Dim p1 As Integer
Dim p2 As Integer
Dim p3 As String
Dim m1 As Integer
Dim m2 As Integer
Dim m3 As String
Dim k1 As Integer
Dim k2 As Integer
Dim k3 As String
Eingabe = txtEingabe.text
If InStr(Eingabe, "[") And InStr(Eingabe, "]") Then
p1 = InStr(Eingabe, "[")
p2 = InStr(Eingabe, "]")
p3 = Mid(Eingabe, p1, p2 - p1)
LblPosition.Caption = "Position " & p3 & "]"
Else
LblPosition.Caption = "Keine Angaben"
End If
If InStr(Eingabe, "3.Wort") And InStr(Eingabe, "4.Wort") Then
m1 = InStr(Eingabe, "3.Wort")
m2 = InStr(Eingabe, "4.Wort")
m3 = Mid(Eingabe, m1, m2 - m1)
Lbl3Wort.Caption = m3
Else
Lbl3Wort.Caption = "Keine Angaben"
End If
If InStr(Eingabe, "4.Wort") And InStr(Eingabe, "5.Wort") Then
k1 = InStr(Eingabe, "4.Wort")
k2 = InStr(Eingabe, "5.Wort")
k3 = Mid(Eingabe, k1, k2 - k1)
Lbl4Wort.Caption = k3
Else
Lbl4Wort.Caption = "Keine Angaben"
End If

Es wird halt immer nach ganz bestimmten Wörtern gesucht! Kann mir da einer einen Vorschlag machen, wie ich den Code verkürzen kann, hilft da vielleicht eine Tabelle oder eine Textdatei wo die ganzen wörter nacheinander drinstehen?
Aber sonst funktioniert der Code perfekt, dank an "dignsag"
 
Schon, aber ich bin im Moment viel zu sehr beschäftigt als mich da grad durchzudenken. Wenn ich ein freies Minütchen finde werd ich mirs gern nochmal angucken.

Gruß Dignsag
 

Neue Beiträge

Zurück