Wie speichert man in .INI oder.TXT

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Load-soft.ch.vu.

    Wie speichert man in .INI oder.TXT

    Ich möchte meine Werte von Txtbox1 - txtbox10 in einer .INI oder .TXT speichern.
    Beim nächsten Laden werden in den Gleichen Txtboxen wieder der Text stehen.
    ich möchte aber alles in der gleichen Datei speichern und nicht in verschiedenen.

    Danke im Vorraus - Der Hilfer
    Du könntest es Zeilenweise einlesen , oder eine Art "Name" Eigenschaft in der Datei zu machen, wo du festlegst, welche Textbox welchen Text enthiel, bzw. wieder enthalten soll
    Bsp.

    #TextBox1#
    abcdefghijklmmm

    #TextBox2#
    nopqrsttttt

    usw.
    Beim einlesesn splittest du dann die #TextBox# Stellen und stellst fest, welche Textbox welchen Text zugewiesen bekommt.

    Grüsse
    Pascal
    Hey,

    speichern von Daten in einer Textdatei bzw. das Auslesen von Werten ist nicht schwer; eigentlich passt diese Frage deshalb auch in das "Grundlagen-" Forum.

    Eine Möglichkeit wäre, jeden Wert (Inhalt der Textbox) in eine neue Zeile schreiben. Umgekehrt dann einfach Zeilenweise einlesen und wieder in die Textboxen schreiben. Eine andere Möglichkeit wäre, die Werte in eine Zeile hintereinander zu schreiben und dabei nur durch ein Zeichen (z.B. "#") zu trennen. Beim Einlesen dann einfach nur diese eine erste Zeile einlesen, in Abschnitte anhand des Trennzeichens teilen und anschließend wieder auf die Textboxen aufteilen.

    Jetzt liegt es an dir, welche Methode du verwenden willst. Einen fertigen Code wirst du aber von mir jetzt nicht erhalten ;) Das ganze ist nicht schwer; einfach ausprobieren... Viele Themen zu Schreiben/Lesen von Textdateien findest Du übrigens auch über die Suchfunktion hier im Forum.

    Gruß, Manschula

    Manschula schrieb:

    Eine Möglichkeit wäre, jeden Wert (Inhalt der Textbox) in eine neue Zeile schreiben. Umgekehrt dann einfach Zeilenweise einlesen und wieder in die Textboxen schreiben. Eine andere Möglichkeit wäre, die Werte in eine Zeile hintereinander zu schreiben und dabei nur durch ein Zeichen (z.B. "#") zu trennen. Beim Einlesen dann einfach nur diese eine erste Zeile einlesen, in Abschnitte anhand des Trennzeichens teilen und anschließend wieder auf die Textboxen aufteilen.
    wie trennt man das dann wieder?
    Nicht alles muss doch unter My.Settings gespeichert werden, wenn er doch z.B. einen Eiditor erstellen möchte, soll er dann alles unter My.Settings speichern ?
    Im grunde hast du Recht mit My.Settings aber es kommt darauf an, wo er es andwendet.
    MfG Tim
    Hi,
    Ca. so könnte es klappen (Klasse: Group):

    VB.NET-Quellcode

    1. Public Class Group
    2. Public Propertys As New Specialized.NameValueCollection
    3. Public Name As String
    4. Sub New(ByVal Name As String)
    5. Me.Name = Name
    6. End Sub
    7. End Class

    und die Funktion:

    VB.NET-Quellcode

    1. Public Function ReadINI(ByVal Pfad As String) As Group()
    2. Dim Groups As New List(Of Group)
    3. If IO.File.Exists(Pfad) Then
    4. For Each Line As String In IO.File.ReadAllLines(Pfad)
    5. Dim nLine As String = Trim(Line)
    6. If nLine.StartsWith("[") And nLine.EndsWith("]") Then
    7. Dim nGroup As New Group(nLine.Replace("[", Nothing).Replace("]", Nothing))
    8. Groups.Add(nGroup)
    9. Else
    10. Dim Arr As String() = nLine.Split("|")
    11. If Arr.Length > 1 Then Throw New Exception("Dies ist eine Ungültige Ini Datei!")
    12. Groups.Item(Groups.Count - 1).Propertys.Add(Trim(Arr(0)), Trim(Arr(1)))
    13. End If
    14. Next
    15. End If
    16. Return Groups.ToArray
    17. End Function

    Eine Auslagerung in eine Klasse wäre bei erweiterung von nutzen.
    mfg
    Mike