Frage zur überprüfung einer Jahreszahl

  • VB.NET

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

    Frage zur überprüfung einer Jahreszahl

    Hallo zusammen,

    ich habe eine Frage.
    Ich muss in Visual Basic prüfen, ob ein eingegebenes Datum korrekt ist.

    Ich habe drei Variablen, einmal "Tag", "Monat" und "Jahr"

    Bisher habe ich die Fälle so ausgeschlossen, dass ich z.B. definiert habe, wenn mein Monat "1" ist und mein Tag größer "31", dann öffnet sich eine MsgBox.

    Bis auf eine Sache habe ich das Programm fertig:

    Jetzt geht es darum, zu überprüfen, ob ein Schaltjahr vorliegt oder nicht.
    Ein Schaltjahr definiert sich wie folgt:
    Wenn die Jahreszahl durch 4 aber nicht durch 100 teilbar ist, liegt ein SJ vor, eine Ausnahme stellt dar, dass das Jahr duch 400 teilbar ist, dann ist ebenfalls ein SJ gegeben.
    Falls dies der Fall ist und ich als Monat "2" eingeben habe, soll eine Eingabe von "29" im Feld "Tag" möglich sein, falls dies nicht der Fall ist, soll eine MsgBox mit beliebigem text geöffnet werden.

    Nun weis ich nicht genau, wie ich diese beiden Bedingungen miteinander verknüpfen soll.
    Ich hoffe ihr könnt mir weiterhelfen.

    Gruß Dave
    gaaaaaaaaaaaaaaanz einfach:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim day As Integer = 32 ' falsch :-)
    3. Dim month As Integer = 11
    4. Dim year As Integer = 2011
    5. Try
    6. Dim tt As New Date(year, month, day)
    7. If (Date.IsLeapYear(year)) Then
    8. MsgBox("Schaltjahr")
    9. End If
    10. Catch ex As Exception
    11. MsgBox("ungültige Werte")
    12. End Try
    13. End Sub
    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!
    Deine verbale Beschreibung oben ist völlig richtig.
    Nun musst Du sie nur noch in eine Formel übersetzen.
    Schreib Dir die erforderlichen Schritte auf oder poste sie hier.
    Mach es in mehreren Zeilen, nutze bei der Umsetzung zu einem Programm @petaods Hinweis mit dem Mod-Operatror und schon hast Du es geschafft. :rolleyes:
    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!