Label Text ändern und abspeichern

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Label Text ändern und abspeichern

    Hi, ich habe nach ca. einem Jahr Pause wieder angefangen in Visual Basic zu programmieren und habe nun ein Problem das ich alleine nich lösen kann.
    Es geht um folgendes: Ich habe ein Label. Der Text dieses Labels ist z.B. "0".
    Nun möchte ich das ganze ändern, beispielsweiße via Textbox und Button. (TextBox1.Text = Label1.Text)
    Das ganze soll nun gespeichert werden, sodass beim nächsten start auch wieder der alte Text der TextBox da steht.

    Also nochmal kurz und knapp: Label1.Text = "0" -> TextBox1.Text (z.B. "1") = Label1.Text -> Speichern -> Nächster Start -> Label1.Text = "1"

    Es ist wahrscheinlich ziemlich simple aber ich komm einfach nicht drauf :/

    Danke im Voraus,
    layc

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „layc“ ()

    Hallo layc,

    du könntest es entweder in eine Textdatei via Streamwriter oder in eine .ini-Datei via API schreiben. Ich würde das Zweite empfehlen,da es sauberer und ordentlicher ist, falls du mehrere Sachen speichern willst. Beispielcode folgt wenn ich wieder am PC bin :D

    VB.NET-Quellcode

    1. Dim Stream As New IO.FileStream("Settings.txt", IO.FileMode.Create)
    2. Dim Writer As New IO.StreamWriter(Stream)
    3. Writer.WriteLine(Textbox1.Text)


    Beim Form1_Load Event, oder wenn ein Button geklickt wird, benutzt du folgenden Code um die Einstellungen wieder zu laden:

    VB.NET-Quellcode

    1. Dim Stream As New IO.FileStream("Settings.txt", IO.FileMode.Open)
    2. Dim Reader As New IO.StreamReader(Stream)
    3. TextBox1.Text = Reader.ReadLine()


    Per API mit einer .ini müsstest du erst folgende Funktionen schreiben bzw deklarieren:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
    2. Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
    3. Public Function ReadSettingsFromIni(ByVal strSection As String, ByVal strKey As String, ByVal strDefault As String, ByVal strFile As String) As String
    4. Dim strTemp As String = Space(1024), lLength As Integer
    5. lLength = GetPrivateProfileString(strSection, strKey, strDefault, strTemp, strTemp.Length, strFile)
    6. Return (strTemp.Substring(0, lLength))
    7. End Function
    8. Public Function WriteSettingsToIni(ByVal strSection As String, ByVal strKey As String, ByVal strValue As String, ByVal strFile As String) As Boolean
    9. Return (Not (WritePrivateProfileString(strSection, strKey, strValue, strFile) = 0))
    10. End Function


    Mithilfe von

    VB.NET-Quellcode

    1. WriteSettingsToIni("Section, zB Einstellungen", "Die Variable, zB TextboxText", Textbox1.Text, "C:\Settings.ini")


    speicherst du die Einstellungen, damit ladest du sie wieder:

    VB.NET-Quellcode

    1. Textbox1.Text = ReadSettingsFromIni("Einstellungen", "TextboxText", "", "C:\Settings.ini")


    Ich hoffe, dass ich dir helfen konnte.

    Lg. Darkshadow

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Darkshadow9“ ()

    Du Erstellst ein neues Setting ist unter deinen Projeckt. Danach fügste den code ein.

    VB.NET-Quellcode

    1. 'z.b BUTTON1_CLICK
    2. label1.text = textbox1.text
    3. my.settings.deinSetting = label1.text
    4. my.settings.save
    5. my.setting.reload
    6. 'Form_Load
    7. label1.text = my.settings.deinSetting