# Textbox auslesen und Inhalt aufteilen



## AirsoftDivisionHRO (7. März 2008)

Ich habe vier ListBoxen auf meiner Form:
lstGame
lstDescription
lstAdress
lstValue


Beim Start der Form soll eine Textbox ausgelesen werden(klappt schon mal).
Inhalt der Textdatei:

GTA:_San_Andreas Health &HB0D32 45

Der Inhalt der Textdatei soll in dem ListBoxen dargestellt werden(siehe farbliche Zuordnungen).
z.B. In der listbox lstGame soll GTA:_San_Andreas angezeigt werden, In der listbox lstDescription Health usw.


----------



## wincnc (8. März 2008)

Hallo, hier ein Beispiel:

```
Private Sub Form_Load()
Dim FNr As Integer
Dim Zeile As String
Dim Worte() As String
Dim N As Integer

  FNr = FreeFile

  Open "d:\test.txt" For Input As #FNr
    Zeile = Input(LOF(FNr), #FNr)
  Close #FNr

  Worte = Split(Zeile, " ")

  Me.lstGame.AddItem Worte(0)
  Me.lstDescription.AddItem Worte(1)
  Me.lstAdress.AddItem Worte(2)
  Me.lstValue.AddItem Worte(3)
End Sub
```


----------



## AirsoftDivisionHRO (8. März 2008)

Großes Danke.Meine voherige Frage hast Du (haben Sie) beantwortet. Habe aber vergessen zu erwähnen, dass es mehrere Zeilen in der Textdatei giebt.

Desweiteren soll immer wenn man auf speichern klickt der Inhalt der Textboxen in eine neue Zeile geschrieben werden.


----------



## DrSoong (8. März 2008)

Einmal redest du von Textbox, einmal von Textdatei, ich nehm mal an, dass du eine Textbox meinst. Dann trennst du erst die Zeilen am Zeilenumbruch, erst dann mit dem Code von wincnc am Leerzeichen:

```
Private Sub Form_Load()
 'Variablen dimensionieren
 Dim FNr As Integer
 Dim TextInhalt As String
 Dim Zeilen() As String
 Dim Worte() As String
 Dim N As Integer
 Dim cnt

 'Inhalt der Textbox einlesen
 TextInhalt = Text1.Text
 'und am Zeimenumbruch trennen
 Zeilen = Split(TextInhalt, vbNewLine)

 'Alle Zeilen durchgehen
 For cnt = 0 To UBound(Zeilen())
  'in der Zeile nach Leerzeichen trennen
  Worte = Split(Zeilen(cnt), " ")

  'und in die Listboxen schreiben
  Me.lstGame.AddItem Worte(0)
  Me.lstDescription.AddItem Worte(1)
  Me.lstAdress.AddItem Worte(2)
  Me.lstValue.AddItem Worte(3)
 Next cnt
End Sub
```
Das mit dem Speichern der Textboxen kapier ich nicht, welche Textboxen hast du sonst noch?


Der Doc!


----------



## AirsoftDivisionHRO (9. März 2008)

Hab mich oben verschrieben. Es giebt in der Textdatei mehrere Zeilen.


----------



## DrSoong (9. März 2008)

Das mit der Textdatei ist beim Einlesen gleich, statt

```
'Inhalt der Textbox einlesen
 TextInhalt = Text1.Text
```
musst du halt

```
FNr = FreeFile

  Open "d:\test.txt" For Binary As #FNr
    Get #FNr, , TextInhalt
  Close #FNr
```
schreiben, der Rest bleibt gleich.

Das mit dem Speichern kapier ich noch immer nicht, meinst du, dass mit Klick auf einen Button der Inhalt der Listen in die Textdatei gespeichert werden soll?


Der Doc!


----------



## ronaldh (10. März 2008)

In diesem Fall könnte man dann zeilenweise einlesen:


```
FNr = FreeFile
    Open "Test.txt" for Input as #FNr
    Do While Not EOF(FNr)
           Line Input #Fnr, Text
           'hier dann Text nach Leerzeichen aufsplitten, wie WinCNC beschrieben hat
    Loop
    Close #FNr
```


----------

