# Carriage Return / Line Feed String in ListView



## Hannibal (17. November 2004)

Guten Morgen

Ich habe nun ein ListView mit folgendem Header:

Innentemperatur,Windricht,Geschw.,Aussentemperatur,Lichtstärke

Nun möchte ich die Daten einfüllen, diese Bekomme ich folgendermassen als String:

25.7,SW,26,16.0,0.97,
25.7,SW,26,16.0,0.97,
26.2,SW,26,16.0,0.97,
25.7,SW,25,16.0,0.97,

Und zwar sind die immer nach dem letzen Komma mit einem CarriageReturn getrennt.

Wie muss ich das ganze nun verarbeiten, damit ich diese Werte in das ListView schreiben kann?

Liebe Grüsse
Hannibal


----------



## Filone (17. November 2004)

Du kannst Dir mit Instr() anzeigen lassen, an welcher Stelle im Text Deine CrLf ist. 

Dann kannst Du einzeln die Zeilen einlesen (wenn das nicht sowieso schon anders geht, je nachdem wie die Daten in der Datei stehen) und mit Split() die einzelnen Felder trennen. 

Dann hast Du ein schönes Array, daß Du mit Array(Index) ansprechen kannst um die Daten in Dein Listview zu füllen.


----------



## Hannibal (17. November 2004)

In Ordnung danke schonmal, ich meinte auch wie genau ich auf CfLf prüfe.


----------



## Filone (18. November 2004)

CrLf = Chr(10) + Chr(13)

Wenn ich mich nicht irre musst Du danach suchen lassen. Interessant wäre nur zu wissen, ob das als ein Zeichen oder zwei Zeichen behandelt wird. *amKopfKratz*

Vielleicht weiß das einer von den Cracks hier ?


----------



## wincnc (18. November 2004)

Versuch´s mal so:

```
Dim Text() As String
Dim Li As ListItem
Dim N As Long

Text = Split(DeinString, vbCrLf)

Set Li = ListView1.ListItems.Add(, , Text(0))

For N = 1 To UBound(Text) - 1
 Li.ListSubItems.Add , , Text(N)
Next
```


----------



## Hannibal (22. November 2004)

Danke nochmals für die Tipps, ich schlag mich noch immer etwas mit dem ganzen rum, also geht leider noch immer nicht.


----------



## Hannibal (22. November 2004)

Mein Code sieht nun so aus:

Ich muss ja die einzelnen Zeilen dann noch in die ListSpalten füllen.

Doch der Code läuft einfach durch aber es geschiet nichts. Ich habe wohl etwas nicht ganz richtig gemacht dort beim Zugreifen auf den Array.


```
Dim Text() As String 'Text Array
    Dim N As Long
    Dim zeile As String
    
    count = 0
    Text = Split(txtDaten, vbCrLf)
    
    Set Li = ListView1.ListItems.Add(, , Text(0))

    For N = 1 To UBound(Text) - 1
        zeile = Text(N)
        
        Do
        count = count + 1
        If InStr(zeile, ",") > 0 Then
            Li.ListSubItems.Add count, , Left$(zeile, InStr(zeile, ",") - 1)
            zeile = Right$(zeile, Len(zeile) - InStr(zeile, ","))
        End If
        Loop Until InStr(zeile, ",") = 0
    Next
End Sub
```


----------

