|
| Autor |
Nachricht |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
[Text] Spezielle Zeile aus einer Textdatei lesen
Verfasst am: 26.07.2007, 22:36 |
|
|
So, da will ich mal wieder ein kleines Tutorial schreiben.
Und zwar will ich euch zeigen, wie ihr eine bestimmte zeile aus einer Textdatei auslesen, in einer Variable speichern und ausgeben könnt
Also dann mal los.
Als erstes legen wir uns eine neue Textdatei an und fügen 10 Zeilen mit Inhalt ein. Und speichern sie in unserem Debug Ordner unseres
Projekts
Bsp:
C:\Dokumente und Einstellungen\Marduk\Eigene Dateien\Visual Studio 2005\Projects\tutorial\tutorial\bin\Debug
Bsp:
erste zeile
zweite zeile
dritte zeile
...
Als nächstes brauchen wir eine Form, eine Textbox, einen Button und ein Label.
Anschließend gehen wir in unser Codefenster und importieren uns den IO Namespace. Dazu geben wir in der ersten Zeile folgendes ein
| Code: | Imports System.IO
Public Class Form1 |
Als nächstes klicken wir doppelt auf unseren Button.
Danach deklarieren wir erst mal ein paar Variablen
| Code: | Dim sr As StreamReader = New StreamReader("datei.txt.txt") 'Das ist unser StreamReader, mit dem wir die Datei 'auslesen werden
Dim line As String 'Hier speichern wir unsere Zeile, die wir haben wollen
Dim i As Integer |
So, um nun an unsere Zeile zu kommen, wenden wir eine ganz simple Lösung an.
Wir lassen den StreamReader so lange eine Zeile auslesen und in die nächste springen, bis wir in unserer Zielzeile sind.
Dazu verwenden wir eine For Schleife.
Hier der Code:
| Code: | For i = 1 To 5 'Wir wollen die Zeile 5 auslesen
line = sr.ReadLine() 'der SR liest die erste Zeile, speichert sie in der Variable und liest die nächste Zeile und überschreibt die Variable wieder. Bis wir zur 5ten Zeile kommen.
Next |
In der fünften Zeile angekommen, stoppen wir die Schleife und lassen uns die Zeile in einem Label ausgeben.
| Code: | | lblzeile.Text = line |
Ausgabe: "fünfte Zeile"
So einfach ist das. Da wir ja nicht immer nur die fünfte Zeile auslesen wollen, ersetzen wir die "5" in der Scheife mit dem Inhalt
aus unserer Textbox.
| Code: | For i = 1 To txtzeile.Text
line = sr.ReadLine()
Next |
Ausgabe: je nach dem welche Zahl ihr eingegeben habt.
Also wie ihr seht kann man "schwierige" Probleme, mit einfachen Mitteln lösen
Bis zum nächsten mal
euer Marduk |
|
| |
|
 |
TheCoder_ Überflieger


Anmeldedatum: 31.12.2006 Beiträge: 359 Wohnort: Essen
|
Verfasst am: 27.07.2007, 08:50 |
|
|
Schönes tut. Freut mich das inzwischen auch ein paar Leute hier vb.net fördern.
Nur ich hab eine Frage: Würde ein Error kommen wenn man zb. in einer 5zeiligen txt datei die 6 7 oder 8 zeile auslesen will?
Also wenn man eine Zeile auslesen will die es gar nicht gibt?
 |
|
| |
|
 |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
Verfasst am: 27.07.2007, 15:41 |
|
|
| Laut meinem Debugger ist der Inhalt dann "Nothing" ,also bleibt das Label leer. Bei mir wird keine Fehlermeldung angezeigt. |
|
| |
|
 |
TheCoder_ Überflieger


Anmeldedatum: 31.12.2006 Beiträge: 359 Wohnort: Essen
|
Verfasst am: 27.07.2007, 16:46 |
|
|
Aso k. Ja ich habs net getestet nur war son verdachtsmoment. Kenn mich mit .net nich so wirklich aus
 |
|
| |
|
 |
|
|