Ausgabe von Vor-,aktuellen und Folgemonat...



  • ...bei Eingabe des aktuellen Datums.

    In einer Richtextbox sollten alle Werte angezeigt werden, mit Fokussierung auf den aktuellen Tag.

    Kann mir da einer seine Hilfe anbieten?

    In meiner Maske hab ich ein txtEingabe_KeyUp zusammengebastelt und möchte dieses auch mit einem btnStart_Click-Ereignis aufrufen können.

    Welche Möglichkeiten habe ich dafür?

    Vielen Dank für jede Antwort!!! 👍



  • Ich muss auf meine Ungenaue Aussage entschuldigen.

    Nach Eingabe eines gültigen Datums sollen in drei Richtextboxen alle Wochentage mit Datum aufgezählt (untereinander?) stehen für den Vor-,den aktuellen und den Folgemonat.

    Mir will das nicht so ganz munden mit einer For-Schleife ab dem erstem Tag hochzuzählen, bis der Tag nach dem letzen möglichen kein Datum zurückwirft...

    Gerne nehme ich auch Vorschläge dazu an, mir fällt da einfach nichts ein.http://www.c-plusplus.net/forum/images/smiles/confused.gif

    Danke vorab!http://www.c-plusplus.net/forum/images/smiles/biggrin.gif



  • UNd was hindert dich daran bei c# und Datumstypen zu schauen.

    DateTime sollte schon mal helfen.



  • Private Function getFirstDayOfMonth(ByVal dat As DateTime) As DateTime
    Return dat.AddDays(-(dat.Day - 1))
    End Function

    Private Function getLastDayOfMonth(ByVal dat As DateTime) As DateTime
    Dim d As DateTime = dat.AddMonths(1)
    Return d.AddDays(-(d.Day))
    End Function

    So weit bin ich schon gekommen, nur krieg ich die Rahmenbedingungen zum Ablauf der For...Next -Scghleife nicht ganz gebacken. In der Darstellung sollen in einem Feld alle Tage aufgelistet sein, von Monatsanfag bis -ende.



  • Da muss ich sowieso passen. Ich mache nichts in VB.NET.



  • Ich würde
    - Monat und Jahr des aktuellen Datums mir merken
    - vom Monat 1 abziehen (Unterlauf Januar->Dezember berücksichtigen)
    - Startdatum des ersten Blockes bilden (DateTime hat einen Konstruktor mit Jahr, Monat, Tag)
    - eintragen
    - dann in einer Schleife einen Tag hochzählen und eintragen bis der Monat erreicht wurde der der übernächste des aktuellen ist (Überlauf Dezember->Januar berücksichtigen)

    Monat des einzutragendes Datum kleiner als aktuelles Datum => in ersten Block
    Monat des einzutragendes Datum gleich aktuelles Datum => in zweiten Block
    Monat des einzutragendes Datum größer als aktuelles Datum => in dritten Block



  • Vielen Dank für die nette Anweisung. Das Muster hab ich umgeformt in code, ich brächt nur noch einen kurzen Codeschnipsel für die Fokussierung des eingegebenen Datums im kalender.

    Müsste ich den Wert (bevor ich ihn zum Berechnen übergebe) nicht einer anderen Variablen zuweisen, damit diese vom Rechenvorgang unberührt bleibt und markiert?

    Schönen Grüß! 🕶



  • ich glaube man kann ein Datum bzw. einen Text zuweisen..

    z.B.

    DateTime dt = new DateTime();
    dt.Text = "Datumsformat";
    oder
    dt.Value = "DateTime-Objekt";

    Habe es eben nicht getestet, aber meine es mal so gemacht zu haben (mit value).

    Gruß



  • Ja,soweit ware ich schon.

    Danke für deine Antwort. Mir ist nur aufgefallen, dass ich auf .vb schreibe. Egal. Konnts lesen. 😋

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
    'Funktion aufrufen
    End Sub

    Private Function fkt_berechne(ByVal dat As DateTime) As DateTime

    Mit welchem Befehl kann ich diese Funktion aufrufen?

    Bzw. unter welchen Konditionen...


Log in to reply