Kalender mit Terminwarnung

  • VB.NET

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

    Kalender mit Terminwarnung

    Hallo Leute,
    ich möchte einen Kalender in meine Form einbauen bei dem man einen Termin festlegen kann und wenn der Termin z.B. nur noch drei Tage entfernt ist wird ein Button Geld. Bei einem Tag wird er dann rot.

    Das Kalendertool hab ich schon drin aber wie kann ich da so etwas einbauen?

    Kennt sich da jemand mit aus?

    Beste Grüße
    @dutschr
    Hi, zunächst musst du dir ein Konzept überlegen, wie du den Termin speichern willst.
    Für den Anfang würde ich die My-Settings vorschlagen.

    Anschließend solltest du festlegen in welchem Interval du den Termin überprüfen willst.
    z.B beim Start des Programms oder alle 10min wenn das Programm läuft.

    Anschließend kannst du dann überprüfen wie viele Tage zwischen den beiden Daten liegen. Das geht mit der Date(Time) und der TimeSpan Klasse ganz gut. Dazu hier ein Beispiel.

    VB.NET-Quellcode

    1. Dim tagEins As Date = Date.Parse("16.07.2013")
    2. Dim tagZwei As Date = Date.Now
    3. Dim zwischen As TimeSpan = tagZwei - tagEins
    4. MessageBox.Show(zwischen.Days.ToString())
    Überlege weiter, dass Du bei kleinen Zeit-Differenzen Überläufe bei der Datumsdifferenz produzierst.
    Lösche vor der Differenzbildung die Zeit-Komponente:

    VB.NET-Quellcode

    1. Dim dt = DateTime.Now
    2. Dim dt2 = dt.Date ' Zeit-Komponente löschen
    3. MessageBox.Show(dt.ToString & Environment.NewLine & dt2.ToString)
    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!
    Sorry damit kann ich jetzt Garnichts anfangen...
    ich hab den Kalender einfach als Tool in meine Form eingefügt und jetzt würde ich gerne einen Termin darin festlegen mit einer Notiz z.B.
    Jetzt hab ich den Termin mit der Notiz und den Code der Warnfunktion schreibe ich dann in den Kalender ein oder beim Formload Ereignis?
    Ein Termin und eine Warnfunktion haben an sich nichts mit einem Kalendertool zu tun, dieses dient wohl nur der Eingabe von Warn-Dates.
    Form_Load ist dahingehend suboptimal, weil bei einem Programmstart um 23:59 Uhr die Termine des gerade vergehenden Tages akut wären, nicht aber die des kommenden.
    Also wäre da z.B. ein gelegentlicher Timer-Tick ganz günstig.
    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!
    okay also benutze ich das Kalendertool damit der user einen Tag festlegen kann und einen Timer-Tick um die Zeit bis zu diesem Termin zu Messen. Wenn ich dann eine If-Funktion darein setzte mit:

    Wenn Zeitspanne kleiner als ein tag
    dann mach mein fenster rot

    müsste es doch eigentlich klappen

    Sollte ich so an die Sache ran gehen?

    dutschr schrieb:

    Sollte ich so an die Sache ran gehen?
    Im Timer-Tick-Event, das ist OK.
    Was schwebt Dir denn für ein Intervall vor?
    Wie lange läuft Dein Programm?
    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!
    Also das soll so eine ähnliche Funktion wie Outlook haben. Bei Outlook kannst du ja einen Termin eingeben und wenn du Outlook geöffnet hast kommt ja eine Meldung, dass bald dein Termin ist.

    Das Programm was ich jetzt versuche zu programmieren wird der Benutzer später jeden Tag öffnen und einfach mal rein gucken in seine Termine.
    Das Ziel ist dann, wenn ein Termin noch drei Tage entfernt ist, blinkt etwas gelb auf z.B. ein Label oder so und wenn der Termin noch einen Tag entfernt ist z.B. Rot.
    Da wäre doch alles klar.
    Lies Dir alle Posts noch mal in Ruhe durch und mach einen Plan für Dein Programm, den stell dann vor.
    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!

    dutschr schrieb:

    Inwiefern?
    Aufgabenstellung und Deine Ansätze zur Umsetzung.
    Nix von Programmierung. :D
    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!
    Ok:

    Das ganze Programm wird eine Art Projektmanager mit nur wenigen Funktionen.
    Es gibt ein Hauptfenster mit Buttons und diese haben die Projektnamen. Bei klick auf den Button öffnet sich eine Unterform die wie das Projekt heißt.
    In jeder Unterform gibt es dann einen Kalender in den der Benutzer Termine eintragen kann mit entsprechenden Notizen.
    Dabei sollte die Funktion vorhanden sein wie ich sie hier bereits erklärt habe. Also der Termin ist drei Tage entfernt und der Button in der Hauptform ist gelb. Sollte der Termin noch einen Tag entfernt sein dann wird der Button Rot.

    Dann gibt es in jeder Unterform noch Openfiledialoge die auf bestimmte Dateitypen und Ordner festgelegt sind.

    Also mir fehlt jetzt nur noch die Funktion mit der Terminwarnung und mit einem Kalender hab ich bei vb.net noch nie gearbeitet.

    Das Problem ist die Zeiterfassung damit ich weiter mit Funktionen arbeiten kann.

    Beste grüße

    sonne75 schrieb:

    Und wie willst du es umsetzen?
    Ich will nix umsetzen, denn es ist nicht meine Aufgabe. Allerdings kann ich ggf. bei seinen Ideen was beisteuern. ;)
    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!

    sonne75 schrieb:

    Das war doch an den TE.
    :D :D :D
    Du hattest mich zitiert und Deine Frage nicht explizit an den TE gestellt. ;)
    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!
    Ich frage mich... Wieso viele Buttons?
    Eine Liste mit farblich gekennzeichneten Elementen zum auswählen und ein Button reichen doch völlig aus, oder?
    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
    Also die Makierung der Projekte wollte ich mit einem Label machen das die Farbe ändert durch eine If Then Else.
    Die Buttons benutze ich weil ich für jedes Projekt eine eigene Form mit eigenem Kalender brauche und mir die Buttons als einfache Lösung vorkamen.
    Den Messwert der Zeit zwischen dem Tag und den Termin brauch ich halt noch irgendwie und dann ergibt sich ja der rest.
    Aber wie mache ich das? Hab da halt noch nie mit gearbeitet und wie benutze ich das Timer-Tick-Event?