Hallo zusammen,
ich stehe mal wieder vor einem Problem (VB.net 2010) und sehe wahrscheinlich den Wald vor lauter Bäume nicht.
Wenn ich mir die Variable „Wortstrings“ (als String) per Messagebox ausgeben lasse, erhalte ich beim 2. Durchlauf der For-Schleife diese Fehlermeldungen:
Eine Ausnahme (erste Chance) des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten.
Eine Ausnahme (erste Chance) des Typs "System.ArgumentException" ist in Microsoft.VisualBasic.dll aufgetreten.
Ich überprüfe hier eine String-Variable auf ihre Länge. Sind es mehr als 30 Zeichen, so soll die Variable getrennt werden. In meinem bestimmten Fall ist die Variable 34 Zeichen lang, doch die letzten vier kommen nicht in Textbox 8, die ersten 30 aber sehr wohl in Textbox 7 hinein.
If (meineVariable.Length > 30) Then
Dim regMatches As MatchCollection
regMatches = Regex.Matches(meineVariable, „.{30}“)
For y = 0 To regMatches.Count - 1
wortstrings(y) = regMatches(y).Value
MsgBox(wortstrings(y))
Next y
TextBox7.Text = wortstrings(0) 'funktioniert
TextBox8.Text = wortstrings(1) 'Variable ist leer
Else
TextBox7.Text = meineVariable
End If
Inzwischen habe ich es mal ohne Regex probiert (keine Ahnung, ob es da irgendwelche Vor- oder Nachteile der einen oder anderen Version gibt) und erhalte folgende Fehlermeldungen:
Eine Ausnahme (erste Chance) des Typs "System.ArgumentOutOfRangeException" ist in mscorlib.dll aufgetreten.
Eine Ausnahme (erste Chance) des Typs "System.ArgumentException" ist in Microsoft.VisualBasic.dll aufgetreten.
Dim meineVariable2 As String = meineVariable.Substring(30, meineVariable.Length) 'Hier scheint der Fehler zu liegen
meineVariable = meineVariable.Substring(0, 30)
TextBox7.Text = meineVariable
TextBox8.Text = meineVariable2
Ich hoffe, ich habe hier nur irgendwo etwas übersehen, was sich schnell beheben lässt.
Danke im Voraus für eure Bemühungen.
Peremptore