Zeichenfolge in Zeile finden

Startseite Foren Deutsches LiveCode-Forum Zeichenfolge in Zeile finden

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #9976
      Thorsten
      Teilnehmer

        Hallo

        Ich habe ein Scrolling List Field mit rund 450 zeiligen Liste.
        Jede Zeile enthält mehrere Begriffe, nach denen ich suchen können möchte.

        Hier mein Code dazu:

        on mouseUp
           put field "Eingabe" into Eingabe
           put number of lines of field "Liste" into AnzahlZeilen
           // answer AnzahlRubriken
           put empty into Treffer
           repeat for each line l in field "Liste"
              if Eingabe is among the words of l then
                 answer l
                 put 1 into Treffer
              end if
           end repeat
           if Treffer <> empty then
           else
              answer "Kein Treffer"
           end if
        end mouseUp

        Das klappt auch soweit, allerdings vergleiche ich damit die Eingabe mit den Wörtern in der jeweiligen Zeile, was bedeutet, dass es nur zu Treffern kommt, wenn die Eingabe exakt einem der Worte entspricht.
        Ich möchte aber auch dann einen Treffer generieren, wenn die Eingabe nur einem Teil eines Wortes entspricht, z.B. um längere Begriffe nicht ganz ausschreiben zu müssen.

        Ich habe es versucht mit:

           ...
           if Eingabe is among the line of l then
           ...

        oder

           ...
           if Eingabe is among the line l then
           ...

        aber das führt zu einer Fehlermeldung (bad chunk type).

        Wäre über einen Tipp sehr dankbar !

        Thorsten

      • #9978
        Klaus Major
        Administrator
          ...
          if l contains Eingabe then
          ...
          ## Oder:
          if offset(Eingabe,l) <> 0 then
          ...
          ## Oder
          if Eingabe is in l then
          ...

          Wie sagt der lustige Ami: “There are many ways to skin a cat”, was auch auf LC zutrifft. 🙂

        • #9980
          Klaus Major
          Administrator

            Tip:

            ...
              ## if Treffer <> empty then
              ## else
              ##    answer "Kein Treffer"
              ## end if
            if Treffer = empty then
                answer "Kein Treffer!"
            end if
            ...
          • #9982
            Thorsten
            Teilnehmer

              > if Eingabe is in l then

              Wie cool ist das denn 😉

              Danke !

            • #9990
              Thorsten
              Teilnehmer

                > if Treffer = empty then
                > answer “Kein Treffer!”
                > end if

                Stimmt, bei WordBasic soll es schneller gehen, wenn man mit <> statt = vergleicht, weswegen ich mir das so angewöhnt habe…

                Danke für das aufmerksame Lesen !

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