Thema Uhren-Installation

Startseite Foren Deutsches LiveCode-Forum Thema Uhren-Installation

Schlagwörter: , ,

Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #37666
      Manni
      Teilnehmer

        Hallo Leute,
        ich bin ganz neu in diesem Forum und ich hoffe ich bin in
        der richtigen Rubrik.
        Meine Programmierkenntnisse sind gleich Null und
        ich kämpfe mich recht und schlecht durch das Buch
        “Eigene Apps programmieren”von Hauke Fehr.
        Wie das so ist, viele Dinge funktioniern ganz toll
        und an anderen verzweifelt man regelrecht und will
        dann eigentlich auf geben.

        Im erwähntem Buch habe ich mich mit der programierung
        einer Uhr (Seite 255) befaßt. Eigentlich simbel.

        Mein Probelem beginnt wenn ich dem Stack eine zweite
        Card hin zu füge. Der vorher einwand freie laufende
        Anzeigeprozess wir unterbrochen field “uhr” und die Meldung:

        execution error at line 3 (Handler: can’t find handler) near “uhraktualisieren”, char 1

        wird angezeigt.
        Lösche ich die neue Card funktioniert das Programm wie beschrieben.
        Was mache ich falsch? Es muß doch möglich sein die Funktion einer Zeitanzeige
        auch beim einsatz von mehrenen Karten zu erziehlen.

        Es wäre sehr nett wenn ich hier eine Antwort auf meine Frage bekommen könnte.
        Ich danke den Experten für Ihre Mühe.
        Grüsse Manni

      • #37670
        Klaus Major
        Administrator

          Hallo Manni,

          willkommen im Forum!

          Sofern Du nicht explizit auf die eine Karte im Skript zugreifst***,
          sollte es funktionieren, wenn Du den/die entsprechenden Handler
          ins STACK-Skipt statt ins KARTEN-Skript legst!

          ***Beispiel

          ...into fld "uhrzeit" OF THIS CD
          ## oder OF CD 1

          Auf der neuen Karte findet LC diese Skript(e) nicht, daher die
          berechtigte Fehlermeldung.

          Gruß

          Klaus

        • #37681
          Manni
          Teilnehmer

            Hallo Klaus,
            besten Dank für Deine schnelle Antwort, ich bin begeistert, damit habe ich nicht gerechnet.
            Leider führt die Anwendung Deines Vorschlages nicht zum Erfolg.
            Ich habe folgende Einträge:
            stack”Uhr2″
            on uhrAktualisieren
            put the long time into fld “uhr”
            send uhrAktualisieren to this stack in 250 milliseconds
            end uhrAktualisieren

            field “uhr”
            on mouseUp
            set the twelveHourTime to false
            uhrAktualisieren
            end mouseUp

            Das Programm läuft !

            Ich erweitere den Stabel mit einer neuen Card
            und ändere entsprechend deinem Vorschlag:

            stack”Uhr2″

            on uhrAktualisieren
            put the long time into fld “uhr” of This CD (of CD2)
            send uhrAktualisieren to this stack in 250 milliseconds

            end uhrAktualisieren

            Ich erhalte folgende Fehlermeldung:
            stack “Uhr2”: execution error at line 2 (Chunk: no such object), char 8

            Habe ich etwas übersehen? Wo liegt mein Fehler?
            Kann Du Dich der Sache noch einmal annehmen?
            Für Deine Mühe dankend

          • #37682
            Klaus Major
            Administrator

              Hi Manni,

              besten Dank für Deine schnelle Antwort, ich bin begeistert, damit habe ich nicht gerechnet.

              ich wohne hier, daher… 😀

              Wichtiger Tip:
              Eigennamen, auch die Namen der Handler, die Du SENDen möchtest immer in Anführungszeichen.
              -> send “uhrAktualisieren” to this stack in 250 milliseconds
              Das ist aber nicht das Problem.

              Am schnellsten ginge es, wenn Dur mir den Stack zuschickst und ich mal eben reinschaue!
              Falls genehm -> klaus AT major-k.de

              Ansonsten wird es ewig dauern, bis wir das hier im Forum rausbekommen würden…

              Gruß

              Klaus

            • #37684
              Klaus Major
              Administrator

                Zwei Fragen:
                1. Wird die Uhr NUR auf der ersten Karte dargestellt?
                2. Oder soll sie auf den anderen Karten auch sichtbar sein?

                Fall 1. dann reicht es sicher, wenn Du schreibst:

                ...
                put the long time into fld "uhr" of cd 1
                ...

                Wenn Du die korrekte Adresse angibst, kommt der Befehl auch an!

                Wie im richtigen Leben!
                Wenn wir in Deinem Arbeitszimmer stehen und Du sagst mir:
                “Gib mir mal eben den Block vom Schreibtisch!, gebe ich ihn Dir
                Stehen wir aber in Deinem Badezimmer, frage ich zu Recht,
                welcher Schreibtisch, und LC meckert swofort aber nicht unbegründet los:
                No such object/Kein Schreibtisch, verdammich!

              • #37686
                Klaus Major
                Administrator

                  Mein kleines Skriptfragment war nur ein BEISPIEL, ob Du so etwas geschreiben hattest! 😎

                  ...into fld "uhrzeit" OF THIS CD
                  ## oder OF CD 1

                  … OF THIS CARD -> bedeutet auf der aktuellen (= gerade angezeigten) Karte
                  … OF CD 1 -> ist eine genaue Adresse, die LC dann auch findet und nicht meckert.

                • #37692
                  Manni
                  Teilnehmer

                    Hallo Klaus,
                    der stack ist per mail an Dich rausgegangen.
                    Zu Deinen Fragen:
                    Ich möchte in der Endphase Zeitausgaben auf unterschiedlichen Cards programmieren.

                  • #37695
                    Klaus Major
                    Administrator

                      OK, Stack ist eingegangen und gefixed! 🙂

                      Wie ich es vermutet habe, lag es an der flaschen “Adresse” für den Befehl.
                      Das hier hat die Sache gefixed:

                      on uhrAktualisieren
                         ## OF CD 1 fehlte hier!
                         put the long time into fld "uhr" of cd 1
                         send "uhrAktualisieren" to this stack in 250 milliseconds
                      end uhrAktualisieren
                    • #37697
                      Manni
                      Teilnehmer

                        Besten Dank !
                        ich probiere die Sache aus.
                        Wenn nun Zeit auch auf anderen Carten gezeigt werden soll, folgere ich:

                        on uhrAktualisieren

                        put the long time into fld “uhr” of cd 1
                        put the long time into fld “uhr2” of cd 2

                        send “uhrAktualisieren” to this stack in 250 milliseconds
                        end uhrAktualisieren

                        ist das so ok?

                      • #37698
                        Klaus Major
                        Administrator

                          Ja, so ist das OK!

                          Allerdings kannst Du auch das selbe Feld auf verschiedenen Karten nutzen,
                          aber so wie beschrieben klappt es natürlich auch.
                          Das soll erst einmal reichen. 🙂

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