system date

Startseite Foren Deutsches LiveCode-Forum system date

Schlagwörter: 

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #25979
      Radmuehl
      Teilnehmer

        Hallo Forumsmitglieder,

        leider funktioniert in dem Update meiner App etwas nicht, was ich nicht nachvollziehen kann. Ich möchte Felder automatisch mit dem Tag/Monat/Jahr belegen. Ich benutze hierfür “system date”. In der Windowsversion der App geht es einwandfrei, allerdings nicht in der App auf dem Handy mit Android. Da wird mir bei den Feldern für Tag, Monat und Jahr 1/ 1/ / angezeigt.

        -- Bei Stack öffnen
        
         global gDB
            global gFelddatum
        Global gFeldmonat
        global gFeldjahr
        global gFeldtag
           --Datum einlesen
        Put the short system date into gFelddatum
           Put char 1 to 2 of gFelddatum into GFeldtag
           Put char 4 to 5 of gFelddatum into GFeldmonat
           Put char 7 to 10 of gFelddatum into GFeldjahr
        
        --Bei Opencard der jeweiligen Karte
        on opencard
        global gFelddatum
        Global gFeldmonat
        global gFeldjahr
        global gFeldtag
           Put GFeldtag into fld "Tag"
           put GFeldmonat into fld "Monat"
           Put GFeldjahr into fld "Jahr"
      • #25981
        Klaus Major
        Administrator

          Die Schotten haben es auch nach Jahren immer noch nicht geschafft, SYSTEMDATE auf Andoid zu implementieren! 🙁
          https://quality.livecode.com/show_bug.cgi?id=11726

          Mach es entsprechend mit dem englischen Datum als “Workaround”.

        • #25983
          Klaus Major
          Administrator

            Englisches heutiges Datum -> 1/21/21

            Daher besser:

            ...
            Put the short date into gFelddatum
            set itemdel to "/"
            Put item 2 of gFelddatum into GFeldtag
            Put item 1 of gFelddatum into GFeldmonat
            Put item 3 of gFelddatum into GFeldjahr
            ...
            • #26008
              Radmuehl
              Teilnehmer

                Hallo Klaus,

                danke Dir. Diese Lösung hatte ich als Alternative auch schon in Erwägung gezogen. Da ich den Monat und Tag zweistellig und das Jahr vierstellig möchte habe ich es nun so gemacht.

                 set itemdel to "/"
                   Put the short date into gFelddatum
                   if char 2 of gFelddatum = "/" then
                    put "0" & gFelddatum into gFelddatum
                   end if
                   If char 5 of gFelddatum ="/" then
                      put "0" & char 4 of gFelddatum into gTemp
                      put gTemp into item 2 of GFelddatum
                      end if
                       put item 3 of gFelddatum into GTemp
                      put "20" & GTemp into GTemp
                      Put Gtemp into item 3 of GFelddatum
                      Put item 2 of gFelddatum into GFeldtag
                     Put item 1 of gFelddatum into GFeldmonat
                     Put item 3 of gFelddatum into GFeldjahr
                     set itemdel to comma

                Viele Grüße
                Radmühl

            • #26009
              Klaus Major
              Administrator

                Falls Du gFeldDatum nicht weiter benötigst, brauchst Du diese Variable auch nciht zu aktualisieren! Du kannst die ITEMS doch direkt bearbeiten:

                ...
                   put the short date into gFelddatum
                   set itemdel to "/"
                   Put item 2 of gFelddatum into GFeldtag
                   Put item 1 of gFelddatum into GFeldmonat
                   Put item 3 of gFelddatum into GFeldjahr
                   
                   if the num of chars of GFeldtag = 1 then
                      put "0" before GFeldtag
                   end if
                   
                   if the num of chars of GFeldmonat = 1 then
                      put "0" before GFeldmonat
                   end if
                   
                   put "20" before GFeldjahr
                   set itemdel to comma
                ...

                Oder noch kürzer:
                Mit der FORMAT Funktion können wir 2stellige Zahlen forcieren:

                ...
                   put the short date into gFelddatum
                   set itemdel to "/"
                   
                   Put format("%02d",item 2 of gFelddatum) into GFeldtag
                   Put format("%02d",item 1 of gFelddatum) into GFeldmonat
                   Put "20" & item 3 of gFelddatum into GFeldjahr
                   set itemdel to comma
                ...

                Gruß

                Klaus

              • #26013
                Radmuehl
                Teilnehmer

                  Hallo Klaus,

                  Super. Ich danke Dir.

                  VG
                  Radmühl

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