code highlighten

  • Hi

    also ich hab mich gefragt ob es wohl möglich wäre ein script zu coden, welches automatisch aus einem editor fenster (zb in einem gui)
    bestimmte wörter grün zu hiterlegen oder irgendwie hervorzuheben.

    denn im scite editor werden ja nur die standart autoit befehle hervorgehoben,
    wenn ich jetzt jedoch einen eigenen include mache in welchem ich neue befehle erstelle zeigt der scite editor ja nur den befehl in normalem schwarz.

    wäre sehr geil wenn sich das ändern ließe.

    bzw das man ein script machen könnte das in einem gui in einem editor feld die bestimmten befehle hervorgehoben werden.

    (klar diese befehle müsste man manuell zur highlight liste hinzufügen)

    ich hab nur keine ahnung wo ich da anfangen soll ^^

    :help:

    • Offizieller Beitrag

    Hallo

    Bei SciTe gibt es dafür eine keyword list, die du dir Selbst anpassen kannst. Normalerweise findest du die hier: c:\Programme\AutoIt3\SciTE\au3.keywords.properties
    Einfach mit nem Editor (z.B. SciTe^^) öffnen und z.B. bei au3.keywords.udfs= einfach deine Funktion hinzufügen.

    Also z.B.:

    Spoiler anzeigen

    Mfg Spider

  • johabich,habdannauch ein paar themen dazu gefunden. das beste (fand ich weils das einzige war das ich verstanden hab bzw was funktioniert hat bei mir) war

    FileWrite in Word

    aber wie ich damit in einem gui bestimmte wörter highlighten kann uffz ne da muss ich passen.


    Spoiler anzeigen
    [autoit]


    #include <RTF_writer.au3>
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $temp=_RTFCreateDocument("Arial")
    $temp = _RTFAppendString($temp, "Das ist der Text, den du schreiben willst" , 0x0000ff, 12, 6, "Arial")
    FileWrite( @ScriptDir & "\Filename.rtf",$temp)

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate ("hallo",500,500)
    $object = ObjCreate("RICHTEXT.RichtextCtrl.1")
    $oRP = GUICtrlCreateObj($object,100,100,300,300)

    [/autoit] [autoit][/autoit] [autoit]

    $object.navigate(@scriptdir&"test.rtf") ; navigate ist ja hier das falsche nur was wäre es bei ner rtf datei???

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    while 1
    sleep(50)

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]


    ist nur als example ^^

  • cool danke

    allerdings hab ich ein (für mich) unerklärliches problem xD

    dieses test plugin entahlten in der zip datei,
    lässt sich problemlos über rechtsclick run script starten.
    allerdings kann man sie nicht compilen und auch nich starten wenn man die au3 mim editor geöffnet hat und F5 drückt!

    gibts da ne erklärung für?

    Edit: sry war blöde ^^ dll muss ja mit inen fileinstall dann ;)

    Edit GtaSpider: [04.11.2007 14:24]
    Beiträge zusammengeführt.

  • hm ok jetzt hab ich nurnoch das problem mit dem syntax highlighten.
    wie kann ich eine rtf oder txt datei so auslesen , das nur bestimmte wörter pro zeile farbig dargestellt werden ?


    beispiel:

    autoit scite. scite lässt ja nur die befehle die in der propertie liste sind farbig markieren. wie kann ich das sozusagen nachmachen`?

    problem :
    keinen anhaltspunkt wo bzw wie ich die sache angehen soll.
    mit filereadline komm ich nicht weiter.

  • Edit: *ganz schnell zurückrudert*
    Hallo Azunai,
    so wie ich den ersten Post in diesem Thread hier interpretier, scheints du ein ähnliches Problem zu haben wie ich.

    Benutze gerade die CommMG.au3 UDF von Martin aus dem englischen Forum. Nun wollte ich die Funktionen auch ge-"highlight"-et haben. Meine erste Suche, brachte mich zu diesem Thread. Der Fingerzeig von gtaspider war ganz richtig, jedoch wurde die Funktion nicht als Funktion erkannt.
    Grund: Keywordlist wird case-sensitiv behandelt. Name der Funktion sollte also "kleingeschrieben" eingetragen werden.

    Zusätzlich können natürlich noch die Call Tips (= Popup-Fenster bei Befehlseingabe) angelegt werden.
    Soweit ich das nun nachvollziehen konnte sind ausser der UDF, noch die "kleingeschriebenen" Funktionsnamen in der "au3.keywords.properties" als auch die CallTip Entries in der "au3.user.calltips.api" notwendig. Letzteres könnte auch in die au3.api eingetragen werden, allerdings gibt es eben speziell die User CallTips dafür.

    Hoffe ich konnte helfen und habe anderen die ewig lange Suche erspart. Wäre viel schneller zum Ergebnis gekommen, hätte ich gewusst wonach ich such! ; )

    Warum mich aber hier auch keiner verbessert hatte *schäm*

    2 Mal editiert, zuletzt von .m4nd30r (10. November 2007 um 20:12)