Zeichenfolge in Zeile finden

Startseite Foren Deutsches LiveCode-Forum Zeichenfolge in Zeile finden

Dieses Thema enthält 4 Antworten und 2 Teilnehmer. Es wurde zuletzt aktualisiert von  Thorsten vor 7 Monate.

  • 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
    Moderator
    ...
    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
    Moderator

    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 !

Du musst angemeldet sein, um auf dieses Thema antworten zu können.