# Werte aus MultilineTextbox auslesen und an Variablen übergeben



## boneman85 (7. Juni 2010)

Hallo.

Ich habe folgendes Problem, welches mir Kopfzerbrechen bringt.

Ich möchte aus einer Multiline-Textbox Werte zeilenweise auslesen und diese dann an Variablen übergeben.
Der Inhalt der Textbox sieht z.B. folgendermaßen aus.

Y3,265       `Koordinate für Y Achse
X2,888        `Koordinate für X Achse
SP0             `Werkzeugwechsel wobei diese nur als MSgBox angezeigt wird
Y4,826
X2,739
Y4,265
Y3,742
m30           `Programm ende

Wie kann ich diese Werte nun Schritt für Schritt aus der Textbox auslesen und an die entsprechenden Variablen übergeben

Weiß jemand einen Rat? Bin was VB angeht noch ein Anfänger..
Danke schonmal.

Gruß Thomas


----------



## Yaslaw (7. Juni 2010)

ich habe mal ein kleines Beispiel gemacht.
txtTest ist die Textbox..

```
Private Sub cmdTest_Click()
    Dim rows() As String
    Dim row As String
    
    rows = Split(Me.txtTest, vbNewLine)

    If Not IsEmptyArray(rows) Then
        ' Variante mit Zähler
        For i = 0 To UBound(rows)
            Debug.Print rows(i)
        Next i
        
        'Variante mit For Each
        For Each row In rows
            Debug.Print row
        Next
        
    End If
End Sub
```

VBA hat die nette Eigenschaft, dass sie für Arrays wenig gute Funktionen hat. Einen initialisierten aber leerer Array gibt bei der weiterverarbeitung immer Probleme. Darum habe ich die Funktion IsEmptyArray() geschrieben die oben angwwendet wird. Diese musst du natürlich übernehmen oder den genzen IF-Teil anders lösen


```
'   /**
'    * IsEmptyArray
'    * @param   Array
'    * @return  true if Array is not initialized
'    */
Public Function IsEmptyArray(ByVal iArray As Variant) As Boolean
  Dim Dummy As Long

  If IsArray(iArray) Then

    'Ggf. Fehler provozieren:
    On Error Resume Next
    Dummy = LBound(iArray)

    'Ergebnis bestimmen:
    IsEmptyArray = (Err.Number <> 0)
    On Error GoTo 0

  Else

    Err.Raise 13 'Type mismatch'

  End If
End Function
```


----------



## boneman85 (7. Juni 2010)

Habe den Code jetzt mal eingegeben und wollte es mal versuchen.
Nur bringt er beim Klick auf den Commandbutton einen Fehler

Fehler beim Kompilieren
Ungültiger Bezeichner:

IsEmptyArray = (Err.Number <> 0)
Angezeigt wird hierbei der Ausdruck Err....
?


----------



## Yaslaw (7. Juni 2010)

Mit welcher Version arbeitest du?


----------



## boneman85 (7. Juni 2010)

Mit Visual Basic 6


----------



## Yaslaw (7. Juni 2010)

ups, ich habs nur mit VBA von Access7 getestet.
Musst den Teil ev. für VB6 umschreiben. Hab selber grad kein VB6 auf dem Rechner.

Dort wird geprüft, ob der Fehlercode ungleich 0 ist um herauszufinden ob ein Error geworfen wurde.


----------



## boneman85 (7. Juni 2010)

Okay. Danke. 
Ich werd mal versuchen ob ichs hinbekomme.


----------

