Wörter in einer anderen Card ersetzen mit Option Menu

Startseite Foren Deutsches LiveCode-Forum Wörter in einer anderen Card ersetzen mit Option Menu

Schlagwörter: , ,

Ansicht von 5 Antwort-Themen
  • Autor
    Beiträge
    • #25212
      Anonym

        Hallo Zusammen,

        ich hab eigentlich ein ziemlich simples, aber mich schon überforderndes Problem:

        Ich möchte im Option Menu eine Auswahl treffen, diese soll dann in der nächsten Card ein Wort in einem vorhandenen Text ersetzen.
        Das ganze habe ich so versucht:
        on menuPick pItemName
        switch pItemName
        case “Çambası”
        replace “Taskiran” in field “1” of card “Card2” with “Çambası”
        end switch
        end menuPick

        Leider vergebens 🙁
        was mache ich falsch?

        Danke im voraus

      • #25214
        Klaus Major
        Administrator

          Merhaba Ali,

          willkommen im Forum!

          Ganz wichtig:
          NIEMALS ein Objekt in LC mit einer Nummer benennen!
          -> field “1”
          wird dann hier von LC als
          -> field 1
          interpretiert, auch wenn es das zweite Feld ist!
          Zur Not ein Präfix vorstellen, also fld “f1” oder so.

          Im Prinzip ist Dein Skript korrekt, nur die Reihenfolge stimmt nicht. 🙂
          So klappts:

          ...
          replace “Taskiran” with "Çambası" in field 1 of card "Card2"
          ...

          🙂

          Gruß

          Klaus

          • #25219
            Anonym

              Hallo Klaus,

              danke für Deine Hilfe, jetzt bin ich ein Schritt weiter. Es gibt keine Fehlermeldung mehr.
              Allerdings passiert nichts… Ich wähle im Option Menu den Punkt “Çambası” aus, doch der Text in Card2 bleibt gleich (das Wort was ich ersetzt haben möchte bleibt leider gleich).

          • #25220
            Klaus Major
            Administrator

              Hm, ich habe es hier nachgestellt und fand das hier wie gewünscht in Feld 1 auf meiner Karte 2:

              Feld 1 vorher:
              replace Taskiran with Çambası in field 1 of card “Card2”
              replace Taskiran with Çambası in field 1 of card “Card2”

              Feld 1 nachher:
              replace Çambası with “Çambası” in field 1 of card “Card2”
              replace Çambası with “Çambası” in field 1 of card “Card2”

              Mein Skripüt:

              on menuPick pItemName
                 switch pItemName
                    case "Çambası"
                       replace "Taskiran"  with "Çambası" in field 1 of card 2
                       break
                 end switch
              end menuPick

              Schick mir mal eben den Stack, ich gucke mal schnell rein:
              klaus AT major-k.de

              Gruß

              Klaus

              • #25222
                Anonym

                  Hallo Klaus,

                  unfassbar aber mit deinem Skript hat es geklappt. Lag das am fehlenden “break”?

              • #25223
                Klaus Major
                Administrator

                  Echt? Na, super! 😀

                  Nein, am fehlenden BREAK liegt es nicht, das kommt erst ins Spiel,
                  wenn Du mehr als einen CASE abhandeln willst.

                  AHA!
                  Ich hab’s, in Deinem Skript sind die Anführungszeochen um “Taskiran” keine erlaubten
                  ASCII Zeichen, sondern ASCII -> 210 und nicht wie benötigt ASCII -> 34.
                  Das passiert des öfteren beim Kopieren und Einfügen.
                  Sieht man leider ganz schlecht, aber ich bin ja Brillenträger! 😀

                  Gruß

                  Klaus

                  • #25225
                    Anonym

                      Ach du meine Güte 🙂

                      Danke Dir vielmals Klaus, ich war schon am verzweifeln.

                      Ich wünsche dir (falls wir uns bis dahin nicht mehr lesen) ruhige Feiertage.
                      Bleibt gesund und schönen Abend noch

                      Gruß
                      Ali

                    • #25282
                      Anonym

                        Hallo Klaus,

                        nach dem das ganze mit Option Menu super geklappt hat (danke hierfür) habe ich ein neues, aber ziemlich ähnliches Problem:

                        Bei Option Menu musste wir nur eine Auswahl von 3 Items programmieren.. Was ist allerdings wenn ich keinen Option Menu button habe, sondern ein Textfeld?
                        Aus der Card Hauptseite steht ein Textfeld, dieser Inhalt soll eine Stelle des Textfeldes in der nächsten Card “Card2” ersetzen. Bislang ohne Erfolg

                        replace “Hidayet Öztürk’ün” with the text of “Yakini” in field “mesaj” of card Card2

                        Hast du vielleicht eine Idee

                        Gruß
                        Ali

                    • #25285
                      Klaus Major
                      Administrator

                        Hi Ali,

                        vielleicht fehlt hier nur die richtige “Adresse”! 🙂

                        ...
                        replace "Hidayet Öztürk'ün" with (the text of FIELD "Yakini" of cd "Hauptseite") in field "mesaj" of card "Card2"
                        ## Eigennamen (Strings) IMMER in Anführungszeichen! Das muss mal gesagt werden! :-D
                        ## Die Klammern sind nicht unbedingt nötig, aber manchmal ganz gut zum Verständnis.
                        ...

                        Mit der richtigen Adresse kannst Du auf jedes Objekt in jedem Stack auf der gesamten Festplatte zugreifen und manipulieren!

                        Gruß

                        Klaus

                        • #25294
                          Anonym

                            Hallo Klaus,

                            Ich danke dir erneut! Hat geklappt… Eigentlich ist das ziemlich logisch, wenn man die Adresse der Zeile, die ersetzt werden soll hinschreibt, aber die Adresse der Zeile die das ganze ersetzen soll vergisst kann das ja nichts werden.

                            Ich komme der Sache näher,

                            danke nochmals

                            schönen Abend

                            Gruß
                            Ali

                        • #25292
                          Klaus Major
                          Administrator

                            Falls Dein Englisch halbwegs passabel ist, empfehle ich Dir wärmstens diese Stacks für die Basics von LC:
                            http://www.hyperactivesw.com/revscriptconf/scriptingconferences.html

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