Label Text +1

  • VB.NET

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

    Label Text +1

    Halloo Communitiy,

    entweder ich bin grad zu doof, oder ich mache was falsch. :S

    Ich habe folgenden Code:

    VB.NET-Quellcode

    1. If lvi.Index = Label20.Text Then


    Nur ich weiß nicht wie ich das hin bekomme, dass er die Zahl aus label20.text nimmt und um einen erhöht.

    Gruß

    Windoof Vista
    Stell erstmal Option Strict auf On, du scheinst gerade implizit einen Integer mit einem String zu vergleichen.

    VB.NET-Quellcode

    1. Label20.Text = CStr(CInt(Label20.Text) + 1)
    Hi
    es gibt auch eine globale Einstellung für Option Strict On in den Projekteinstellungen sowie in VS. Übrigens: Labels sind für die Darstellung zuständig, die zugrundeliegenden Daten sollte man getrennt halten. D.h. wenn ein Integer an ein Label gebunden ist, wird nicht jedes mal ein Integer aus dem Text des Labels erstellt, sondern der Text des Labels passt sich an den Integer-Inhalt an.
    Daher bietet sich folgende Alternative an:

    VB.NET-Quellcode

    1. Private _foo As Integer
    2. Private Property Foo As Integer
    3. Get
    4. Return _foo
    5. End Get
    6. Set(value As Integer)
    7. _foo = value
    8. _pleaseGiveMeAName.Text = value.ToString()
    9. End Set
    10. End Property

    VB.NET-Quellcode

    1. Foo += 1

    CStr sollte man nicht verwenden und CInt nur bei Konvertierungen von und zu den anderen primitiven Typen ((S)Byte, (U)Short, etc.), da diese direkt im CIL unterstützt werden. Zum Konvertieren von Strings sollte man Integer.TryParse verwenden und zum Konvertieren zu Strings ToString().

    Gruß
    ~blaze~

    BjöNi schrieb:

    VB.NET-Quellcode

    1. Label20.Text = CStr(CInt(Label20.Text) + 1)
    Das ist Ranz.
    Trenne GUI und Daten, rechne mit Daten und zeige Strings an der GUI an.
    Niemals beides in einer Programmzeile, denn solch ist nicht auf einen Blick erfassbar und ist somit eine potenzielle Fehlerquelle.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!