Startseite › Foren › Deutsches LiveCode-Forum › mouseword ??? › Antwort auf: mouseword ???
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