Kleines aber wichtiges Label porblem

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von xtts02.

    Kleines aber wichtiges Label porblem

    SO ich musste für eine Uhr einen label text ändern:

    labelX.text = "0" + labelX.text

    es ist alles als string konvertiert!!!

    nur meine lael hat ne nullen allergi zu ham und blendet die einfach aus ]:-|
    vll weis ja jemand von euch nen rat
    Du scheinst ein grundsätzliches Problem zu haben Strings und Integer Werte zu unterscheiden, die sind nicht gleich ! ?(

    Wenn Du aus dem String "Label4.Text" einen Integer Wert machen willst,nimm bitte CInt(Label4.text) oder Val(Label4.Text)
    Äähm... ja.
    1. Grundlage
    2. Deutsches Forum => deutsche Rechtschreibung (und Grammatik)
    3. w00t hast du dir denn da gebaut?
    Bitte dringend unter Beispiele für guten bzw. schlechten Code gucken.
    4.

    VB.NET-Quellcode

    1. If EinLabelOhneAnstaendigenNamen.Text > WAAAS Then 'OMG... Versuch mal sowas:
    2. labelwert = CInt(label.text)


    EDIT: Kängurus hüpfen schneller als Antworten XD
    das label gibt die zeit an, in meinem fall in sekunden,
    z.b 50, 15,...

    so aber ich will nicht das wenn der wert kleiner als 10 nur 1,2,3,...
    sondern:

    01,02,03,...

    also habe ich mir gedacht,

    if labelsec.text > 10 then labelsec.text = "0" & labelsec.text
    nur blöd, dass einen Text mit einer Zahl zu vergleichen schwer geht und du außerdem auf größer 10 überprüfst^^
    guck dir mal String.Format an...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    An dieser Stelle kann ich ebenfalls die Verwendung von

    VB.NET-Quellcode

    1. Option Strict On
    empfehlen. Dann wird man nämlich direkt auf solche Probleme bei der Konvertierung hingewiesen. Wenn man das als Anfänger schon macht, lernt man direkt, wie es richtig geht und verlässt sich somit nicht instinktiv auf die Fehlerkorrektur.

    Gruß,
    Netto
    Rauskopiert aus einer anderen Antwort, passt aber auch.

    Strings (z.B. label1.text) werden anders sortiert als Zahlen

    Beispiel: die folgenden Zahlen: 1, 100, 5, 200
    richtig sortiert lautet die Reihenfolge: 1, 5, 100, 200
    Als Text sortiert: 1, 100, 200, 5

    Appell an die Anfänger: Hört auf diejenigen, die sagen: In der ersten Zeile des Programmes die Anweisung "OPTION STRICT ON" einfügen. Damit wird die strikte Typüberprüfung eingeschaltet. Typ-Konvertierungen sind zwingend zu verwenden. Wenn ihr sagt, das Programm funkioniert, dann seid ihr schlicht im Irrtum. Ein versteckter Fehler ist oft gefährlicher als ein Fehler, der euch eine riesige Fehlerbeschreibung entgegenwirft.
    Du kannst z.B. schreiben

    VB.NET-Quellcode

    1. Lable.text = Sekunden.ToString("00")

    Dann ist der wert in sekunden immer 2 stellen lang. z.B. Die Zahl 1 wird zu "01" und die Zahl 11 wird zu "11" so kannst du dir die abfrage sparen ob der wert größer 9 ist.
    Hi, adwbgw. Du hast doch bereits genügend beispiele erhalten, oder? Und außerdem sieht man es hier nicht gerne, wenn "funktionierender" Code verlangt wird. Klar darfst du Fragen stellen, aber dein Köpfchen anstrengen musst schon ein wenig. :)

    Gruß,
    Netto
    Du hast alles, was du brauchst.
    Zusammengefasst:

    VB.NET-Quellcode

    1. Option Strict On

    VB.NET-Quellcode

    1. If "Elefant" > 10 = ERROR!!!

    VB.NET-Quellcode

    1. String.Format 'oder:
    2. If wert < 10 Then Nullprefix

    Timer zum Updaten der Zeitanzeige (Interval: 1000 ms = 1 s)

    -The rest is up to you-

    BTW: Du musst den Posts keine Überschriften verpassen, schon gar nicht "asdf"

    das falsche

    ok ich glaube ihr versteht das nicht so ganz was ich meine das prop is net die schleife
    das hier geht z.b.

    VB.NET-Quellcode

    1. If CInt(Label4.Text) < 10 Then msgbox("funktioniert")

    mein prob is der teil den ich duch ne msgbox ersetzt hab nämlich:

    VB.NET-Quellcode

    1. Label4.Text = "0" & Label4.Text.ToString

    nur da brauche ich hilfe , die schleife kann ich ja auch über die länge aus lösen ;)

    danke auch wulf aber dein code:

    VB.NET-Quellcode

    1. Lable.text = Sekunden.ToString("00")

    funktioniert leider nicht

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