Antwort auf: Suchmodul einbinden

Startseite Foren Deutsches LiveCode-Forum Suchmodul einbinden Antwort auf: Suchmodul einbinden

#1952
Klaus Major
Administrator

    Hallo Ralle,

    AHA! 😀

    OK, hier ein ganz rudimentäres Skript, was ALLE Felder, also auch eventuelle LABELs durchsucht, das sollte Dir als Startpunkt dienen.

    Hinweis:
    Diese Funktion selber sollte im Stackskript stehen, damit Du sie von jeder Karte aus aufrufen kannst.

    on mouseUp 
       put fld "Suchbegriff" into was_soll_ich_suchen
       put fSuchen(was_soll_ich_suchen) into fld "Ergebnis der Suche"
    end mouseUp
    
    ## Dieser Funktion übergeben wir den gesuchten Begriff und 
    ## die durchsucht dann jedes Feld auf jeder Karte
    function fSuchen wasdenn
       ## Wir LOOPen durch alle Karten
       repeat with tCard = 1 to the num of cds
          
          ## Und auf jeder Karte durch alle darauf befindlichen Felder
          repeat with tField = 1 to the num of fields of cd tCard
             
             ## Feld enthält Suchgebriff
             if offset(wasdenn,the text of fld tField of cd tCard) <> 0 then
                
                ## Wir sammeln die Nummer der Karten, die den Text enthalten, 
                ## in einer CR getrennten Liste
                put tCard & CR after tSuchergebnis
             end if         
          end repeat
       end repeat
       
       ## Leere Zeilen vermeiden:
       delete char -1 of tSuchergebnis
       return tSuchergebnis
    end fSuchen

    Das Feld „Ergebnis der Suche“ könnte ein LISTfield sein mit diesem Skript:

    on mouseup
      put the selectedtext of me into tKarte
      go cd tKarte
    end mouseup

    Bei Fragen fragen 🙂

    Gruß

    Klaus