Startseite › Foren › Deutsches LiveCode-Forum › Syntax highlighting › Antwort auf: Syntax highlighting
Hi Max,
also generell Einfärben würde so gehen:
set the foregroundcolor of word 2 of field "Text" to blue
Ich habe doch jetzt tatsächlich in einer halben Stunde die Funktionalität gebaut, dass solltest Du auch schaffen.
Gemäß Klaus‘ Motto, dass wir hier Hilfe zur Selbsthilfe bieten, will ich aber den Code (noch) nicht direkt posten, sondern Dir helfen, von selbst auf die Lösung zu kommen.
Hier sind die Puzzle-Stücke:
1. Erstelle im Skript deines Feldes einen Handler, der keyUp – Ereignisse abfängt.
2. Schreibe eine Zeile, die abbricht, wenn die gedrückte Taste KEIN Leerzeichen ist (d.h. die Funktion geht nur weiter, wenn das letzte Wort beendet ist. Ist auch für das Einfärben wichtig, weil sonst alle weiteren Zeichen die zugefügte Formartierung übernehmen)
3. Jetzt müssen verschiedene Probleme gelöst werden:
– in welcher Zeile ist der Cursor?
– welchen Index hat das letzte Wort?
4. Ist das gefundene Wort eines, welches eingefärbt (und wenn ja wie) werden muss?
5. Einfärben (siehe Befehl oben)
Als kleine Hilfe hier die eingesetzten Befehle/Keywords:
* keyUp
* space
* selectedLine
* value
* number
Viele Spass!
Torsten