Antwort auf: mouseword ???

Startseite Foren Deutsches LiveCode-Forum mouseword ??? Antwort auf: mouseword ???

#10041
Thorsten
Teilnehmer

    Ok hier ein Beispiel einer Zeile (von über 450) im Feld “Rep”:

    142 JUCKEN · Kriebeln +b +e +h · {V: Ameisenlaufen} | agar. apis. Calc. CAUST. lyc. Merc. phos. Puls. Rhus-t. sep. sil. staph. SULPH.

    Zu Beginn die Zeilennummer, dann die Suchbegriffe mit speziellen Zuordnungen (+B etc.), dann ein Verweis, dann ein Trennungszeichen |, dann die Namen für die HTM-Dateien.

    Hier mein Code zum Suchen durch eine Eingabe im Feld “RubrikEingabe”:

    on KeyUp
       put field "EingabeRubrik" into Eingabe
       put empty into field "Liste" // für die gefundenen Rubriken
       if number of chars of Eingabe > 1 Then // Suche beginnt ab 2 Zeichen
          repeat for each line l in field "Rep"
             if Eingabe is in l then
                put l & return after field "Liste"
             end if
          end repeat
       else
          hide field "Rep"
          show field "Liste"
       end if
    end KeyUp

    Das funktioniert ganz prima, nur, wenn ich Zeichen mit Backspace lösche, wird nicht weiter gesucht, deswegen die Frage, wie ich das Drücken von Backspace mitbekomme, um entsprechend darauf zu reagieren (aber soweit bin ich noch nicht.

    In der Liste der gefundenen Zeilen wähle ich mit folgendem Code durch Anklicken ein aus:

    on mouseUp
       put empty into field "EingabeRubrik" // für eine neue Suche
       put the mouseline into Zeile
       put word 2 of Zeile into Zeile // das ist die Zeilennummer
       put return & return & line Zeile of field "Liste" into Rubrik // returns wegen der Optik
       replace " | " with return & return in Rubrik // Trennung von Begriffen und Dateiverweisen
       put Rubrik into field "Rubrik"
       set lockText of field "Rubrik" to TRUE // Kann ich auch etwas in ein gelocktes Feld setzen ?
       show field "Rubrik"
    end mouseUp

    Mit diesem Code rufe die HTM-Datei auf, wenn man auf einen Dateinamen klickt:

    on mouseUp
       put the mousetext into Arznei
       put "file:" & specialFolderPath("resources") & "/data/" into SpecialPfad
       put url(SpecialPfad & Arznei & ".htm") into HTM
       set the HTMLTEXT of widget "Browser" to HTM
       show widget "Browser"
    end mouseUp

    Hier will ich noch einbauen, dass geprüft wird, ob die Datei vorhanden ist und ggf. die Ersetzung bei einem Klick auf einen mit – getrennten Dateinamen.
    Aber fürs Erste funktioniert es schon mal und ich bin ganz happy mit Livecode 🙂

    Herzliche Grüße,

    Thorsten