Selektierten Text in SynEdit finden

  • Ich würde, um den Code zu starten, entweder eine a3x oder exe Datei nehmen. Da du für deine Erweiterung ja eh davon ausgehen musst das AutoIt installiert ist, sollte das kein Problem darstellen.

    Das VBScript muss noch ordentlich erweitert werden, beispielsweise würde ich eine Funktion zum Ausführen des AutoIt Skripts einbauen. Zudem würde ich empfehlen die Prozess-ID zu speichern, damit diese überprüft werden kann. Sollte der AutoIt Teil nämlich nicht mehr laufen bekommst du unschöne Fehler.

    Mit einem Editor-Objekt von PsPad zu arbeiten ist kein Problem, jedoch habe ich es bisher nicht geschafft auch die "globalen" Funktionen erreichbar zu machen.

    Das Gleiche gilt wohl auch für die Log, Project und FTP Funktionen, das habe ich aber nicht getestet.

    Alles in Allem bin ich damit nicht ganz zufrieden, aber immerhin geht ein Teil.
    Und der Lernfaktor ist durchaus angenehm :)

  • Das VBScript muss noch ordentlich erweitert werden, beispielsweise würde ich eine Funktion zum Ausführen des AutoIt Skripts einbauen. Zudem würde ich empfehlen die Prozess-ID zu speichern, damit diese überprüft werden kann. Sollte der AutoIt Teil nämlich nicht mehr laufen bekommst du unschöne Fehler.

    Hoffentlich meinst du damit nicht, das im VBScript zu machen, denn das wird nichts. In VBScript gibt es keine Timer, die alle x ms ein Event auslösen. (Ironischerweise gibt es eine Funktion, die sich "Timer" nennt, aber nur die Zeit seit Mitternacht ausliest, oder so ähnlich.) :( Deshalb könnte man nur eine Schleife mit Sleep benutzen, was oft ungewollte Effekte erzeugt.

    Alles in Allem bin ich damit nicht ganz zufrieden, aber immerhin geht ein Teil.

    Ich bin damit bisher sehr zufrieden. Respekt für deine Arbeit! :thumbup:

    Mit einem Editor-Objekt von PsPad zu arbeiten ist kein Problem, jedoch habe ich es bisher nicht geschafft auch die "globalen" Funktionen erreichbar zu machen.

    Bisher hast du es geschafft, den markierten Text aus dem SynEdit zu lesen. Wenn du es auch noch hinkriegst, die Hintergrundfarbe zu setzen für mehrere Fundstellen des markierten Textes, dann bist du der Held! Das Ganze ziel darauf ab, das Feature zu ermöglichen, zum markierten Wort alle identischen Wörter zu highlighten. (Das kennt man z. B. aus SciTE.)

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Hoffentlich meinst du damit nicht, das im VBScript zu machen, denn das wird nichts. In VBScript gibt es keine Timer, die alle x ms ein Event auslösen. (Ironischerweise gibt es eine Funktion, die sich "Timer" nennt, aber nur die Zeit seit Mitternacht ausliest, oder so ähnlich.) :( Deshalb könnte man nur eine Schleife mit Sleep benutzen, was oft ungewollte Effekte erzeugt.

    Ich dachte da eher an eine einfache Funktion die das AutoIt Skript startet, ggf. mit einer Überprüfung der PID, um sicher zu stellen das die Kommandos auch beim COM-Objekt ankommen.

    Ich habe noch auf mehreren Wegen versucht an die anderen Funktionen von PsPad ran zu kommen, jedoch ohne Erfolg. Um diese nutzen zu können müsste man sich einen Weg suchen wie das VBScript abfragt ob der AutoIt-Teil eine PsPad Funktion ausgeführt haben möchte. Dabei fällt mir aktuell aber nur eine Schleife ein, was jedoch unschöne Effekte im PsPad hervor ruft.

    Bisher hast du es geschafft, den markierten Text aus dem SynEdit zu lesen. Wenn du es auch noch hinkriegst, die Hintergrundfarbe zu setzen für mehrere Fundstellen des markierten Textes, dann bist du der Held! Das Ganze ziel darauf ab, das Feature zu ermöglichen, zum markierten Wort alle identischen Wörter zu highlighten. (Das kennt man z. B. aus SciTE.)

    Was das angeht denke ich nicht dass das funktionieren wird. Ich kenne mich mit PsPad nicht so gut aus, bisher scheint er nicht über eine solche Funktion zu verfügen. Auch der Ansatz bei einer Suche dynamisch den Highlighter zu ändern wird, wenn es denn überhaupt machbar ist, schwierig da ich keinerlei Funktion gefunden habe die das ermöglichen würde.

    Ob das SynEdit Steuerelement sowas unterstützt kann ich nicht beurteilen, evtl. weiß da der Entwickler von PsPad mehr darüber.

    Wirklich schade das PsPad keine Events für die Skripte unterstützt, damit wäre vieles einfacher. :(

  • Wirklich schade das PsPad keine Events für die Skripte unterstützt, damit wäre vieles einfacher. :(

    Das wäre in der Tat großartig. Aber mach dir nicht zu viele Gedanken darüber, du hast schon ein gutes Stück geschafft. :rock:

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.