Announcement

Collapse
No announcement yet.

Aktion abhängig von Datum

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aktion abhängig von Datum

    Hallo zusammen...

    ich arbeite an einem kleinen(besser gesagt mehreren) VB.net Programmen.

    Nun würde ich gerne etwas einbauen, das in Abhängig keit vom Datum passiert...


    also bsp weise, sobald man den 1. Oktober erreicht hat, soll ein label nen Text enthalten...

    (also bsp "Einen wunderschönen Herbsttag!")



    Kann mir jemand ein Beispiel posten?

    denke, das ist nicht soo umfangreich, aber ich weiss nicht wie es geht.


    Gruß

    Dimdida
    Zuletzt editiert von dimdida; 17.11.2009, 14:25. Reason: Lösung gefunden

  • #2
    Hallo,

    erstellt dir eine Lookup-Tabelle mit Schlüssel Datum und als Werte die Einträge die angezeigt werden sollen.

    Einfach zB über eine XML-Datei -> dann kann diese unabhängig vom Programm aktualisiert werden.


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Danke dir.
      Dass dann unabhängig Änderungen/Einträge vorgneommen werden können klingt gut, aber ich weiss nciht was eine XML-Tabelle ist, bzw wie ich diese erstelle...

      gibt es nicht eine VB interne Lösungsmöglichkeit?

      Comment


      • #4
        Es ist fast niemals sauber, etwas Variables (wie Termine) fest in ein Programm einzubauen. Dazu sind "externe" Speicherungen in aller Regel viel besser. Für solche Situationen bietet NET u.a. die DataTable-Klasse; zum Lesen und Schreiben sind die Methoden ReadXml und WriteXml vorgesehen. Damit hast du alles zusammen: variable Speicherung, einfaches Ein- und Auslesen, interne Verarbeitung.

        Übrigens hat Gü nicht von Xml-Tabelle, sondern von Xml-Datei gesprochen. Gerade bei den vielen Möglichkeiten von NET solltest du dir exaktes Lesen und Schreiben angewöhnen.

        Zur ursprünglichen Frage: Je nachdem, wann genau du die Meldung haben willst, kommt ein Timer in Frage, der beim Programmstart so aktiviert wird, dass er sich nach dem nächsten festgestellten Termin meldet. Vielleicht ist auch eines der DataTable-Ereignisse geeignet; aber da habe ich Zweifel.

        Jürgen

        Comment


        • #5
          Hallo Jürgen,

          danke für den Hinweis mit DataTable. Das scheint das Beste für diese Aufgabe zu sein!

          Wegen Linq vergesse ich immer dass es diese wichtige Klasse gibt da ich sie sonst nie brauche


          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Hallo Günther,

            und ich bin noch nicht bei Linq angekommen, kenne also dessen Möglichkeiten noch nicht. Eine Alternative wäre Dictionary<DateTime, string>; aber da es dazu kein originales Read/Write gibt, habe ich es nicht erwähnt.

            Gruß Jürgen

            Comment


            • #7
              Danke nochmals, auch dir Jürgen.

              Aber:
              1. ich keinne mich mit XML nicht aus.
              2. Sagt mir die Hilfe von VB DataTable Klasse bezieht Infos aus Arbeitsspeicher/meine XML Datei...

              Das ist zu kompliziert für mich.



              Ich möchte bsp weise ("sauber" hin oder her, was auch immer du damit meinst^^)

              festlegen, dass (sicher falsch aber zum verstehen geeignet?)




              überprüft ob


              datum [Dim datum As Date] = 1.10. then do...

              elsif datum =24.12. then do...




              also einfach 5 Daten angeben und prüfen lassen.


              Könnt ihr mir dafür eine Source schreiben?



              PS Wieso sollte das nciht sauber sein?

              Ich weiss nciht, ob man [Dim datum As Date] zerlegen kann und nur tag und Monat wählt, aber wenn das geht, wäre ja bewerkstelligt, dass jedes Jahr zum Datum die Meldung kommt..

              Comment


              • #8
                überprüft ob

                datum [Dim datum As Date] = 1.10. then do...

                elsif datum =24.12. then do...
                Das heutige Datum zum vergleichen bekommst du über Datetime.Today.
                Da du ohne Jahr vergleichen willst vergleichst du am besten Tag gegen Tag und Monat gegen Monat also in etwa so

                Code:
                If (DateTime.Today.Day = 24 And DateTime.Today.Month = 12)  Then
                    'Heiligabend
                End If

                Könnt ihr mir dafür eine Source schreiben?
                Hier gibt es nur Hilfe zur Selbsthilfe. Wenn du es dir schreiben lassen willst empfehle ich die dir deine Frage im Jobs Ordner zu wiederholen und dein Portmonee bereit zu halten.

                Comment


                • #9
                  Vielen Dank dir Ralf, genau so habe cih mri das ja vorgstellt.

                  will ja kein fertiges programm sondern eben diese beiden zeilen...


                  Also danke dir, werde es gleich mal probeiren.

                  Comment

                  Working...
                  X