# Zeichen in String zählen



## Beutel2008 (2. Januar 2008)

Hallo, Nach meiner 2h suche im Netztbin ich jetzt sehr verzweifelt.

Ich habe eineText Datei und will die Zeilenumbrüche zählen. Nun fehlt mir nur noch die gewisse Funktion um die Zeilen brüche zuzählen. In Delphi ist es relativ einfach warum in VB nicht?


----------



## ojamaney (2. Januar 2008)

Speicher den Text in einer Datei, öffne diese wieder und zähle die Zeilen. Dann haste die Zeilenumbrüche. Ist ne Sache von Sekunden...


```
Dim ff As Integer
Dim strDummyText As String
Dim intLines As Integer

ff = FreeFile
'Datei speichern
Open "Datei" For Output As ff
Print #ff, DeinText
Close ff

ff = FreeFile
intLines = 0
strDummyText = ""
'Datei öffnen
Open Datei For Input As ff
        Do While Not EOF(ff)
            DoEvents
            Line Input #ff, strDummyText
            intLines = intLines + 1     'Zeilen zählen
        Loop
    Close ff
```


----------



## Beutel2008 (2. Januar 2008)

Es kommt aus einer Datei! Ich will es getrennt aber in ein Grid schrieben und dazu muss ich im vorhinein wissen wieviele Datensätze es sind.


----------



## ojamaney (2. Januar 2008)

Dann reden wir nicht von Zeilenumbrüchen, sondern von Datensätzen. Du kannst mit Put und Get auf die Datei zugreifen. Oder schau Dir dochmal diesen Tipp an: http://vb-fun.de/vb/tipps/tip0332.shtml


----------



## DrSoong (3. Januar 2008)

Lies das ganze doch binär ein und trenne dann an den Zeilenumbrüchen.


```
Dim sInhalt$, sZeilen$(), iFile%
iFile = FreeFile
sDatei = "C:\Text.txt" 'deine Datei
sInhalt = Space(FileLen(sDatei))

Open sDatei For Binary As iFile
 Get #iFile, , sInhalt
Close iFile

sZeilen = Split(sInhalt, vbNewLine)
'Anzahl der Zeilen ausgeben:
MsgBox UBound(sZeilen()) + 1
```
Der Vorteil ist, dass du in einer Schleife gleich die Zeilen in dein Grid übernehmen kannst:

```
For cnt = 0 To Ubound(sZeilen())
 'Hier einfach den Inhalt von sZeilen(cnt) in dein Grid übernehmen
Next cnt
```


Der Doc!


----------

