VB.net - If ... < ... then / If ... > ... then

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Tizian170.

    VB.net - If ... < ... then / If ... > ... then

    Hallo ihr lieben,
    wenn ich

    VB.NET-Quellcode

    1. If Me.Text < My.Settings.Highscore Then
    2. My.Settings.Highscore = Me.Text
    3. My.Settings.Save()
    4. End If


    mache, wird immer wenn ich mit den Punkten unter den Highscore komme, nicht getan. Richtig.
    Aber wenn ich einen neuen Highscore aufstelle, wird dieser nicht gespeichert. Falsch.

    VB.NET-Quellcode

    1. If Me.Text > My.Settings.Highscore Then
    2. My.Settings.Highscore = Me.Text
    3. My.Settings.Save()
    4. End If


    funktioniert halbwegs. Ich sage mal, 6 ist mein Highscore. Wenn ich über 6 komme, wird z.b. 8 gespeichert. Richtig.
    Aber wenn ich jetzt von 6 in die Zehner gehe (10, 11, 12 u.s.w.) wird nichts gespeichert. Falsch.
    Wenn ich unter 6 komme, wird nichts neues gespeichert. Richtig.



    Wo ist mein Fehler?
    :saint: :saint:
    Drücke auf Hilfreich, wenn dir dieser Post geholfen hat!
    Mein aktuelles Projekt
    Codar: 19%

    Link: bald

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

    Hi,

    ich tippe auf nen ganz simplen Fehler. Du vergleichst Äpfel mit Birnen.
    TEXT gibt dir als Wert einen String (Text). Ich tippe mal du hast in den My.Settings auch den Wert Text eingetragen. Sonst dürfte es dir direkt als Fehler angezeigt werden (AUSSER du hast die Deppeneinstellungen aktiv und programmierst Option Strict Off; dann solltest du das ändern und dir wird gezeigt was du falsch machst).

    Kurz zusammengefasst.
    Bei Texten ist 1 < 11 < 6
    Bei Zahlen ist 1 < 6 < 11

    Texte werden Stelle für Stelle verglichen und nicht als Ganzes. Also die 1 (erste Stelle der 11) ist < als 6 also ist 11 < 6. Wie zB "a < aa < b"
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

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

    Tizian170 schrieb:

    Wo ist mein Fehler?
    Fang an mit Option Strict On.
    Visual Studio - Empfohlene Einstellungen
    Sieh Dir Deinen Post an und überlege, was da für Zeichen in den Quellcode nicht reingehören. Editiere Deinen Post.
    Dann überlege Dir, in welcher Reihenfolge folgende Elemente sortiert werden:
    • "Roullade mit Klößen"
    • 42
    • 8
    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!
    Wieso willst du das denn?
    Arbeite direkt mit Zahlen.
    Warum arbeitest du mit "Me.Text"?

    Wenn du es parsen willst, kannst du das zB. mit dem Parse Befehl.
    Also bei nem Double mit Double.Parse(Me.Text)
    Bei Interger und Decimal gilt das Gleiche.
    Wichtig wäre aber erst mal zu wissen, was für ein Datentyp du da hast und brauchst.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Na ich kenne dein Programm ja nicht. Ich finde es immer unschön Zahlen in Textfelder zu speichern und dann wieder zurück in Zahlen um mit arbeiten zu können.
    Sinnvoller wäre es, gar nicht Me.Text mit dem Highscore zu vergleichen, sondern eine Variable zu haben in der der Wert steht (gut den kann man auch immer in Me.Text schreiben... aber nur nach dem Motto... Nach mir die Sintflut). Gearbeitet wird dann mit der Variable und nicht dem Fensternamen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D