Alle Werte auf Null bei erneuten start der "App"

Startseite Foren Deutsches LiveCode-Forum Alle Werte auf Null bei erneuten start der "App"

Ansicht von 5 Antwort-Themen
  • Autor
    Beiträge
    • #2529
      VivaColonia
      Teilnehmer

        Hallo gemeinte,
        habe eine kurze Frage:

        wie bekomme ich beim neustart der “App” alle Werte in den “Feldern” auf null gesetzt ?

        Gruß und schon mal DANKE

        Axel

      • #2531
        VivaColonia
        Teilnehmer

          habe es gerade so probiert :
          on mouseUp
          put the number of fields on this card into lastField
          repeat with x = 1 to lastField
          put empty into fld x
          end repeat
          end mouseUp

          so sind dann aber auch meine “Textfelder” leer

          Gruß
          Axel

        • #2532
          Klaus Major
          Administrator

            Hallo Axel,

            dazu musst Du einen REPEAT loop bemühen, vielleicht “on preopencard” oder “preopenstack”, wenn Du in einem Rutsch alle Karten “re-setten” möchtest.

            Am besten wäre es aber, so einen LOOP zu skripten und den aufzurufen, bevor die Standalone erstellt wird. Das geht im Stack Skript, in dem Du auf die Message “savingstandalone” reagierst.
            So etwas ins Stackscript legen:

            on savingstandalone
              ## Hier der Code, um alle relevanten Felder etc. zu "re-setten"
              ## ...
            end savingstandalone

            Da Standalones nicht gespeichert werden, wäre das somit ein einmalige Sache und muss nicht jedes Mal aufgerufen werden, wenn die App startet, capisce?

            Gruß

            Klaus

          • #2533
            Klaus Major
            Administrator

              Tja, dann musst Du halt nur die Felder leeren, die es brauchen.
              Vielleicht erst eine Liste mit Namen erstellen, so ungefähr:

              ...
              put "UserEintrag1,UserEintrag2,Eingabe25" into tFelderZuLeeren1
              repeat for each item tFeld in tFelderZuLeeren1
                put emtpy into fld tFeld of cd 1
              end repeat
              ## Dito für andere Karten...
              ## ist etwas Arbeit, aber macht ja sonst keiner für Dich! :-D
              ...
            • #2534
              hauke
              Administrator

                Auch noch ne Möglichkeit: Benenne alle Deine Eingabefelder mit demselben Präfix, zum Beispiel “eingabe_”.

                Dann kannst Du beispielsweise folgenden Code verwenden:

                   repeat with x = 1 to the number of fields in this card
                      if the name of field x contains "eingabe" then put empty into field x
                   end repeat

                Das erspart Dir das Anlegen und Pflegen von Listen, aber Du musst die Felder konsequent benennen.

                Gruß

                Hauke

              • #2535
                Klaus Major
                Administrator

                  Eine clevere Namensgebung für Objekte in LC ist IMMER die halbe Miete! 🙂

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