• 18.04.2024, 02:59
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

[vb.net] ende einer datei herausfinden [erledigt]

Samstag, 1. April 2006, 18:22

lösung weiter unten

moin moin,

weiß jmd, wie ich unter visual basic .net herausfinden kann, wann eine datei eben zuende ist ?

möchte ein file zeile für zeile auslesen (text sowie binär files), dachte da an eine while schleife.. nur wie weiß ich, wann eine datei zuende ist ?
sowas wie while (line <> nothing) funkt nur halb, denn sobald in ner text datei eine zeile blank ist, erkennt er das als datei ende..

messi

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 18:30

Zitat von »messi@planung«

moin moin,

weiß jmd, wie ich unter visual basic .net herausfinden kann, wann eine datei eben zuende ist ?

möchte ein file zeile für zeile auslesen (text sowie binär files), dachte da an eine while schleife.. nur wie weiß ich, wann eine datei zuende ist ?
sowas wie while (line <> nothing) funkt nur halb, denn sobald in ner text datei eine zeile blank ist, erkennt er das als datei ende..

messi


ich hab nicht wirklich ahnung von vb, aber früher zu vb6-zeiten ging da so:

do while not eof(1)

wobei "1" die dateinummer ist

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 18:33

ich habs nun probiert mit

Quellcode

1
2
3
Do Until (inputstream1.Peek = -1) Or (inputstream2.Peek = -1)
[...]
Loop


das problem ist, dass das nun bei einer datei klappt, aber bei ner anderen ned..

edit:

Zitat von ».dap«



ich hab nicht wirklich ahnung von vb, aber früher zu vb6-zeiten ging da so:

do while not eof(1)

wobei "1" die dateinummer ist


do while not eof(1)
gibts auch bei vb.net noch.. nur was meinst du mit dateinummer ? ich würd eigentlich gerne den pfad durchgeben, ala c:\test.txt

messi

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 20:41

.dap's lösung ist vb6.

Eine adäquate .net lösung sähe in etwa so aus, das du deinen StreamReader solange ReadLine durchführen lässt, bis der rückgabe wert der methode Nothing ist.

Kann der Reader also keine weitere zeile mehr lesen, gibt er einfach nichts zurück. Daraus müsste man dann eine schöne Do Until schleife bauen:

Quellcode

1
2
3
4
5
dim r as string 
Do 
 r= MyStreamreader.readline
 console.writeline(r)
loop until r = nothing
Jabber-ID: |Azrael|@jabber.ccc.org

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 20:51

Ihr wollt mir doch nicht erzählen, dass es für VB(.NET) für so rudimentären Kram wie das Lesen von Dateien kein Cookbook-Rezept oder sowas gibt? Steht das in keinem Buch, nirgends im Internet? Sowas sollte (auch) jeder VB-Programmierer wie aus der Pistole geschossen sofort hintippen können.

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 22:52

Zitat von »Azr@el«

.dap's lösung ist vb6.

Eine adäquate .net lösung sähe in etwa so aus, das du deinen StreamReader solange ReadLine durchführen lässt, bis der rückgabe wert der methode Nothing ist.

Kann der Reader also keine weitere zeile mehr lesen, gibt er einfach nichts zurück. Daraus müsste man dann eine schöne Do Until schleife bauen:

Quellcode

1
2
3
4
5
dim r as string 
Do 
 r= MyStreamreader.readline
 console.writeline(r)
loop until r = nothing


genau das hab ich drin azrael.. das problem ist nur (wie oben auch beschrieben) sobald eine zeile leer ist beendet er das ganze, auch wenns zbsp in nem text nur ne leerzeile ist.

edit:
habs nu rausgefunden, funkt am besten mit:

Quellcode

1
2
3
Do Until (inputstream1.Peek = -1)
[...]
Loop

da ich zwei files hatte, wo der loop gleichzeitig laufen musste hatte ich ausversehen ein OR anstelle eines AND gebraucht, nun klappt es wunderbarst.

messi

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 23:02

Oh, verzeihung, mein fehler

Quellcode

1
2
3
4
5
dim r as string  
Do  
 r= MyStreamreader.readline 
 console.writeline(r) 
loop until r IS nothing


@Y0Gi: Extremst sinniger post...
Jabber-ID: |Azrael|@jabber.ccc.org

Re: [vb.net] wie ende einer datei herausfinden ?

Samstag, 1. April 2006, 23:05

siehe meinen edited post oben, azrael

endgültig siehts bei mir so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
Do Until (inputstream1.Peek = -1) And (inputstream2.Peek = -1)
                If line1 = line2 Then
                    line1 = inputstream1.ReadLine
                    line2 = inputstream2.ReadLine
                ElseIf line1 <> line2 Then
                    identiek = identiek + 1
                    line1 = inputstream1.ReadLine
                    line2 = inputstream2.ReadLine
                End If
            Loop



messi

Re: [vb.net] ende einer datei herausfinden [erledi

Samstag, 1. April 2006, 23:15

http://msdn2.microsoft.com/en-US/library…x8w(VS.80).aspx
http://visualbasic.ittoolbox.com/documents/popular-q-and-a/reading-a-file-in-visual-basic-2847
http://www.vbwm.com/articles/builder/viewer.asp?ArticleID=15
http://www.other-space.com/vb/part2/files.html
http://www.codecomments.com/archive293-2006-2-814071.html

Re: [vb.net] ende einer datei herausfinden [erledi

Sonntag, 2. April 2006, 11:50

darf man fragen, nachwas du gegoogled hast `? ich hab solche ergebnisse nicht gefunden :(

messi

Re: [vb.net] ende einer datei herausfinden [erledi

Sonntag, 2. April 2006, 14:45

"visual basic" read file (multiple)

Re: [vb.net] ende einer datei herausfinden [erledi

Sonntag, 2. April 2006, 14:48

nimm meinen letzten code, der ist schöner :)

ich hatte deinen post schon gelesen, keine sorge, und daraufhin meinen code berichtigt.
Jabber-ID: |Azrael|@jabber.ccc.org

Re: [vb.net] ende einer datei herausfinden [erledi

Sonntag, 2. April 2006, 15:34

Zitat von »Azr@el«

nimm meinen letzten code, der ist schöner :)

ich hatte deinen post schon gelesen, keine sorge, und daraufhin meinen code berichtigt.


sry, aber ich glaub immer noch nid dass dein code stimmt.. weil sobald in ner txt file zbsp ne leerzeile is, steigt den code doch direkt aus ?

deine lösung klappt doch.. ist sogar noch viel besser als das mit dem peek, weil peek aussteigt, wenn die datei nur eine zeile beinhaltet.

wo besteht denn der unterschied zwischen IS und = ?

messi