Antwort auf: Vorstellung und erste Frage

Startseite Foren Deutsches LiveCode-Forum Vorstellung und erste Frage Antwort auf: Vorstellung und erste Frage

#16856
Axwald
Teilnehmer

    Grüße!

    Ganz auf die Schnelle:

    on mouseUp
       ask "Ein Datum, bitte:" & CR & "(Diese Form, bitte: " & quote & the short system date & quote & ")"
       convert it from short system date to dateItems           --  '1.12.2019' => '2019,12,1,0,0,0,1'
       
       if it is empty then exit mouseUp
       --  Hier ggf. testen, ob es wirklich ein Datum ist, und
       --  ob es auch in der Zukunft liegt
       put it into myNewDate
       
       put the short system date into myOldDate
       convert myOldDate from short system date to dateItems
       
       put 0 into myCnt
       repeat
          add 1 to myCnt
          add 1 to item 3 of myOldDate
          convert myOldDate from dateItems to dateItems          --  das ist der Trick: hier wird bei 
                                                                 --  Monatsüberschreitung korrigiert
          if (myOldDate = myNewDate) or (the controlKey is down) then
             exit repeat
          end if
       end repeat
       convert myNewDate from dateItems to short system date     --  zurück-konvertieren
       answer "Noch " & myCnt & " Tage bis zum " & myNewDate & "!"
    end mouseUp

    “DateItems” ist das Format der Wahl, wenn man damit rechnen will. Alternativ: “seconds”.
    “convert … from dateItems to dateItems” sorgt dafür, daß Sachen wie “2019,10,32,…” korrigiert werden (32.10.2019!).

    Das geht sicher auch eleganter, sollte aber die Grundlagen verdeutlichen.

    Viel Spaß!