Textbox ab bestimmtem Zeichen auslesen

VERGiL1202

Grünschnabel
Hallo,
ich möchte aus einer Textbox den Inhalt ab einem bestimmten Zeichen auslesen.
Also sagem wir ich habe eine Textbox mit dem Inhalt "ersterteil:zweiterteil"
Wie ich den kompletten Inhalt VOR dem Doppelpunkt auslesen kann, weiß ich.
Nur eben nicht NACH dem Doppelpunkt.

Zweites Problem: Ich habe ein ListView Steuerelement (3 - lvwReport) mit mehreren Spalten.
Wie ich Inhalte in die erste Spalte eintrage weiß ich. Aber wie kann ich etwas in die Zweite eintragen?
Achja:
Code:
ListView.ListItems(1).SubItems(1) = "Erstespalte-Erstesitem"
ListView.ListItems(1).SubItems(2) = "Zweitespalte-Erstesitem"
funktioniert nicht. (Laufzeitfehler 35600: Indexgrenze überschritten)

Danke schonmal :)
 
Sollte beim ersten Problem helfen:

Code:
    Dim strTest As String
    Dim iPos As Integer
    
    strTest = "teileins:teilzwei"
    
    iPos = InStr(1, strTest, ":")
    
    Debug.Print Left$(strTest, iPos - 1)
    Debug.Print right$(strTest, Len(strTest) - iPos)

Grüße

Edit:
Also strTest weißt du dann den String in der Textbox zu(txtBox.Value).
 
Zu Frage 1:
Lies dir die VB-Hilfe zur Split-Funktion durch

Zu Frage 2:
SubItems muessen per Add-Methode hinzugefuegt werden (und glaub mir, das Listview verwende ich taeglich)
 
Nicht SubItems, ListItems müssen per Add hinzugefügt werden. Du musst also erst mal mit
Visual Basic:
ListView.ListItems.Add Index, Schlüssel, Text, Symbol, KleinesSymbol
eine Zeile hinzufügen, du hast damit außerdem gleich den Eintrag der ersten Spalte. Jede weitere Spalte sprichst du dann mit
Visual Basic:
ListView.ListItems(1).SubItems(1) = "Zweitespalte-Erstesitem"
an.

Vergiss aber nicht, vorher die ColumnHeaders auf die Anzahl festzulegen, die du als Spaltenanzahl brauchst. Schau dir dazu auch das ActiveVB-Beispiel an.


Der Doc!
 
Uhmmm, Doc, also ich habe jetzt nochmal nachgelesen (und auch gegoogled), und ueberall wird gesagt, dass die SubItems eine Auflistung sind, und neue SubItems per Add hinzugefuegt werden muessen (und ich kenne es auch nicht anderst).

Habe ich irgendwo einen Denkfehler?
 
Das Problem ist, dass SubItems rein denklich was anderes ist als die Subitems bei VB. Wie du am Code siehst, adde ich die ListItems, die streng genommen ja Subitems sind. Die eigentlichen Subitems, die in VB so angesprochen werden, nicht per Add dazukommen.

Richtig ist aber auch insofern, dass die Anzahl der SubItems je Zeile von der Anzahl der ColumnHeader abhängen, die ja mit Add hinzugefügt werden.

Manchmal verursacht VB mir richtig Kopfschmerzen.


Der Doc!
 
Okay, das klappt soweit. Danke DrSoong!

Eine Frage habe ich aber noch:
Wie kann ich auf die Inhalte der ersten Spalte zugreifen?
Auf die der 2. und 3. geht das ja mit:
Code:
ListView.ListItems(1).SubItems(1)   'für erstes Item, zweite Spalte
ListView.ListItems(2).SubItems(1)   'für zweites Item, zweite Spalte
usw...

Nur eben bei der ersten Spalte nicht.
Danke schonmal!
 
Die erste Spalte sprichst du nicht über SubItem sondern normal über ListItem an:
Visual Basic:
ListView.ListItems(1).Text


Der Doc!
 
Zurück