Write Ini - Problem bei einer Zeile!

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von slideHD.

    Write Ini - Problem bei einer Zeile!

    Ich möchte etwas in meine settings.ini speichern klappt auch voll gut, nur gibt es ein Problem.

    VB.NET-Quellcode

    1. For Each item As String In (TextBox1.Text & "x" & TextBox2.Text)


    Dies führt dazu das es so gespeichert wird:


    [resolution]
    resx1=8
    resx2=0
    resx3=0
    resx4=x
    resx5=6
    resx6=0
    resx7=0

    doch soll es so sein


    [resolution]
    resx1=800x600



    Ich freue mich über jede hilfreiche Antwort. :)
    myINIpath = IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "settings.ini")
    Dim Nr As Integer = 1
    For Each item As String In (TextBox1.Text & "x" & TextBox2.Text)
    IniWriteValue("resolution", "resx" & Nr.ToString, item)
    Nr += 1
    Next

    MsgBox("Thanks your resolution is " & TextBox1.Text & "x" & TextBox2.Text & ".", MsgBoxStyle.Information)
    is logisch.
    "item" ist in dem Fall ein Zeichen ( z.B. 8 )

    Quellcode

    1. String:
    2. Index | Zeichen
    3. 0 | 8
    4. 1 | 0
    5. 2 | 0

    so..nun geht For-Each jedes Element durch und schreibt das rein.
    Mach es doch so:

    VB.NET-Quellcode

    1. IniWriteValue("resolution", "resx" & CStr(Nr), TextBox1.Text & "x" & TextBox2.Text)

    Sollte die Wirkung erzielen, die du willst.
    dim s as string
    For each Item As String in (Blub)
    s += item
    Next
    IniWriteValue(blub, s)

    --------------

    Dein Code schreibt ständig eine neue Zeile in die INI Datei, ich empfehle daher wie oben einfach einen String zu erstellen, jedes "Item" anhängen und diesen danach in die INI zu schreiben.
    Erstmal vielen Dank, eine Lösung auf die ich Trottel selber kommen müsste :(
    Nun ist meine Frage,

    VB.NET-Quellcode

    1. For Each item As String In
    ist ja nicht einfach entfernbar, sollte ich dies entfernen würde es nicht funktionieren. Durch was sollte ich es ersetzen? Tut mir völlig leid für diese Fragen, mit solchem habe ich mich nie beschäftigt.
    loool^^

    VB.NET-Quellcode

    1. IniWriteValue("resolution", "resx" & CStr(Nr), TextBox1.Text & "x" & TextBox2.Text)
    2. Nr += 1

    wieso nicht so?
    du speicherst ja die Auflösung in der "Variable" "resx{x}"...
    oder willst du Zeilenweise die Auflösungen in die Datei schreiben?