Select Case für Datumsbereiche

  • VB.NET

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

    Select Case für Datumsbereiche

    Hallo Zusammen! :)

    Ich habe mich an einem kleinem Programm versucht in dem ich meine Kontakte speichern möchte.
    Jetzt wollte ich zu dem Geburtsdatum das dazugehörige Sternzeichen anzeigen lassen.

    Ich verwende VB 2010 Express, das Datum steht in einem DatePicker.
    Nach fleißiger suche bin ich bereits so weit gekommen (siehe Code), jedoch will das (was auch immer ich probiere) nicht funktionieren.
    Hat hier vielleicht jemand eine Idee, was ich falsch mache?

    VB.NET-Quellcode

    1. Private Sub DatePicker1_SelectedDateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles DatePicker1.SelectedDateChanged
    2. Dim gDatum As Date
    3. Dim Sternzeichen As Stringg
    4. Datum = Date.Parse(DatePicker1.SelectedDate.ToString("dd.mm"))
    5. Select Case gDatum
    6. Case "21.01" To "19.02"
    7. Sternzeichen = "Wasswemann"
    8. Case "20.02" To "20.03"
    9. Sternzeichen = "Fische"
    10. Case " 21.03" To "20.04"
    11. Sternzeichen = "Widder"
    12. Case "21.04" To "20.05"
    13. Sternzeichen = "Stier"
    14. Case "21.05" To "21.06"
    15. Sternzeichen = "Zwillinge"
    16. Case "22.06" To "22.07"
    17. Sternzeichen = "Krebs"
    18. Case "23.07" To "23.08"
    19. Sternzeichen = "Löwe"
    20. Case "24.08" To "23.09"
    21. Sternzeichen = "Jungfrau"
    22. Case "24.09" To "23.10"
    23. Sternzeichen = "Waage"
    24. Case "24.10" To "22.11"
    25. Sternzeichen = "Skorpion"
    26. Case "23.11" To "21.12"
    27. Sternzeichen = "Schütze"
    28. Case "22.12" To "20.01"
    29. Sternzeichen = "Steinbock"
    30. End Select
    31. Label1.Content = Sternzeichen
    32. End Sub



    Vielen Dank im Voraus für die Mühe
    Schönen Gruß
    Andreas
    Du mischt "String" und "Date".

    korrekt (zb, es gibt noch andere Lösungen):

    VB.NET-Quellcode

    1. Dim g As Date = New Date(2010, 5, 23)
    2. Select Case g
    3. Case New Date(1986, 12, 1) To New Date(2009, 11, 14)
    4. Debug.Print("alt")
    5. Case Is > New Date(2009, 11, 14)
    6. Debug.Print("neu")
    7. Case Else
    8. Debug.Print("ganz alt")
    9. End Select
    Super! Vielen Dank für die schnelle Hilfe!!!
    Dein Beispiel habe ich sehr gut verwenden können!
    Ich habe es folgendermaßen eingefügt:

    VB.NET-Quellcode

    1. Dim Jahr = Mid(GeburtsDatum.SelectedDate, 7, 4), Monat = Mid(GeburtsDatum.SelectedDate, 4, 2), Tag = Mid(GeburtsDatum.SelectedDate, 1, 2)
    2. Dim Sternzeichen As String
    3. Dim gDatum As New Date(Jahr, Monat, Tag)
    4. Select Case gDatum
    5. Case New Date(Jahr, 1, 21) To New Date(Jahr, 2, 19)
    6. Sternzeichen = "Wasswemann"
    7. Case New Date(Jahr, 2, 20) To New Date(Jahr, 3, 20)
    8. Sternzeichen = "Fische"
    9. Case New Date(Jahr, 3, 21) To New Date(Jahr, 4, 20)
    10. Sternzeichen = "Widder"
    11. ...
    12. End Select
    13. lblSternZ.Content = Sternzeichen


    Vielen Dank nochmal
    Schönen Gruß
    Andreas
    Hallo zusammen wir sollten heute als Hausaufgabe ebenfalls in Visual Basic ein Programm schreiben das unser Sternzeichen berechnet.
    Desweiteren, bin ich nicht weitergekommen obwohl ich mir die Beiträge hierzu mehrmals durchgelsen habe, ich verstehe einfach nicht was ich falsch mache..
    allerdings unterstreicht er, er inder select case funktion mein gdatum und sagt " Der Ausdruck ist kein Array oder keine Methode und kann keine Argumentliste haben. "
    weiß hemand weiter ?

    Ich schick euch den code mal... soweit wie ich gekommen bin
    danke im vorraus
    mfg :)

    [vb] 'Prozedur zum Berechnen des Sternzeichens
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'Initialisierung der Variablen
    Dim Tag As Single
    Dim Monat As Single
    Dim Jahr As Single
    Dim gdatum As New Date(Jahr, Monat, Tag)


    'Deklaration der Variablen
    txt_Tag.Text = Tag
    txt_Monat.Text = Monat
    txt_Jahr.Text = Jahr



    'Berechnung des Sternzeichen mit der Select-Case
    Select Case g
    Case gdatum(Jahr, 1, 21) To gdatum(Jahr, 19, 2)




    End Select[vb]