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
      Verwalter
      ...
      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
      Verwalter

      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.