selectedDate of Calendar widget to dateItems

Startseite Foren Deutsches LiveCode-Forum selectedDate of Calendar widget to dateItems

Schlagwörter: 

Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #21079
      Rico
      Teilnehmer

        Hallo,

        Ich versuche mich an einer APP, die zur Raumverwaltung dienen soll.

        Um in meiner Gesamtübersicht ein Datum auszuwählen bediene ich mich dem Standart Calendar widget.

        Dieses funktioniert zwar recht gut. Allerdings bekomme ich es einfach nicht hin das ausgewählte Datum in
        dateItems zu convertieren um rechnerisch damit weiter zu arbeiten..

        Hat evtl. Jemand eine Idee woran das liegen könnte?

        Danke im Vorraus

        Rico

      • #21083
        Rico
        Teilnehmer

          Hier mal eine der unzähligen Varianten, die ich bereits ausprobiert habe:

          global gDatumauswahl
          on dateChanged pDate

          set the visible of widget „Calendar“ to false
          set the Layer of Widget „Calendar“ to 1
          get the selectedDate of widget id 1051
          convert the selectedDate of widget id 1051 to dateItems
          put it into gDatumauswahl
          answer gDatumauswahl

          doLabel2
          doAbfrageschleife

          end dateChanged

        • #21084
          Klaus Major
          Verwalter

            Hallo Rico,

            willkommen im Forum!
            Leider liefert das Widget ein Datum in einem für LC unverständlichen Format zurück: 2020-05-23
            Das muss also zunäcsht entsprechend aufbereitet werden.

            ...
            ## Hinweis, IT nur EINMAl verwenden bzw. sofort in eine andere Variable packen 
            ## oder, wenn möglich so wie hier, ganz vermeiden, denn IT ändert sich laufend!
            put the selectedDate of widget "Calendar" into dasDatum
            ## -> 2020-05-23
            
            ## Nun aus den Einzelteilen ein deutsches Datum zusammenbasteln:
            set itemdel to "-"
            put item 3 of dasDatum & "." & item 2 of dasDatum & "." & item 1 of dasDatum into deutschesDatum
            ## -> 23.05.2020
            
            ## Nun können wir das hier machen, müssen LC aber auch sagen,
            ## daß das Datum in DEUTSCH vorliegt -> from SYSTEM DATE:
            convert deutschesDatum from system date to dateitems
            put deutschesDatum into gDatumauswahl
            ...

            Look Mom, no IT! 😀

            Gruß

            Klaus

            P.S.
            Es heisst Standard, mit D hinten.

          • #21086
            Klaus Major
            Verwalter

              Noch einmal eine Bitte an alle!
              Nach dem Einfügen eines Skriptes, den Text hier noch einmal auswählen und oben auf CODE klicken. Dann bleibt die Formatierung mit Einrückungen etc. erhalten.

              Das sieht dann hier auch so aus wie im Skripteditor:

              global gDatumauswahl
              on dateChanged pDate
                 set the visible of widget "Calendar" to false
                 set the Layer of Widget "Calendar" to 1
                 get the selectedDate of widget id 1051
                 convert the selectedDate of widget id 1051 to dateItems
                 put it into gDatumauswahl
                 answer gDatumauswahl
                 doLabel2
                 doAbfrageschleife
              end dateChanged
            • #21096
              Rico
              Teilnehmer

                Danke Klaus für die rasche Antwort…

                Mit:
                put the short system Date into gDatumauswahl
                bekomme ich das gleiche Ergebnis, ohne „manuelles Konvertieren“

                Der zweite Schritt ist genau das was ich nicht hin bekommen habe…

                convert gDatumauswahl from system date to dateitems

                Vielen dank für deine sehr hilfreiche Antwort…

                P.S.

                Ich werde meine Rechtschreibung überdenken..

                Rico

              • #21097
                Rico
                Teilnehmer

                  Rückzug… Entschuldigung

                  Muss wohl doch mauell konvertieren

                • #21098
                  Rico
                  Teilnehmer

                    Damit bei einer Auswahl von z.B. dem 31.05 nicht einfach 32.05, 33.05 usw. hinten herraus kommt müsste ich dann das Datum wieder in ein system date wandeln?

                    also convert gDatumauswahl from dateitems to short system date?

                    Und dann wieder von vorne?

                    Entschuldige die wahrscheinlich dumme Frage..

                  • #21103
                    Klaus Major
                    Verwalter

                      Hi Rico,

                      sorry, Deine letze Frage verstehe ich leider nicht?
                      Wann und wieso soll da wo 32.05 rauskommen?
                      Das Widget arbeitet schon verlässlich! 🙂

                      Oder meinst Du das Addieren von irgendwas zu den einzelnen DATEITEMS?
                      Da sorgt LC schon für die korrekte Umrechnung, keine Bange, das ist ja das Gute daran!

                      Falls weder das Eine oder das Andere, klär mich bitte auf. 🙂

                      Gruß

                      Klaus

                    • #21130
                      Torsten
                      Teilnehmer

                        Hi, mal eine kurze Verständnisfrage: welches „Standard Calendar Widget“ ist hier gemeint?
                        In der normalen LC-IDE ist doch gar keines drin?

                      • #21134
                        Klaus Major
                        Verwalter

                          Hallo Torsten,

                          das Dingen benutze ich schon so lange, daß ich dachte, es sei bei der Installation mit dabei.
                          War wohl nix…

                          Aber hier kannst Du es direkt vom Hersteller laden: https://livecode.com/extensions/calendar/1-0-0/

                          Gruß

                          Klaus

                      Ansicht von 9 Antwort-Themen
                      • Du musst angemeldet sein, um auf dieses Thema antworten zu können.