Wie speichere ich mehrzeilige Texte mit VB.NET 2003 in eine Datei und lese einzelne Blöcke anhand von Überschriften aus?

Antwort

Um mehrzeilige Texte in eine Datei zu speichern und später anhand von Überschriften (z. B. [Block1], [Block2]) auszulesen, kannst du in VB.NET 2003 wie folgt vorgehen: **1. Speichern mehrzeiliger Texte mit Überschriften:** Du kannst die Datei als einfachen Text strukturieren, z. B. so: ``` [Block1] Zeile 1 von Block 1 Zeile 2 von Block 1 [Block2] Zeile 1 von Block 2 Zeile 2 von Block 2 ``` Das Speichern könnte so aussehen: ```vbnet Dim pfad As String = "C:\temp\textdatei.txt" Dim sw As New System.IO.StreamWriter(pfad, False) sw.WriteLine("[Block1]") sw.WriteLine("Zeile 1 von Block 1") sw.WriteLine("Zeile 2 von Block 1") sw.WriteLine() sw.WriteLine("[Block2]") sw.WriteLine("Zeile 1 von Block 2") sw.WriteLine("Zeile 2 von Block 2") sw.Close() ``` **2. Auslesen eines Blocks anhand der Überschrift:** Du kannst die Datei zeilenweise einlesen und die gewünschten Blöcke extrahieren: ```vbnet Dim pfad As String = "C:\temp\textdatei.txt" Dim blockName As String = "[Block2]" Dim blockText As New System.Text.StringBuilder() Dim leseBlock As Boolean = False Dim sr As New System.IO.StreamReader(pfad) Dim zeile As String Do zeile = sr.ReadLine() If zeile Is Nothing Then Exit Do If zeile.Trim() = blockName Then leseBlock = True Continue Do End If If leseBlock Then If zeile.StartsWith("[") And zeile.EndsWith("]") Then Exit Do ' Nächster Block beginnt, also stoppen End If blockText.AppendLine(zeile) End If Loop sr.Close() ' blockText.ToString() enthält jetzt den gewünschten Block ``` **Hinweise:** - Die Blöcke werden durch Überschriften in eckigen Klammern getrennt. - Leere Zeilen zwischen den Blöcken sind optional, aber hilfreich für die Lesbarkeit. - Die Methode funktioniert auch mit beliebig vielen Blöcken. **Weitere Tipps:** - Für komplexere Strukturen empfiehlt sich das INI-Format oder XML, aber für einfache Zwecke reicht diese Methode völlig aus. - Achte auf den Zeichensatz beim Lesen/Schreiben (Standard ist UTF-8). **Links:** - [Microsoft Dokumentation zu StreamReader](https://learn.microsoft.com/de-de/dotnet/api/system.io.streamreader) - [Microsoft Dokumentation zu StreamWriter](https://learn.microsoft.com/de-de/dotnet/api/system.io.streamwriter)

KI fragen

Verwandte Fragen

Was ist das Gegenteil von Path.Combine(...) in VB.NET 2003?

In VB.NET 2003 ist das Gegenteil von `Path.Combine(...)` das Zerlegen eines zusammengesetzten Dateipfads in seine Einzelteile (Verzeichnisse und Dateiname). Während `Path.Combine` mehrere Teile z... [mehr]

Gibt es ‚Path.GetFileName‘ in VB.NET 2003?

Richtig, in VB.NET 2003 (also .NET Framework 1.1) gibt es die Methode `Path.GetFileName` bereits, aber möglicherweise hast du einen Fehler im Code oder im Import der Namespaces. So funktioniert... [mehr]

Gibt es fertigen Code für einen selbstgebauten FileDialog in VB.NET 2003 und wie lautet dieser?

Für VB.NET 2003 gibt es keinen offiziellen, fertigen Code für einen komplett selbstgebauten FileDialog, da normalerweise der Standarddialog (`OpenFileDialog`, `SaveFileDialog`) verwendet wir... [mehr]

Gibt es einen Weg, die Dateiansicht (View) aus einer VB.NET 2003-App heraus zu ändern?

Ja, es ist möglich, die Dateiansicht (View) eines Datei-Dialogs (z. B. OpenFileDialog oder SaveFileDialog) in einer VB.NET 2003-Anwendung zu ändern – allerdings nur mit Einschränk... [mehr]

Kann man in der IDE von VB.NET 2023 nachträglich den Namen der zu kompilierenden EXE-Datei ändern?

Ja, in der IDE von VB.NET (Visual Studio) kannst du den Namen der zu kompilierenden EXE-Datei nachträglich ändern. Das geht folgendermaßen: 1. **Projektmappen-Explorer öffnen:**... [mehr]

Warum werden ä, ö, ü und ß beim Speichern einer RichTextBox in VB.NET 2003 als type.plaintext nicht korrekt gespeichert?

Das Problem, dass deine `RichTextBox` in VB.NET 2003 beim Speichern als `type.plaintext` die Zeichen **ä, ö, ü** und **ß** „verschluckt“, liegt sehr wahrscheinlich an... [mehr]

Warum funktioniert in VB.NET 2003 'SelectAll' in TextBoxes nicht wie erwartet?

In VB.NET 2003 kann es vorkommen, dass die Methode `SelectAll()` bei TextBox-Steuerelementen nicht wie erwartet funktioniert, insbesondere im Zusammenhang mit bestimmten Ereignissen wieEnter`, `GotFoc... [mehr]

Wie speichere ich mit VB.NET 2003 alle GIFs eines Ordners inklusive Unterordner als PNG?

Um in VB.NET 2003 alle GIF-Dateien eines Ordners (inklusive Unterordner) als PNG zu speichern, kannst du die folgenden Schritte umsetzen: 1. **Verwende die `Directory.GetFiles`-Methode** mit dem Para... [mehr]

Gibt es in VB.NET 2003 Unterschiede beim Speichern von GIFs und PNGs mit Transparenz?

Ja, in VB.NET 2003 gibt es einen Unterschied beim Speichern von GIFs und PNGs mit Transparenz, insbesondere im Hinblick auf die Art und Weise, wie Transparenz unterstützt und gespeichert wird. *... [mehr]

Wie schreibt man in VB.NET 2003 100% Transparenz als ARGB?

In VB.NET 2003 kannst du einen vollständig transparenten Farbwert mit ARGB wie folgt angeben: ```vb.net Dim transparenteFarbe As Color = Color.FromArgb(0, 0, 0, 0) ``` Die Parameter von `Color.... [mehr]