Uhrzeit vergleichen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Pixxxas.

    Uhrzeit vergleichen

    Servus,

    Kurz und Knapp, ich möchte wenn es nach 05:59 Uhr ist soll 'RadioButton1.Checked sein, wenn es aber nach 13:29 Uhr ist soll RadioButton2.Checked sein.
    Wie ich es mir vorgestellt habe, geht leider nicht.

    VB.NET-Quellcode

    1. Label2.Text = Now.ToString("HH:mm")
    2. If Label2.Text >= "05:59" Then
    3. 'RadioButton1.Checked = True
    4. ElseIf Label2.Text >= "13:29" Then
    5. 'RadioButton2.Checked = True
    6. ElseIf Label2.Text >= "21:44" Then
    7. 'RadioButton3.Checked = True
    8. End If

    Pixxxas schrieb:

    Wie ich es mir vorgestellt habe, geht leider nicht.
    Das ist eine alphabetische Sortierung, keine chronologische.
    Allerdings sollte das durchaus funktionieren.
    Was geht da nicht?
    ====
    Die Alternative wäre, für alles eine DateTime-Instanz zu erstellen, und dann diese zu vergleichen.
    Da das ganze allerdings wohl für beliebige Kalendertage gelten soll, wäre das recht tricky.
    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!
    EDIT
    --------------------------
    einfach aus der

    VB.NET-Quellcode

    1. ifelse
    schleife genommen, dann geht es.

    VB.NET-Quellcode

    1. Label2.Text = Now.ToString("HH:mm")
    2. If Label2.Text >= "05:59" Then
    3. RadioButton1.Checked = True
    4. End If
    5. If Label2.Text >= "13:29" Then
    6. RadioButton2.Checked = True
    7. End If
    8. If Label2.Text >= "21:44" Then
    9. RadioButton3.Checked = True
    10. End If


    Wenn es nach 05:59 ist, soll RadioButton1.Checked sein, macht er auch ABER
    wenn es nach 13:29 ist, Checkt er wieder RadioButton1.

    Pixxxas schrieb:

    dann geht es.
    Is nich richtich.
    Du musst die Reihenfolge der Vergleiche rumdrehen:

    VB.NET-Quellcode

    1. Label2.Text = DateTime.Now.ToString("HH:mm")
    2. If Label2.Text >= "21:44" Then
    3. RadioButton3.Checked = True
    4. ElseIf Label2.Text >= "13:29" Then
    5. RadioButton2.Checked = True
    6. ElseIf Label2.Text >= "05:59" Then
    7. RadioButton1.Checked = True
    8. End If
    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!
    @Pixxxas Jede Zeit ab 6 Uhr macht RadioButton1.Checked = True. Da werden die anderen Zeiten gar nicht erst abgefragt.
    Bir Dir kommt er dann in mehrere Ifs rein.
    Setz nen Haltepunkt rein und verfolge das.
    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!