Ankündigung

Einklappen
Keine Ankündigung bisher.

Anzeige Geburtstag / Online

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Zitat von MarkusL Beitrag anzeigen
    Wenn ich meine Themen Job, Familie, Haus, KNX in eine Prio-Reihenfolge bringe kommt KNX nicht an 1.

    => Ich hoffe das ändert sich auch mal wieder.

    Grüße,
    Markus
    na ja.. ich hoff für dich "KNX" kommt NIE vor Job, Familie und von mir aus auch Haus... an der Reihenfolge ist an sich nichts auszusetzen

    Gruß Martin
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #32
      So.. hab mich jetzt mal grad vorn Windows Texteditor geschmissen.. bin ja nicht
      zuhause am EibPc.. und hab mal was gebastelt.. wie gesagt.. ungetestet !!...

      [highlight=epc]
      // Geburtstagskalender:

      Monat= split( convert(setdate(),$$), 3u16, 4u16)
      Tag= split( convert(setdate(),$$), 0u16, 1u16)
      Infodat=convert(Tag,$$)+$.$+convert(Monat,$$)

      //Tägliches Infofeld
      gebheute=AUS
      gebmorgen=AUS
      AnzeigeGeb=$$
      AnzeigeGebmorgen=$$


      varpapier=AUS
      varpapiermorgen=AUS
      varrmuell=AUS
      varrmuellmorgenk=AUS
      vargsack=AUS
      vargsackmorgen=AUS

      AnzeigeInfo=$$
      AnzeigeInfomorgen=$$


      // Hier beliebige Geburtstage eintragen
      if Infodat==$12.03$ then AnzeigeGeb=$ Geb. XXX $;gebheute=EIN endif
      if Infodat==$14.03$ then AnzeigeGeb=$ Geb. YYY $;gebheute=EIN endif

      //Gebmorgen:
      if Infodat==$11.03$ then AnzeigeGebmorgen=$ Geb. XXX $;gebmorgen=EIN endif
      if Infodat==$13.03$ then AnzeigeGebmorgen=$ Geb. YYY $;gebmorgen=EIN endif

      //Papier heute und morgen
      if Infodat==$24.01$ or Infodat==$21.02$ or Infodat==$20.03$ or Infodat==$17.04$ or Infodat==$15.05$ or Infodat==$12.06$ or Infodat==$10.07$ \\
      or Infodat==$07.08$ or Infodat==$04.09$ or Infodat==$02.10$ or Infodat==$30.10$ or Infodat==$27.11$ or Infodat==$24.12$ then varpapier=EIN endif

      if Infodat==$23.01$ or Infodat==$20.02$ or Infodat==$19.03$ or Infodat==$16.04$ or Infodat==$14.05$ or Infodat==$11.06$ or Infodat==$09.07$ \\
      or Infodat==$06.08$ or Infodat==$03.09$ or Infodat==$01.10$ or Infodat==$29.10$ or Infodat==$26.11$ or Infodat==$23.12$ then varpapiermorgen=EIN endif

      //Gelber Sack heute und morgen (Code gekürzt, weil gleich mit "Papier")
      ....or Infodat==$19.12$ then vargsack=EIN endif
      ....or Infodat==$18.12$ then vargsackmorgen=EIN endif

      //Hausmüll heute und morgen (Code gekürzt)
      ...or Infodat==$18.12$ then varrmuell=EIN endif
      ...or Infodat==$17.12$ then varrmuellmorgen=EIN endif

      // Rücksetzen kurz vom Umschalten
      if htime(23,59,59) then gebheute=AUS;gebmorgen=AUS;varpapier=AUS;varpapier morgen=AUS;varrmuell=AUS;varrmuellmorgen=AUS;vargs ack=AUS,vargsackmorgen=AUS endif


      //Infos ausgeben auf div. Buttons/Shifter
      if change(AnzeigeGeb) and !gebheute then pdisplay(21,$keine Geburtstage$, DATE,INACTIVE,GREY,InfoPageID)endif
      if change(AnzeigeGeb) and gebheute then pdisplay(21,AnzeigeGeb,DATE,ACTIVE,GREEN,InfoPageI D)endif

      if change(AnzeigeGebmorgen) and !gebmorgen then pdisplay(22,$keine Geburtstage$, DATE,INACTIVE,GREY,InfoPageID)endif
      if change(AnzeigeGebmorgen) and gebmorgen then pdisplay(22,AnzeigeGebmorgen,DATE,ACTIVE,GREEN,Inf oPageID)endif

      if varpapier==EIN then stringpapier=$Papiertonne $ else stringpapier=$$ endif
      if varpapiermorgen==EIN then strinngpapierm=$Papiertonne $ else stringpapierm=$$ endif
      if varrmuell==EIN then stringrmuell=$Restmüll $ else stringrmuell=$$ endif
      if varrmuellmorgen==EIN then stringrmuellm=$Restmüll $ else stringrmuellm=$$ endif
      if vargsack==EIN then stringgsack=$gelber Sack $ else stringgsack=$$ endif
      if vargsackmorgen==EIN then stringgsackm=$gelber Sack $ else stringgsackm=$$ endif

      AnzeigeInfo=stringpapier+stringrmuell+stringgsack
      AnzeigeInfomorgen=stringpapierm+stringrmuellm+stri nggsackm

      if change(AnzeigeInfo) and AnzeigeInfo!=$$ then pdisplay(23,AnzeigeInfo, DATE,ACTIVE,GREEN,InfoPageID) else pdisplay(23,"Keine Infos", DATE,INACTIVE,GREY,InfoPageID) endif
      if change(AnzeigeInfomorgen) and AnzeigeInfomorgen!=$$ then pdisplay(24,AnzeigeInfomorgen, DATE,ACTIVE,GREEN,InfoPageID) else pdisplay(24,"Keine Infos", DATE,INACTIVE,GREY,InfoPageID) endif

      [/highlight]

      vielleicht probiert das ja mal jemand aus... die Variablennamen können natürlich nach belieben
      geändert werden.. war da jetzt nicht sonders kreativ..

      Wer Fehler findet darf sie gern ausbessern... und wenn mir jemand noch Tipps geben kann wie ich das
      "eleganter" lösen könnte.. nur raus mit der Sprache...

      Gruß Martin
      Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

      Kommentar


        #33
        Habe eben im Thread einen Makrocode eingestellt, damit wir mal thematisch vom Geburtstag wegkommen und ggf. dort weiterentwickelt werden kann...

        Kommentar


          #34
          Kann mir jemand freundlicherweise bei der Geburtstagsanzeige weiterhelfen? Irgendwie klappt das bei mir (V3.000) leider nicht.

          Ich habe den Code von Brick zwei Beiträge weiter oben ein wenig adaptiert.

          Folgenden Code habe ich aktuell:

          [highlight=epc]
          [EibPC]
          TestbrettPageSchalterID=1
          GeburtstagheuteID=11
          GeburtstagmorgenID=12


          Geburtstagheute=AUS
          Geburtstagmorgen=AUS
          AnzeigeGeburtstagheute=$$
          AnzeigeGeburtstagmorgen=$$

          // Geburtstage eintragen
          if month(24,01) then AnzeigeGeburtstagheute=$Testperson1$;Geburtstagheu te=EIN endif
          if month(17,02) then AnzeigeGeburtstagheute=$Testperson2$;Geburtstagheu te=EIN endif
          if month(29,04) then AnzeigeGeburtstagheute=$Testperson3$;Geburtstagheu te=EIN endif
          if month(19,12) then AnzeigeGeburtstagheute=$Testperson4$;Geburtstagheu te=EIN endif

          // Geburtstage morgen; = Geburtstage minus 1 Tag
          if month(23,01) then AnzeigeGeburtstagmorgen=$Testperson1$;Geburtstagmo rgen=EIN endif
          if month(16,02) then AnzeigeGeburtstagmorgen=$Testperson2$;Geburtstagmo rgen=EIN endif
          if month(28,04) then AnzeigeGeburtstagmorgen=$Testperson3$;Geburtstagmo rgen=EIN endif
          if month(18,12) then AnzeigeGeburtstagmorgen=$Testperson4$;Geburtstagmo rgen=EIN endif

          // Rücksetzen kurz vorm Umschalten
          if htime(23,59,59) then Geburtstagheute=AUS; Geburtstagmorgen=AUS endif

          // Geburtstagsanzeige
          if change(AnzeigeGeburtstagheute) and !Geburtstagheute then pdisplay(GeburtstagheuteID,$Niemand$,INFO,INACTIVE ,GREY,TestbrettPageSchalterID) endif
          if change(AnzeigeGeburtstagheute) and Geburtstagheute then pdisplay(GeburtstagheuteID,AnzeigeGeburtstagheute, INFO,BRIGHTRED,2,TestbrettPageSchalterID) endif

          if change(AnzeigeGeburtstagmorgen) and !Geburtstagmorgen then pdisplay(GeburtstagmorgenID,$Niemand$,INFO,INACTIV E,GREY,TestbrettPageSchalterID) endif
          if change(AnzeigeGeburtstagmorgen) and Geburtstagmorgen then pdisplay(GeburtstagmorgenID,AnzeigeGeburtstagmorge n,INFO,BRIGHTRED,2,TestbrettPageSchalterID) endif

          [WebServer]
          page(TestbrettPageSchalterID)[$Testbrett$,$Schalter$]
          pbutton(11)[INFO]$Heute Geburtstag:$ pbutton(12)[INFO]$Morgen Geburtstag:$
          [/highlight]

          Irgendwo muss da noch ein Fehler sein, ich sehe den nur nicht :-(


          EDIT: Ah, jetzt, ja :-)

          In Zeile 36 hatte ich statt pbutton "nur" einen button definiert (habe es oben im Code gerade geändert) ;-)
          Danke & Liebe Grüße

          Kommentar


            #35
            freut uns, dass wir dir helfen konnten indem wir dir einfach Zeit gelassen haben den Fehler selber zu finden

            Gruss Martin
            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

            Kommentar


              #36
              Hmm, nee klappt leider immer noch nicht da bei month(23,01) ja bis einschließlich 31.12. auf EIN bleibt und daher in meinem Code keinen wirklichen Sinn macht. Ich werde jetzt den Split aus Deinem Code noch bei mir einbauen und dann mal testen.
              Danke & Liebe Grüße

              Kommentar


                #37
                Moin zusammen,

                erweitere mal Deinen Code in etwa so:

                [highlight=epc]
                utDate = convert(setdate(),$$)
                utMonth = convert( split( utDate, 3u16, 4u16), 0s32)
                utDay = convert( split( utDate, 0u16, 1u16), 0s32)

                TagMonatHeute = stringformat(utDay,0,3,2,2)+$.$+stringformat(utMon th,0,3,2,2)+$.$

                // Geburtstage eintragen
                if TagMonatHeute == $24.01.$ then AnzeigeGeburtstagheute=$Testperson1$;Geburtstagheu te=EIN endif
                if TagMonatHeute == $17.02.$ then AnzeigeGeburtstagheute=$Testperson2$;Geburtstagheu te=EIN endif
                if TagMonatHeute == $29.04.$ then AnzeigeGeburtstagheute=$Testperson3$;Geburtstagheu te=EIN endif
                if TagMonatHeute == $19.12.$ then AnzeigeGeburtstagheute=$Testperson4$;Geburtstagheu te=EIN endif

                [/highlight]

                Jetzt wird ein exaktes Datum geprüft, das auch nur für diesen einen Tag paßt. Das sollte Dich in die richtige Richtung bringen.
                utc() und utcconvert() können Dich dann für morgen informieren. Also aktuelles Datum -> utc -> + 1Tag -> utcconvert() und dann Tag und Monat extrahieren...

                Gruß,
                Bernd

                Kommentar


                  #38
                  Hallo Bernd,

                  das geht ja in etwa in die gleiche Richtung wie der Code von Martin. Der funktioniert derzeit auch schonmal gut.

                  Danke Euch beiden.
                  Danke & Liebe Grüße

                  Kommentar


                    #39
                    Hi zusammen,

                    sorry wenn ich diese alte Thema nochmals aufrufe.
                    Ich habe den Kalender wie oben mit UTC-Zeit aufgebaut. Mir werden alle Termine angezeigt und mit Vorschau falls morgen ein Geburtstag ansteht.
                    Nur leider klappt das Rücksetzen nicht automatisch. Die Variablen werden umgeschaltet, aber in der Online-Anzeige bleibt der aktuelle Kalendereintrag stehen.
                    Sobald ich meinen Code neu compiliere, wird die Anzeige erneuert.

                    Kann mir vielleicht jemand auf die Spürge helfen, was ich falsch mache?

                    Hier noch der Ausschnitt aus meinem Code:

                    Geburtstagheute=AUS
                    Geburtstagmorgen=AUS
                    AnzeigeGeburtstagheute=$$
                    AnzeigeGeburtstagmorgen=$$

                    // Geburtstage eintragen
                    //Januar
                    if TagMonatHeute == $02.01.$ then AnzeigeGeburtstagheute=$Mike XXX$;Geburtstagheute=EIN endif
                    if TagMonatHeute == $05.01.$ then AnzeigeGeburtstagheute=$Michael XXX$;Geburtstagheute=EIN endif

                    // Rücksetzen kurz vorm Umschalten
                    if htime(23,59,59) then Geburtstagheute=AUS endif
                    if htime(23,59,59) then Geburtstagmorgen=AUS endif
                    // Geburtstagsanzeige
                    if change(AnzeigeGeburtstagheute) and !Geburtstagheute then display(GeburtstagheuteID, $Kein Geburtstag$, DATE, INACTIVE, GREY, AllgemeinZentralfunktionenID) endif

                    if change(AnzeigeGeburtstagheute) and Geburtstagheute then display(GeburtstagheuteID, AnzeigeGeburtstagheute, DATE, BRIGHTRED, 2, AllgemeinZentralfunktionenID) endif

                    if change(AnzeigeGeburtstagmorgen) and !Geburtstagmorgen then display(GeburtstagmorgenID, $Kein Geburtstag$, DATE, INACTIVE, GREY, AllgemeinZentralfunktionenID) endif

                    if change(AnzeigeGeburtstagmorgen) and Geburtstagmorgen then display(GeburtstagmorgenID, AnzeigeGeburtstagmorgen, DATE, BRIGHTRED, 2, AllgemeinZentralfunktionenID) endif

                    Kommentar


                      #40
                      Wie erzeugst Du "TagMonatHeute"? Genauso fehlen die Variablen für Morgen...

                      Kommentar


                        #41
                        Zitat von klaus_kraemer Beitrag anzeigen
                        Wie erzeugst Du "TagMonatHeute"? Genauso fehlen die Variablen für Morgen.
                        Sorry ich hatte die Variablen vergessen zu kopieren

                        //Variablen für Geburstagskalendar
                        utDate = convert(setdate(),$$)
                        utMonth = convert( split( utDate, 3u16, 4u16), 0s32)
                        utDay = convert( split( utDate, 0u16, 1u16), 0s32)
                        TagMonatHeute = stringformat(utDay,0,3,2,2)+$.$+stringformat(utMon th,0,3,2,2)+$.$

                        Hier der Vollständigkeit noch die Variablen für "Morgen"

                        // Geburtstage morgen; = Geburtstage minus 1 Tag
                        //Januar
                        if TagMonatHeute == $01.01.$ then AnzeigeGeburtstagmorgen=$Mike XXX$;Geburtstagmorgen=EIN endif
                        if TagMonatHeute == $04.01.$ then AnzeigeGeburtstagmorgen=$Michael XXX$;Geburtstagmorgen=EIN endif

                        Kommentar

                        Lädt...
                        X