PSPad4AutoIt3 Projekt

  • PSPad4AutoIt3 v1.1.0 beta (2020-06-09) + v1.2.0 (2020-08-03) "Killerfeature": CallTips für OUDFs

    German English
    PSPad4AutoIt3 besteht aus dem Editor PSPad und dem Improvement Kit, und kann als Editor-IDE für AutoIt3 genutzt werden. Entsprechend werden AutoIt3 und SciTE4AutoIt3 als Voraussetzungen dazu benötigt. Alle Teile sind Freeware.

    Der Autor von PSPad Editor ist Jan Fiala.
    Ich (Professor Bernd) bin nur der Autor des Improvement Kit's.

    Kontakt:
    PSPad4AutoIt3 consists of the Editor PSPad and the Improvement Kit, and can be used as an Editor IDE for AutoIt3. Accordingly AutoIt3 and SciTE4AutoIt3 are required as prerequisites. All parts are freeware.

    The author of the PSPad Editor is Jan Fiala.
    I (Professor Bernd) am only the author of the Improvement Kit.

    Contact us:



    Besonderer Dank für die freundliche Unterstützung geht an: Special thanks for the friendly support goes to:
    BugFix (suggestions, ideas and code snippets)
    Jos van der Zande (Author of AutoIt3Wrapper)
    Jan Fiala (Author of PSPad)
    alpines
    (suggestions, ideas, testing, design for syntax colors, develop routines)
    Musashi
    (suggestions and ideas)
    Gun-Food (for making it possible to publish the project here)
    Bitnugger (suggestions, ideas and code snippets)
    AspirinJunkie (RegExp pattern, ideas and code snippets)



    Ich würde mich freuen, wenn ihr euch das Programm anseht und eure Meinung dazu schreibt. Lob, Kritik, Ideen, Tipps und Hinweise auf Bugs sind willkommen. Viel Spaß mit den neuen Features! :) I would be happy if you look at the program and write your opinion about it. Praise, criticism, ideas, tips and hints on bugs are welcome. Have fun with the new features! :)


    Professor Bernd.



    News, Details, Info
    PSPad4AutoIt3 v1.1.0 beta - Full (2020-06-09) German English
    PSPad4AutoIt3 v1.2.0 beta - Update (2020-08-03) German
    Mit "Killerfeature": CallTips für OUDFs
    (eigene benutzerdefinierte Funktionen)
    English
    With "killer feature": CallTips for OUDFs
    (own user-defined functions)


  • ---- Eigentliches Posting #3 -------------------------------------------------


    Danke für das Lob! :)


    Changelog habe ich noch nie gemacht. Aber es ist ja bald Weihachten, da wünsche ich mir einfach einen, der mir dabei hilft. ? Wie man sehen kann, heißt der Thread "PSPad4AutoIt3 Projekt DE". Falls jemand beim Übersetzen ins Englische hilft, gibts vielleicht ein "PSPad4AutoIt3 Projekt EN".


    Hat die "Installation" denn bei dir geklappt? Funktionieren die Shortcuts und die Fav-Tools? Kommt der Compiler-Output an?


    Und wenn die Events für PSPad kommen, dann gehts richtig los.

    Da hab ich ein wenig Bammel davor <X und freue mich gleichzeitig darauf! :party:


    So, da wäre schon was fürs Changelog: Ich habe eine Winzigkeit geändert und hochgeladen. Lediglich 2 Shortcuts getauscht: ClipShow=Shift+Space und ClipRun=Alt+Space.

  • Changelog habe ich noch nie gemacht.

    Einfach nur die neuen Features der neuen Version posten, so dass man sehen kann was sich verändert hat. Ein Beispiel wie es aussehen kann findest du hier.


    Hat die "Installation" denn bei dir geklappt? Funktionieren die Shortcuts und die Fav-Tools? Kommt der Compiler-Output an?

    Ja, alles super. Der Syntaxhighlighter ist nur ein wenig von den Block-Kommentaren #cs #ce irritiert. Die werden als Präprozessoren geparst obwohl das so ja nicht ganz richtig ist.

  • Apropos: Habe ich die Antwort vom PSPad Entwickler richtig verstanden, und er diesen block comment im autoIt highlighter hinzufügen wird?

    Zitat von PsPad

    I am afraid you are not able to set it, cause PSPad doesn't know such block comment.

    Autoit3 is provides as user highlighter definition and there is set of block highlight available. I have to add this block comment into user highlighter.

    Daraus geht für mich nicht eindeutig hervor, dass er das auch machen wird, zumal er Deine Folgefrage (vom 20. Sept,2019) :

    did you say that you will implement the AutoIt Block Comment in the user highlighter?

    bisher nicht beantwortet hat.


    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."


  • Ich würde an deiner Stelle vielleicht den englischen Beitrag in einen Spoiler setzen, denn beide Sprachen gleichzeitig braucht man nicht.

    Eine kleine Nachricht oben im Thread "English version here" oder so, und fertig, aber es ist ja dein Thread.



    Was ist denn der aktuelle Entwicklungsstand? Welche Features willst du noch implementieren?

    Arbeitest du eigentlich schon an den Eventsachen? Du könntest die ja vorerst als Menupunkt einbinden, und wenn die Events stehen schreibst du das einfach um, dann hast du den Code bis dahin schon mal fertig.

  • englischen Beitrag in einen Spoiler ... kleine Nachricht oben im Thread "English version here" oder so, und fertig

    Hmm, :/ daran hatte ich auch schon gedacht. Wenn es gegen keine Forenregeln verstößt, lasse ich im Moment mal in der Tabellenform.


    Was ist denn der aktuelle Entwicklungsstand? Welche Features willst du noch implementieren?

    Arbeitest du eigentlich schon an den Eventsachen?

    Ich arbeite derzeit "Tag und Nacht" an dem Projekt. (Nee, ganz so schlimm ist es nicht, aber ich bin fleißig dran.) ;)


    Leider sind in dieser "Findungsphase" meine Entscheidungen die größten Stolpersteine. Ich habe mit VBScript-Lösungen viel Zeit verschwendet, um zu erkennen, was ich schon vorher wusste, nämlich dass damit einfach nicht weiterzukommen ist. VBScript ist einfach zu "unmächtig" und müßig. Nun wende ich mich dem Ansatz zu, externe Programme zu nutzen, um Features zu implementieren. Dabei ist noch die Frage, ob AutoIt dazu geeingnet ist, weil Antivirensoftware eine Vorliebe fürs Löschen von AutoIt-Exes hat.


    Entwicklungstand


    Es geht gerade sehr langsam voran. Mein Stil ist es, möglichst saubere, stabile Arbeit abzugeben. Ohne die geeigneten Events und Funktionen in PSPad muss ich improvisieren und externe Lösungen suchen. Dabei ist z. B. bei SendKeys u. ä. darauf zu achten, das richtige Fenster/Control anzusprechen. - Ich arbeite daran.


    Ein weiteres Problem sind die AutoIt-Aufrufe für "Run", "Compile", usw. Die Arbeiten von vielen Usern für Routinen in SciTE helfen dabei enorm! (Respekt!). So z. B. in diesem Fall der AutoIt3Wrapper. Leider sind da große Mysterien über die Handhabung. Um jetzt nicht zu sehr ins Details zu gehen, sage ich einfach, es ist mir noch nicht gelungen Command Line Parameter zu finden, mit denen zuerst ein Fehler-Check durchgeführt wird, und falls Fehler, dann NICHT ausführen/kompilieren. (INIs mit Direktiven habe ich nicht zum Funktionieren gebracht.) Falls sich da nichts findet, werde ich versuchen, es selbst umzusetzen.


    Aktuelle geplante Features


    Ich versuche im Posting #1 einen Spoiler dafür einzurichten.

  • VBScript ist einfach zu "unmächtig" und müßig. Nun wende ich mich dem Ansatz zu, externe Programme zu nutzen, um Features zu implementieren. Dabei ist noch die Frage, ob AutoIt dazu geeignet ist, weil Antivirensoftware eine Vorliebe fürs Löschen von AutoIt-Exes hat

    Eine mögliche Option für Dich wäre es, .a3x Dateien zu verwenden, da diese von Virenscannern i.d.R. weniger betroffen sind.

    Eine .a3x Datei ist gewissermaßen eine "verschlüsselte/kompilierte" Version der .au3 Datei (a3x = Tokenised AutoIt3 code file).

    Bzgl. Sicherheit gelten die selben Regeln wie bei einer .exe (also keine Passwörter ablegen etc.)


    Im .au3 Skript folgende Direktive angeben : #AutoIt3Wrapper_Outfile_type=a3x

    oder "Compile with Options".


    Einige Punkte müssen beachtet werden, z.B. :

    • Auf dem Rechner muss eine passende AutoIt Installation vorhanden sein, da die .a3x (anders als die 'kompilierte' .exe) keinen AutoIt-Interpreter einbindet - ist daher auch kleiner..
    • Die Einstellung #AutoIt3Wrapper_UseX64 hat keine Relevanz !
      Ein Doppelklick auf z.B. Demo.a3x verwendet die Interpretervariante (32-Bit/64-Bit), die in der Registry mit dieser Extension assoziiert ist. Bei Run/RunWait muss die passende Interpreter-Exe angegeben werden.
    • #AutoIt3Wrapper_UseUpx=N setzen, d.h. ausschalten (eh besser bzgl. Virenscannern)

    (weitere Punkte bei Bedarf, falls diese Variante für Dich in Frage kommen sollte)


    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."


  • Vielen Dank für den Tipp! :)


    Aufgrund eines Tipps von BugFix nutze ich im Moment die Möglichkeit, in meinem Improvement Kit nur au3 Dateien als "externe Programme" zu benutzen. Das heißt, z. B. in den VBScripts erfolgt ein Aufruf der AutoIt3.exe, der ich die jeweilige au3 übergebe. Bei meinen bisherigen Tests hat das funktioniert und Windows-Defender hat sie nicht angerührt. Dadurch sind alle Codes einsehbar und das Improvement Kit ist klein.


    Dennoch freue ich mich über deinen Tipp. Hätte a3x Vorteile demgegenüber?

  • Aufgrund eines Tipps von BugFix nutze ich im Moment die Möglichkeit, in meinem Improvement Kit nur au3 Dateien als "externe Programme" zu benutzen.

    [...]

    Dennoch freue ich mich über deinen Tipp. Hätte a3x Vorteile demgegenüber?

    (Vorab : ich habe .a3x Dateien bisher nur gelegentlich verwendet, bin also nicht der Experte;))


    Was die Virenscannerproblematik angeht dürfte es wohl keinen gravierenden Unterschied machen, ob Du Dateien als .a3x oder .au3 beifügst (solange es eben keine .exe ist).


    Punkte, die mir gefallen :

    • Doppelklick auf eine .a3x Datei verhält sich analog zu einer .exe
    • .a3x Dateien können, auch analog zu einer .exe, mittels Dateiname aus einer .cmd (Batchdatei) oder einem anderen Skript aufgerufen werden, also ohne AutoIt3.exe + Übergabe der .au3 Datei.
    • Alle benötigten UDF's sind in der .a3x 'included'. Das ist ggf. interessant bei externen, also Nicht-Standard-UDF's. Man muss diese nicht mitliefern (bzw. vergessen es zu tun).
    • Der Quellcode wird nicht offengelegt (falls man dies aus verschiedenen Gründen möchte).

    Diese Beschreibung ist unvollständig ! Ob das jetzt Vorteile sind, muss jeder selbst entscheiden :P.


    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."


  • Ich vermute mal, dass erfahrene Entwickler besser organisiert sind, aber bei mir muss ich erst noch den richtigen Weg finden. Die geplanten Features habe ich umrissen, recherchiert und angefangen. Da ergab sich eins zum anderen, und mal habe ich Code-Snippets und Tipps für das eine gefunden, mal für das andere. So sind mittlerweile mehrere angefangen, und eins habe ich gestern fertig gestellt:


    Die Erweiterung der Suchbegriff-Erfassung, damit auch Wörter erkannt werden, wenn der Cursor direkt dahinter steht.


    Das war gestern. Heute hat Jan Fiala die neueste Developer Version 5.0.2 (339) veröffentlicht. Darin ist dieses Feature nun enthalten. Ist das nicht :ironie:?

    Ich freue mich sehr, dass Jan Fiala meinen Feature-Request erfüllt hat! Ebenso wie: Scripting - added variables for getVarValue(): %File% (file name without extension), %Ext% (file extension). Das kommt diesem Projekt zugute, weil damit in der VBScirpt-Schnittstelle 2 weitere Variablen hinzukommen.


    Edit:


    Fast vergessen: Im Posting #1 habe ich diese Infos im Spoiler "Aktuell geplante Features" und bei den Downloads die neueste PSPad Developer Version hinzugefügt. Den entsprechenden Punkt im Abschnitt "Einrichtung" habe ich angepasst.

  • Eine mögliche Option für Dich wäre es, .a3x Dateien zu verwenden, da diese von Virenscannern i.d.R. weniger betroffen sind.

    Ich wollte nur mal berichten, dass die ax3-Dateien vor kurzem zu einer wichtigen Überlegung geworden sind. Da ist noch ein wenig Denkarbeit erforderlich. Sie haben auch jeden Fall ihre Vorzüge. - Sinnvolle Anwendung wäre das Verbergen des Quell-Codes. Wie sieht es denn eigentlich aus mit decompilieren?

  • In einem Satz: Google findet Dir in kürzester Zeit entsprechende Decompiler. Also nix mit "Quell-Code verbergen" :(

  • Sinnvolle Anwendung wäre das Verbergen des Quell-Codes. Wie sieht es denn eigentlich aus mit decompilieren?

    Grundsätzlich ist das Dekompilieren gemäß der Nutzungsbedingungen von AutoIt unzulässig, aber das interessiert in betreffenden Kreisen natürlich niemanden.


    Wie water gerade schrieb : Also nix mit "Quell-Code verbergen"


    Ich zitiere mich mal selbst ;):

    Eine .a3x Datei ist gewissermaßen eine "verschlüsselte/kompilierte" Version der .au3 Datei (a3x = Tokenised AutoIt3 code file).

    Bzgl. Sicherheit gelten die selben Regeln wie bei einer .exe (also keine Passwörter ablegen etc.)

    Meines Wissens wird eine .au3 beim Einbinden in die .exe mit dem selben Verfahren 'verschlüsselt' (genauer 'tokenized'), wie eine alleinstehende .a3x-Datei.

    Etwas sicherer sind .a3x gegenüber .au3-Dateien daher schon, zumindest liegen sie für den Durchschnittsuser nicht auf dem Präsentierteller und er kann nicht darin herumdoktern ;).


    Es spricht zudem ja nichts dagegen, die .au3-Quellen für 'Selbstkompilierer' in einem separaten \Source-Verzeichnis mitzuliefern.


    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."