chb1982
Goto Top

Wie funktiioniert readline()

Hi,

ich verstehe einfach nicht wie das mit ReadLine und ReadToEnd funktioniert.

mein Ziel ist es um es zu verstehen eine Textdatei zeilenweise durchzugehen und jede Zeile jeweils in eine Msgbox zu schreiben.
Mein Ansatz

Dim blub As String
Dim sr As New StreamReader("c:\Destination\merkfile.txt")
For Each blub In sr.ReadLine
MsgBox(blub, MsgBoxStyle.Information, AcceptButton)
Next

funktioniert nicht. So bekomme ich je Zeichen der ersten Zeile eine MsgBox und das wars.
Wie schaffe ich es die ganze Zeile zu bekommen und danach die nächste etc.?

Content-Key: 135167

Url: https://administrator.de/contentid/135167

Printed on: April 23, 2024 at 13:04 o'clock

Member: Biber
Biber Feb 04, 2010 at 12:15:16 (UTC)
Goto Top
Moin morpheus31337,


wenn du einen Stream liest (bzw die Methoden eines Stream-Objects ansprichst), dann ist quasi der Standard des Lesens und Fortbewegens "das nächste Zeichen.
Gilt z.B. für die Methoden .Read(), .Write(), Skip()...

Wenn du "zeilenweise" arbeiten willst, was ja programmiertechnis nicht mehr heißt als "die nächste wievielauchimmer zeichen bis zum nächsten CRLF inclusive,
dann musst du Methoden .WriteLine(), ReadLine(), SkipLine(), ReissLine() etc. benutzen.

Kann aber jede zweite Suchmaschine viel besser erklären als ich.

Grüße
Biber
Member: chb1982
chb1982 Feb 04, 2010 at 12:23:18 (UTC)
Goto Top
Das ist ja genau mein Problem.
Wie in dem Beispiel oben liest ReadLine halt nicht die ganze Zeile sondern jedes Zeichen einzeln.
Member: marinux
marinux Feb 04, 2010 at 12:32:22 (UTC)
Goto Top
Mit
For Each blub In sr.ReadLine
Gibst du ja auch die Anweisung, dass jedes Zeichen in der aktuell zu lesenden Zeile ausgegeben wird.

"Für jedes Zeichen (blub) in der Zeile"
Member: chb1982
chb1982 Feb 04, 2010 at 12:33:47 (UTC)
Goto Top
Zitat von @marinux:
Mit
For Each blub In sr.ReadLine
Gibst du ja auch die Anweisung, dass jedes Zeichen in der aktuell zu lesenden Zeile ausgegeben wird.

"Für jedes Zeichen (blub) in der Zeile"

Ok. Und wie müsste es dann richtig sein?
Member: Biber
Biber Feb 04, 2010 at 12:43:46 (UTC)
Goto Top
Ok. Und wie müsste es dann richtig sein?
In Pseudocode:

Solange nich EndOfStream
msgbox( .readline() )
EndSolange

Hast du mal eine Suchmaschine oder einen zufällig Vorbeikommenden nach StreamReader befragt?

Selbst unsere aserbaidschanische Büro-Bodenkosmetikerin ist da vergleichsweise beherzt und probiert gern alles aus...

Grüße
Biber
Member: chb1982
chb1982 Feb 04, 2010 at 13:07:12 (UTC)
Goto Top
Danke.
Klar habe ich vorher gesucht um mir hier nicht die Blöße zu geben. Aber ohne sonderlichen Erfolg. Ich hatte mich so auf diese for each Geschichte versteift und da waren die Hilfen im Netz nur verwirrend.
Manchmal hat man solche Knoten im Hirn.

Danke für die Hilfe!