Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBPC- Visualisierung Müllabholung

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

    [Codebeispiel] EIBPC- Visualisierung Müllabholung

    Hallo zusammen,
    mache nun einen neuen Thread mit der Rubrik Codebeispiel Müllabholung auf, um das Thema Müllabholung von den Geburtstagen zu trennen.
    @Martin (Brick): Hoffentlich OK für Dich?
    Unter Verwendung der Erkenntnisse und Vorarbeiten sowie Verbesserungswünschen aus diesen Thread ist das ganze nun in einem Makro, allerdings noch etwas an meine Anforderungen angepasst....
    1. Trennung von Logik und Display
    2. Keine Doppeleingaben bzgl. Forecast und "Heute".
    3. Eingabe in einem Eingabe-String. Durch eine leichte Modifikation des Makros ist somit auch von außen ein Update der Termine mgl. (mache ich irgendwann mal, wenn ich die Sache mit dem Flashspeichern mal angepackt habe...)
    4. Kommunikation des Weboutputs via GA, dadurch auch Darstellung mit anderen Visus mgl.
    5. Darstellung in einem Button (@Martin: Lässt sich aber auch leicht wieder auf 2-Buttons aufsplitten)
    6. Darstellung von zusammentreffenden Terminen wie Restmüll und Papiermüll.

    Anmerkungen: Im Code sind noch einige Debugvariablen enthalten, da ich eigentlich vor hatte mit PButton einen Update-Read der GA auszulösen. Leider hat sich gezeigt, dass durch den Read auf eine nicht existende Adresse (also niemand antwortet auf dem Bus) der Inhalt der GA im EIBPC gelöscht wird und dadurch am Button nichts mehr dargestellt wird.
    Den Datums-/Monatsumsprung konnte ich noch nicht testen, da ich das Makro erst heute abend einspielen konnte. Der automatische Wechsel um 0:00 hat funktioniert.

    Viel Spass damit. Feedback und Verbesserungsvorschläge sind willkommen.
    Viele Grüße, Oliver
    Angehängte Dateien

    #2
    Zitat von Sandman60 Beitrag anzeigen
    @Martin (Brick): Hoffentlich OK für Dich?
    aber logo... von meinem Code is ja eh nichts mehr übrig...

    hab dein Macro jetzt nicht getestet (weil meins grad so gut läuft)
    aber sieht sehr gut aus...




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

    Kommentar


      #3
      irr ich mich, oder müsste das 30 heißen bei "AktuellerTAG" !!

      [highlight=epc]
      //Müll morgen: Erhöhen um 1, wenn Tag=30, aber nur für bestimmte Monate (30 Tage)
      if AktuellerTAG==$31$c14 and (AktuellerMONAT==$04$c14 or ....
      [/highlight]

      Februar geht nur bis 2024 ?? sollte aber reichen ...

      schön find ich die Idee mit dem Zeilenumbruch für Heute und Morgen..
      vielleicht änder ich das noch bei mir... !!

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

      Kommentar


        #4
        Hi Martin,
        danke für das Feedback.
        Hast recht, war ein Typo.... Habe das Attachment aktualisiert. VG, Oliver

        Kommentar


          #5
          ich würd vielleicht noch aus "$Alle Tonnen$c14" oder "$Bio&Papier$c14" usw.
          bei:
          [highlight=epc]
          if MuellHeuteInitial==0u16 and MuellArtHeute==$P$ then write(MuellGAHeute,$Papier$c14);MuellDebugHeute=$P $;MuellHeuteInitial=1u16 endif
          [/highlight]
          jeweils ne Variable draus machen... dann kann man es leichter an seine Bedürfnisse
          anpassen und muss es nicht 5 mal im Macro was ändern...

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

          Kommentar


            #6
            Hi Martin, guter Punkt, ich denke auch das man im Makro noch einiges optimieren bzw. zusammenfassen kann (Variablen zusammenfassen, Debugvariablen rausschmeissen etc.). Ich würde es nun erst mal ein paar Tage laufen lassen um noch evtl. Bugs einfacher rausfischen zu können...
            Emailbenachrichtigung steht auch noch auf meiner Liste...
            Ich schau mir das mal am kommenden WE an, vorher werde ich dazu erst mal nicht kommen...
            Ansonsten ist der Code ja public und m.E. auch sinn des Forums, dass jeder was dran rumschrauben soll und kann (und das dann auch hier postet).
            VG, Oliver

            Kommentar


              #7
              Datentyp GA

              Hallo Oliver, ich wollte mal dein Makro testen und dazu eine man. GA verwenden. Welchen Datentyp muss ich nehmen ?

              Viele Grüße aus Gatow
              René

              Kommentar


                #8
                Hallo René,
                der Übergang der beiden Makros braucht C14.
                Viele Grüße,
                Oliver

                Kommentar


                  #9
                  ..ja hatte ich so gemacht, kommt leider immer nur "kein Ereignis" trotz Eingabe
                  der entprechenden Werte

                  //************************************************** **************************************
                  Muellkolonne=$03.05,P;04.05,R;24.01,P;21.02,P;28.0 3,R;29.03,P;30.03,B;01.04,P;03.04,Q;04.04,R$
                  //************************************************** **************************************


                  [highlight=epc]
                  Muellinfo1c('2/3/0'c14,'2/3/1'c14)
                  Muelldisplay1a(23,3,'2/3/0'c14,'2/3/1'c14)
                  [/highlight]

                  Kommentar


                    #10
                    Zitat von rewe Beitrag anzeigen
                    //************************************************** **************************************
                    Muellkolonne=$03.05,P;04.05,R;24.01,P;21.02,P;28.0 3,R;29.03,P;30.03,B;01.04,P;03.04,Q;04.04,R$
                    //************************************************** **************************************
                    Hmm. Bin mir nicht sicher, aber was passiert wenn Du die Werte sequentiell austeigend hintereinander machst, sprich die Werte 03.05 usw. kommen hinter den Werten 04.04?
                    An der Var.def. liegt es auf jeden Fall nicht.
                    Interessant wäre auch der Debug-Wert von MuellPositionHeute/MuellPositionMorgen, dort kannst Du sehen, wo die aktuelle Pos. im String ist...

                    Kommentar


                      #11
                      Okay, die Reihenfolge der Termine werde ich dann nochmal ändern. Hier noch der Auszug vom Debugger. Kannst du da irgendwas erkennen??
                      Angehängte Dateien

                      Kommentar


                        #12
                        Hi, habe mir mal auf die schnelle den Code angeschaut und auch die Debugwerte mit meinen verglichen.
                        Also das mit der Sequenz ist irrelevant, daran kann es eigentlich nicht liegen.
                        Ich schau mir heute abend die Sequenz nochmal an, da meine aktuellen Debugwerte noch weniger Sinn als Deine machen..
                        Melde mich heute abend nochmal...

                        Kommentar


                          #13
                          Alles klar und Danke für deine Hilfe.

                          Viel Grüße aus Gatow
                          René

                          Kommentar


                            #14
                            Hallo Oliver,

                            ich habe Deine Idee mit den Müllterminen aufgegriffen, aber die weitere Bearbeitung auf eine einfachere Art und Weise umgesetzt.

                            Dies funktioniert bei mir bisher problemlos. Wichtig ist aber die Termine im Format tt.mm. einzugeben, also bei einstelligen Zahlen zwingend eine Null vorweg. Also 05.05. für den 5. Mai.

                            Viele Grüße

                            Michael


                            [highlight=epc]
                            // Variablen Definieren
                            TagHeute = split(convert(setdate(),$$),0u16,1u16)
                            TagMorgen = convert(convert(split(convert(setdate(),$$),0u16,0 u16),0u16),$$)+convert(convert(split(convert(setda te(),$$),1u16,1u16),0u16)+1u16,$$)
                            Monat = split(convert(setdate(),$$),3u16,4u16)
                            TagMonatHeute = TagHeute+$.$+Monat+$.$
                            TagMonatMorgen = TagMorgen+$.$+Monat+$.$
                            MuellabholungHeute = $$
                            MuellabholungMorgen = $$
                            // Abholtermine Restmülltonne
                            SchwarzeTonne = $16.05.;23.05.;31.05.;06.06.;13.06.;20.06.;27.06.$
                            // Abholtermine Leichtverpackungstonne
                            GelbeTonne = $08.05.;22.05.;05.06.;19.06.$
                            // Abholtermine Biotonne
                            BrauneTonne = $15.05.;30.05.;12.06.;26.06.$
                            // Abholtermine Altpapiertonne
                            BlaueTonne = $11.05.;25.05.;09.06.;22.06.$

                            // Müllabholung Heute
                            SucheSchwarzeTonneHeute = find(SchwarzeTonne,TagMonatHeute,0u16)
                            if SucheSchwarzeTonneHeute <= 1398u16 then \\
                            MuellabholungHeute = $Schwarze Tonne$ \\
                            else \\
                            MuellabholungHeute = $$ \\
                            endif
                            SucheGelbeTonneHeute = find(GelbeTonne,TagMonatHeute,0u16)
                            if SucheGelbeTonneHeute <= 1398u16 then \\
                            MuellabholungHeute = $Gelbe Tonne$ \\
                            else \\
                            MuellabholungHeute = $$ \\
                            endif
                            SucheBrauneTonneHeute = find(BrauneTonne,TagMonatHeute,0u16)
                            if SucheBrauneTonneHeute <= 1398u16 then \\
                            MuellabholungHeute = $Braune Tonne$ \\
                            else \\
                            MuellabholungHeute = $$ \\
                            endif
                            SucheBlaueTonneHeute = find(BlaueTonne,TagMonatHeute,0u16)
                            if SucheBlaueTonneHeute <= 1398u16 then \\
                            MuellabholungHeute = $Blaue Tonne$ \\
                            else \\
                            MuellabholungHeute = $$ \\
                            endif

                            // Müllabholung Morgen
                            SucheSchwarzeTonneMorgen = find(SchwarzeTonne,TagMonatMorgen,0u16)
                            if SucheSchwarzeTonneMorgen <= 1398u16 then \\
                            MuellabholungMorgen = $Schwarze Tonne$ \\
                            else \\
                            MuellabholungMorgen = $$ \\
                            endif
                            SucheGelbeTonneMorgen = find(GelbeTonne,TagMonatMorgen,0u16)
                            if SucheGelbeTonneMorgen <= 1398u16 then \\
                            MuellabholungMorgen = $Gelbe Tonne$ \\
                            else \\
                            MuellabholungMorgen = $$ \\
                            endif
                            SucheBrauneTonneMorgen = find(BrauneTonne,TagMonatMorgen,0u16)
                            if SucheBrauneTonneMorgen <= 1398u16 then \\
                            MuellabholungMorgen = $Braune Tonne$ \\
                            else \\
                            MuellabholungMorgen = $$ \\
                            endif
                            SucheBlaueTonneMorgen = find(BlaueTonne,TagMonatMorgen,0u16)
                            if SucheBlaueTonneMorgen <= 1398u16 then \\
                            MuellabholungMorgen = $Blaue Tonne$ \\
                            else \\
                            MuellabholungMorgen = $$ \\
                            endif
                            [/highlight]

                            Kommentar


                              #15
                              Hallo Oliver,

                              ich hab jetzt doch nochmal die Reihenfolge der Termine geordnet und es denke so funktioniert es.
                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X