Wow, bist du schnell! Hast du meinen Nachtrag gesehen?
Beiträge von Professor Bernd
-
-
Funktion _WinAPI_GetWindowDC
EN: Retrieves the device context (DC) for the entire window
DE: Holt einen
Handle zu einemGerätekontext (DC) für das gesamte FensterNachtrag:Im Beispiel ist wohl irrtümlicherweise eine Zeile auskommentiert.; _WinAPI_DrawLine($hDC, $iStart_x, $iStart_y + $iLength, $iStart_x, $iStart_y + 5) ; Vertikal untenEdit: Der Nachtrag hat sich erledigt. (siehe Posting #5 )
Gruß,
Bernd.
-
Gun-Food : Wenn es nicht zuviel verlang ist, könntest du noch AutoIt als Standard-Einstellung für den Highlighter setzen?
-
Hallo water, ich habe schon vor, deine Task Scheduler UDF zu testen und zu nutzen. Ich finde sie großartig! Leider stehen im Moment andere Projekte im Vordergrund, die meine Aufmerksamkeit fordern. Aber sobald ich etwas Zeit dazu kriege, werde ich es mir ansehen. Ist echt eine gute Sache geworden!
-
Hallo Gun-Food, ich bin beeindruckt!
Historie
In vielen Bereichen habe ich Anfragen gestellt, mal mit Erfolg, mal nicht. Als ich am 29. September 2019 meine Anfrage hier im Forum stellte, sagte mein Gefühl, 50/50, dass sie erfüllt wird. Ich dachte "Frag halt mal, vielleicht klappt es." Darauf gab es einen Hinweis von Musashi, dass BugFix am 15. August 2019 in der Shoutbox schon angefragt hatte. Nun war mein Gefühl bei 10/90.
Nachdem es mich immer wieder genervt hat, wie viel Mühe es kostete, einen AutoIt-Code halbwegs vernünftig in Postings "hineinzuimprovisieren", und dass der vorher mit Einrückungen wohlformartiere Code einfach an den linken Rand geklatscht wurde, habe ich am 16. Oktober 2019 in der Shoutbox nochmal nachgefragt. ... Und dann, vieleicht weil es auf Weihnachten zugeht, vielleicht weil Gun-Food von meinen Anfragen genervt war, gibt es nun den Highlighter im Forum wieder und ich freue mich wie Bolle!
In meiner naiven Vorstellung war das zwar schon nicht nur eine Datei und ein bisschen HTML-Code auswechseln, aber dennoch zu bewältigen. Was ich nicht ahnte war, dass da ein Ratenschwanz an Folge-Arbeiten dran hängt, z. B. wie sich das auf vorhandene Postings auswirkt. ♫ Das alles und noch viel mehr ♫ hast du in kürzester Zeit umgesetzt. Nicht nur das Highlighting funktioniert, auch die Einrückungen bleiben erhalten.
Da kann ich nur sagen: Vielen Dank!
-
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.
-
So, ich habe mal einen englischen Bereich ins Posting #1 gesetzt, für englisch sprechende Beteiligte. Ich hoffe, man kann es halbwegs verstehen.
-
Oh je. Dennoch danke für deine Deutung. Ich will aber auch nicht zu sehr nachhaken, denn er hat bei andere Sachen Hilfe angeboten.
-
Danke für dein Feedback!
Der Syntaxhighlighter ist nur ein wenig von den Block-Kommentaren #cs #ce irritiert.
Problem ist bekannt und schon "in Arbeit": How can I set a color for Block Comment in the Highlighter?
Apropos: Habe ich die Antwort vom PSPad Entwickler richtig verstanden, und er diesen block comment im autoIt highlighter hinzufügen wird?
-
Alte / old Version 0.1.0 beta (outdated) - Aus Posting #1 hierher verschoben
German English (Translated with http://www.DeepL.com/Translator) Hallo.
Diese Projekt ist mein Versuch, PSPad als Editor/IDE für AutoIt3 fit zu machen. In anderen Threads habe ich schon darüber geschrieben, und es gab auch schon einige gute Tipps.
"PSPad4AutoIt3 Projekt" beinhaltet derzeit als Improvement Kit:
- Einstellungsdateien für PSPad.
- 1 VBScript "AutoIt3-Script-1.vbs" für PSPad-Erweiterungen. Bisher nur 1 Funktion: "ClearLogWin".
- AutoIt Highlighter- und Definitions-Dateien aus einer AutoIt-Standard-Installation ("C:\Program Files (x86)\AutoIt3\Extras\Editors\PSPad\")
. Die Highlighter-Datei ist leicht angepasst, um die bestmögliche Funktionalität in PSPad zu erreichen.
Hello.
This project is my attempt to make PSPad fit as editor/IDE for AutoIt3. I've written about it in other threads, and there have been some good tips.
"PSPad4AutoIt3 Project" currently includes as Improvement Kit:
- Settings files for PSPad.
- 1 VBScript "AutoIt3-Script-1.vbs" for PSPad extensions. So far only 1 function: "ClearLogWin".
- AutoIt highlighter and definition files from an AutoIt standard installation ("C:\Program Files (x86)\AutoIt3\Extras\Editors\PSPad\")
. The highlighter file is slightly customized to achieve the best possible functionality in PSPad.NICHT enthalten sind: / NOT included:
- AutoIt -- Download-Seite EN -- Direkter Download Standard+SciTE(light)
- SciTE4AutoIt3 -- Download-Seite EN -- Direkter Download
- PSPad -- Download-Seite EN -- Direkter Download Portable
- PSPad developer version 5.0.2 (339) -- Download-Seite EN -- Direkter Download Portable or Mirror
Hier soll nun der derzeitige Stand der Entwicklung zur Verfügung gestellt werden. Es ist ein sehr, sehr früher Stand, es gibt wahrscheinlich mehr Dinge, die nicht funktionieren, als welche, die funktionieren. Deshalb seid nachsichtig und erwartet nicht zu viel.
Zumindest für den Anfang habe ich das Projekt als "portable" angelegt, um Wechselwirkungen mit anderen Dingen zu minimieren. Zudem hilft das bei der Fehlersuche.The current state of development is to be made available here. It's a very, very early state, there are probably more things that don't work than there are things that work. Therefore be indulgent and don't expect too much.
At least for a start, I've made the project portable to minimize interactions with other things. It also helps with troubleshooting.Einrichtung AutoIt installieren - Wichtig: Standard-Pfad benutzen! Install AutoIt - Important: Use default path! SciTE4AutoIt3 installieren. - Wichtig: Standard-Pfad benutzen!*
(*Weil manche meiner PSPad Funktionen auf die hervorragenden Scripts von SciTE zugreifen, z. B. AutoIt3Wrapper.)Install SciTE4AutoIt3. - Important: Use default path!*
(*Because some of my PSPad functions access the excellent scripts of SciTE, e.g. AutoIt3Wrapper.)PSPad portable entpacken - Wichtig: In ein Verzeichnis mit Schreibrechten kopieren!
PSPad developer version entpacken und alle Dateien und Ordner in das PSPad-Verzeichnis kopieren. Vorhandene Dateien überschreiben.
Unzip PSPad portable - Important: Copy to a directory with write access!
Unzip PSPad developer version and copy all files and folders into the PSPad directory. Overwrite existing files.Improvement Kit entpacken (Zip mit meinen Dateien) und einfach alle Ordner und Dateien aus dem Datums-Ordner in den PSPad-Ordner kopieren. Vorhandene Dateien überschreiben. Der Download befindet sich ganz unten am Ende in dieses Postings. Extract the improvement kit (zip with my files) and simply copy all folders and files from the date folder into the PSPad folder. Overwrite existing files. The download can be found at the bottom of this posting. Datums-Ordner / date folder
Wichtig! Alle oben genannten Schritte durchführen, BEVOR PSPad das erste Mal gestartet wird!
Dadurch wird sichergestellt, dass PSPad im portablen Modus läuft, und sich nicht z. B. im User-Verzeichnis einnistet.Important! Perform all the above steps BEFORE PSPad is started for the first time!
This will ensure that PSPad is running in portable mode and does not settle in the user directory, for example.Hauptansicht einstellen / Set main view
Shortcuts
Die Shortcuts habe ich denen von SciTE nachempfunden. Leider funktionieren noch keine für die Tools im "favorite tab"! Man sieht die "Fav-Tools", wenn man auf den Sternchen-Button klickt (siehe Screenshot oben). Alle "Fav-Tools" können per Doppelklick gestartet werden.
Der PSPad-Entwickler Jan Fiala hat angeboten, Shortcuts für die Fav-Tools einzubauen. Bis dahin habe ich als Workaround für den wahrscheinlich am häufigsten benötigten Shortcut (F5) das Fav-Tool "au3 - Run" quasi doppelt besetzt, indem ich es zusätzlich in den au3-Kompiler-Einstellungen eingefügt habe. (Menü "Settings" \ "Highlighters Settings" -> Tab "Compiler") Dort kann man einen Shortcut einstellen (F5). Das fliegt natürlich raus, wenn die Fav-Tools eigene Shortcuts haben.I have modeled the shortcuts on those of SciTE. Unfortunately none work for the tools in the "favorite tab" yet! You can see the "Fav-Tools" by clicking on the star button (see screenshot above). All "Fav-Tools" can be started with a double click.
PSPad developer Jan Fiala has offered to include shortcuts for the fav tools. Until then, as a workaround for the probably most frequently used shortcut (F5), I quasi doubled the Fav tool "au3 - Run" by adding it to the au3 compiler settings. (Menu "Settings" \ "Highlighters Settings" -> Tab "Compiler") There you can set a shortcut (F5). Of course, this is out of the question if the fav tools have their own shortcuts.Derzeitige AutoIt-bezogene Shortcuts / Current AutoIt-related shortcuts
Shortcut Action Comment F1 AutoIt help PSPad Eigenheit beachten: Cursor muss innerhalb eines Wortes stehen! Funktioniert nicht, wenn der Cursor z. B. rechts neben dem Wort steht. Pay attention to the peculiarity of PSPad: Cursor must be within a word! Does not work if the cursor is to the right of the word, for example. PSPad help Hilfe zum PSPad-Editor.
Derzeit ohne Shortcut. Zu erreichen über Menü "Help(x)" \ "Help".PSPad Editor Help.
Currently without shortcut. To reach via menu "Help(x)". \ "Help."F5 run script Derzeit über die Kompiler-Einstellungen ermöglich im au3-Highlighter als Workaround. Currently via the compiler settings enabled in the au3 highlighter as a workaround. F8 show/hide log win Shift+F8 clear log win Ctrl+Q toggle comment Kommentiert eine Zeile oder einen ganzen Block ein oder aus. Comments or uncomments a line or an entire block. Ctrl+Z
Ctrl+Yundo
redoCtrl+F2 show/hide tool panel Pojekt-Fenster, Tool-Fenster (links vom Editor-Bereich). Project window, tool window (to the left of the editor area). Shift+Ctrl+E show/hide code explorer Code-Explorer-Fenster (rechts vom Editor-Bereich). Listet eingene Funktionen-, Variablen-Deklarationen und Labels. Durch anklicken wird zu der Stelle im Editor gesprungen. Code Explorer window (to the right of the editor area). Lists your own functions, variable declarations and labels. Click to jump to the position in the editor. Shift+Space clip show Steht der Cusor direkt hinter einem angefangenen Wort, wird eine Liste von möglichen AutoIt-Funktionen oder -Macros gezeigt. Bspl: msg => MsgBox. Doppelklickt man den Vorschlag, oder drückt Enter, wird die Funktion inkl. Syntax eingefügt. If the Cusor is directly behind a started word, a list of possible AutoIt functions or macros is displayed. Bspl: msg => MsgBox. If you double-click the suggestion, or press Enter, the function including syntax is inserted. Alt+Space clip run Steht der Cursor direkt hinter einem fertig geschriebenem Funktionsnamen, wird die Syntax hinzugefügt.
Das ist ähnlich dem Call Tips in SciTE, bei dem die Funktions-Syntax in einem schönen Tooltip angezeigt wird.
Das werde ich vielleicht später mal nachrüsten.If the cursor is directly behind a finished function name, the syntax is added. This is similar to the Call Tips in SciTE, where the function syntax is displayed in a nice tooltip. Maybe I will upgrade this later. Ctrl+Space autocomplete Ein Special-Feature in PSPad! (Autovervollständigung)
Steht der Cusor direkt hinter einem angefangenen Wort, wird eine Liste von möglichen AutoIt-Funktionen, Macros, UND von allen Wörtern im aktuellen Script angezeigt, WENN es mehr als eine Möglichkeit zur Autovervollständigung gibt. Bspl: msg => MsgBox und MsgBoxConstants. Doppelklick auf Vorschlag (oder Enter) vervollständigt das Wort. Gibt es nur eine Möglichkeit, wird sofort vervollständigt.A special feature in PSPad! (auto complete)
If the Cusor is directly behind a started word, a list of possible AutoIt-functions, macros, AND of all words in the current script is displayed, IF there is more than one possibility for auto-completion. Bspl: msg => MsgBox and MsgBoxConstants. Double click on suggestion (or Enter) completes the word. If there is only one possibility, it is completed immediately.Nützliche Tipps / Usefull tips
Shortcut Action Comment none Vertical Split
Horizontal SplitTeilt das Editorfenster senkrecht oder waagerecht. Das selbe Dokument kann parallel ein zweites Mal angezeigt werden.
Zu erreichen über Menü "Fenster".Splits the editor window vertically or horizontally. The same document can be displayed a second time in parallel.
To reach via menu "Window".Aktuell geplante Features 2019-10-17
- Verarbeitung der AU3-Scripts "Run", "Compile", usw. => Ausführung/Kompilierung verhindern, wenn Fehler im Script gefunden werden.
- "F4-Funktionalität": Wenn Fehler im Log-Fenster angezeigt werden, mit F4 von Fehler zu Fehler laufen, zur entsprechende Zeile im Editor-Fenster springen und diese highlighten.
- CallTips: Ich liebe diese Funktion in SciTE! Wenn der Cursor zwischen den Klammern hinter einer Funktion steht und man eine Tastenkombi drückt, wird dort ein Tooltip mit der Syntax und Beschreibung angezeigt.
-
Suchbegriff-Erkennung erweitern für den Aufruf der AutoIt-Hilfe: PSPad hat die Besonderheit, dass beim Aufruf der sprachspezifischen Hilfe der Cursor innerhalb des Suchbegriffs stehen muss. Normal kein Problem, aber oft kommt es vor, dass man eine Funktion per Autovervollständigung einfügt. Dann steht der Cursor direkt hinter dem Suchbegriff (er berührt quasi den letzen Buchstaben), aber beim Druck auf F1 wird der Suchbegriff nicht erfasst. In PSPad gibt es wirklich viele Einstellmöglichkeiten, vielleicht auch dafür. Leider konnte ich noch keine finden und versuche die erweitere Erkennung zu implementieren.- - Dieses Feature ist nun in der neuesten PSPad developer version 5.0.2 (339) enthalten. Danke an Jan Fiala!
Ich denke, wenn diese 4 Features funktionieren, hat PSPad eine gute Basis.
Alte / old Version 1.2.0 beta (outdated) - Aus Posting #1 hierher verschoben 2021-04-16
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:Version 1.1.0 beta - Full
PSPad4AutoIt3 hat sich weiterhin gut entwickelt. Die neue Version unterscheidet sich von der vorherigen sehr stark, viele Features sind hinzugekommen. Ich werde bei Gelegenheit versuchen ein Changelog zu erstellen.
Jan Fiala, der Autor von PSPad, hat viele meiner Feature Requests umgesetzt, durch die verschiedene Funktionen erst möglich wurden. Vielen Dank an Jan!
Wichtige Anlaufstelle für die AutoIt-relevanten Funktionen ist im Hauptmenü das Menü "Scripts", Menüpunkt "==== AutoIt3 ====" (siehe Screenshots).
Highlights dieser Version:
- CallTipViewer für offiziellen AutoIt Funktionen, die in der au3.api, bzw. in der AutoIt-Hilfe stehen, werden CallTips angezeigt.
- "Highlighten aller Vorkommen von selektiertem Text". Vielen Dank an Jan Fiala!PSPad4AutoIt3 continued to perform well. The new version is very different from the previous one, many features have been added. I will try to create a changelog on occasion.
Jan Fiala, the author of PSPad, has implemented many of my feature requests, which made various functions possible. Many thanks to Jan!
Important place to go for the AutoIt-relevant functions is the menu "Scripts" in the main menu, menu item "==== AutoIt3 ====" (see screenshots).
Highlights of this version:
- CallTipViewer for official AutoIt functions, which can be found in the au3.api, or in the AutoIt help, CallTips are displayed.
- "Highlights of all occurrences of selected text". Many thanks to Jan Fiala!Version 1.2.0 beta - Update
Die größte Neuerung ist das "Killerfeature" CallTips für OUDFs.
Au3Api Funktionen sind die offiziellen AutoIt Funktionen, die entweder "eingebaut" sind, oder mit AutoIt ausgeliefert werden. Kurz gesagt, alle Funktionen, die in der AutoIt Hilfe zu finden sind. Nur diese hat der CallTipViewer bisher angezeigt.
OUDF steht für "eigene benutzerdefinierte Funktion", die man NICHT in der AutoIt Hilfe findet, sondern z. B. gerade selbst in einem Au3 Script geschrieben hat, oder die sich in inkludierten Au3 Scripts befinden.The greatest innovation is the "killer feature" CallTips for OUDFs.
Au3Api functions are the official AutoIt functions, which are either "built in" or shipped with AutoIt. In short, all functions that can be found in the AutoIt help. Only these have been displayed by the CallTipViewer so far.
OUDF stands for "own user defined function", which can NOT be found in the AutoIt help, but e.g. have just been written in an Au3 script, or which can be found in included Au3 scripts.Shortcuts
Die Shortcuts sind nun auf die Original-Shortcuts von PSPad und Delphi ausgerichtet. The shortcuts are now aligned with the original PSPad and Delphi shortcuts. Shortcut Action F1 language help (AutoIt3, ...) F9 run script Shift+Ctrl+F9 check syntax Shift+F9 compile Crtl+F9 compile dialog F4 LogWin – jump through errors Ctrl+L show / hide log win Ctrl+Shift+L clear log win Ctrl+D debug to console Shift+Ctrl+D debug to MsgBox Ctrl+Q toggle comment Ctrl+Z
Ctrl+Yundo
redoCtrl+F2 show / hide tool panel Shift+Ctrl+E show / hide code explorer Ctrl+Space autocomplete Alt+Space clip show Shift+Alt+Space clip run Shift+Ctrl+Space CallTip show (2020-06-09) Alt+K Koda FormDesigner Setup info
Der Setup-Helper erleichtert die Installation (PSPad4AutoIt3 bleibt portable) und hilft gleichzeitig, die Voraussetzungen (AutoIt3 und SciTE4AutoIt3) zu installieren, falls nötig. In SciTE4AutoIt3 wurde die AutoIt3Wrapper.au3 von Jos van der Zande (Autor) so erweitert, sodass es von PSPad und anderen Editoren genutzt werden kann. Vielen Dank an Jos!
Auch freue ich mich sehr, dass Jan Fiala mir die Erlaubnis erteilt hat, PSPad hier im Forum zum Download anzubieten. Das vereinfacht vieles. Auch hierfür vielen Dank an Jan!
2020-02-27: Für diejenigen, die kein Installationsprogramm mögen/wollen gibt es nun einen Download ohne Setup.
Beide Downloads enthalten PSPad (neueste Developer Version) und das Improvement Kit.The setup helper makes the installation easier (PSPad4AutoIt3 remains portable) and at the same time helps to install the prerequisites (AutoIt3 and SciTE4AutoIt3) if necessary. In SciTE4AutoIt3, the AutoIt3Wrapper.au3 by Jos van der Zande (author) has been extended so that it can be used by PSPad and other editors. Many thanks to Jos!
I'm also very happy that Jan Fiala gave me permission to offer PSPad for download here in the forum. This simplifies a lot. Also for this many thanks to Jan!
2020-02-27: For those who don't like/do not want an installer, there is now a download without setup.
Both downloads contain PSPad (latest developer version) and the Improvement Kit.Downloads and Installation
PSPad4AutoIt3 kann nur funktionieren, wenn alle Programme und Teile in der jeweiligen Mindestversion vorliegen, z. B. Mindestversion für AutoIt3 ist 3.3.14.5.
Das Installationspaket MIT Setup hilft dabei, alle Vorbedingungen und Versionsprüfungen zu erledigen. Für AutoIt und SciTE kann man vorhandene Pfade angeben, oder eine Neuinstallation durchführen. Auf Wunsch werden die richtigen Versionen aus dem Internet geladen.
Beim Installationspaket OHNE Setup muss man sich selbst um die Vorbedingungen mit den richtigen Versionen kümmern. Nur empfohlen für erfahrene Benutzer.
Als portables Programm braucht PSPad4AutoIt3 einen Ordner mit Schreibrechten. Deshalb bitte nicht in ein Windows Programme Verzeichnis kopieren!PSPad4AutoIt3 can only work if all programs and parts are available in the respective minimum version, e.g. minimum version for AutoIt3 is 3.3.14.5.
The installation package WITH Setup helps to do all preconditions and version checks. For AutoIt and SciTE you can specify existing paths or perform a new installation. If desired, the correct versions can be downloaded from the Internet.
With the installation package WITHOUT setup you have to take care of the prerequirements with the correct versions yourself. Only recommended for experienced users.
As a portable program PSPad4AutoIt3 needs a folder with write permissions. So please do not copy it into a Windows programs folder!Install Update Pack 1. Zuerst die neueste Vollversion herunterladen und installieren/entpacken!
2. Alle Dateien und Ordner aus dem Improvement Kit in den PSPad4AutoIt3 Ordner entpacken (wo die PSPad.exe ist) und vorhandene Dateien überschreiben.1. First download and install/unpack the latest full version!
2. Unpack all files and folders from the Improvement Kit into the PSPad4AutoIt3 folder (where the PSPad.exe is) and overwrite existing files.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) Info German Info English PSPad4AutoIt3 v1.2.0 beta - Update (2020-08-03) Info German
Mit "Killerfeature": CallTips für OUDFs
(eigene benutzerdefinierte Funktionen)Info 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. ?autoit.de/wcf/attachment/87332/ 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 und freue mich gleichzeitig darauf!
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.
-
PSPad4AutoIt3 v2.0.0 beta (2021-04-16)
German English Alle Teile sind Freeware.
PSPad4AutoIt3 besteht aus dem Editor PSPad und dem Improvement Kit, und kann als portable Editor-IDE für AutoIt3 genutzt werden.
Der Autor von PSPad Editor ist Jan Fiala.
Ich (Professor Bernd) bin nur der Autor des Improvement Kit's.
Kontakt:All parts are freeware.
PSPad4AutoIt3 consists of the editor PSPad and the Improvement Kit, and can be used as a portable editor IDE for AutoIt3.
The author of the PSPad Editor is Jan Fiala.
I (Professor Bernd) am only the author of the Improvement Kit.
Contact us:Version 1.1.0 beta - Full
PSPad4AutoIt3 hat sich weiterhin gut entwickelt. Die neue Version unterscheidet sich von der vorherigen sehr stark, viele Features sind hinzugekommen. Ich werde bei Gelegenheit versuchen ein Changelog zu erstellen.
Jan Fiala, der Autor von PSPad, hat viele meiner Feature Requests umgesetzt, durch die verschiedene Funktionen erst möglich wurden. Vielen Dank an Jan!
Wichtige Anlaufstelle für die AutoIt-relevanten Funktionen ist im Hauptmenü das Menü "Scripts", Menüpunkt "==== AutoIt3 ====" (siehe Screenshots).
Highlights dieser Version:
- CallTipViewer für offiziellen AutoIt Funktionen, die in der au3.api, bzw. in der AutoIt-Hilfe stehen, werden CallTips angezeigt.
- "Highlighten aller Vorkommen von selektiertem Text". Vielen Dank an Jan Fiala!PSPad4AutoIt3 continued to perform well. The new version is very different from the previous one, many features have been added. I will try to create a changelog on occasion.
Jan Fiala, the author of PSPad, has implemented many of my feature requests, which made various functions possible. Many thanks to Jan!
Important place to go for the AutoIt-relevant functions is the menu "Scripts" in the main menu, menu item "==== AutoIt3 ====" (see screenshots).
Highlights of this version:
- CallTipViewer for official AutoIt functions, which can be found in the au3.api, or in the AutoIt help, CallTips are displayed.
- "Highlights of all occurrences of selected text". Many thanks to Jan Fiala!Version 1.2.0 beta - Update
Die größte Neuerung ist das "Killerfeature" CallTips für OUDFs.
Au3Api Funktionen sind die offiziellen AutoIt Funktionen, die entweder "eingebaut" sind, oder mit AutoIt ausgeliefert werden. Kurz gesagt, alle Funktionen, die in der AutoIt Hilfe zu finden sind. Nur diese hat der CallTipViewer bisher angezeigt.
OUDF steht für "eigene benutzerdefinierte Funktion", die man NICHT in der AutoIt Hilfe findet, sondern z. B. gerade selbst in einem Au3 Script geschrieben hat, oder die sich in inkludierten Au3 Scripts befinden.The greatest innovation is the "killer feature" CallTips for OUDFs.
Au3Api functions are the official AutoIt functions, which are either "built in" or shipped with AutoIt. In short, all functions that can be found in the AutoIt help. Only these have been displayed by the CallTipViewer so far.
OUDF stands for "own user defined function", which can NOT be found in the AutoIt help, but e.g. have just been written in an Au3 script, or which can be found in included Au3 scripts.Version 2.0.0 beta - fully portable
Dies ist die erste voll portable Version von PSPad4AutoIt3.
Es gibt eine Menge Änderungen und neue Features, z.B.
- ein eigenes AutoIt3 Menü im PSPad-Hauptmenü,
- die Shortcuts sind SciTE-like,
- Tidy für Au3,
- im CallTipViewer eine Erkennung für das Schreiben von "(",
- einen Dialog zum Registrieren von Datei-Endungen mit Pau3,
- einen hübschen About-Dialog im "90er Jahre Style",
- der CodeExplorer kann nun zusammen mit den FavTools auf der rechten Seite angezeigt werden,
( dadurch kann das Panel auf der linken Seite komplett versteckt werden)
- und vieles mehr ...
Insgesamt hat sich viel getan und es lohnt sich, einen Blick darauf zu werfen.This is the first fully portable version of PSPad4AutoIt3.
There are a lot of changes and new features, e.g.
- a separate AutoIt3 menu in the PSPad main menu,
- the shortcuts are SciTE-like,
- Tidy for Au3,
- in CallTipViewer a recognition for writing "(",
- a dialog for registering file endings with Pau3,
- a nice about dialog in "90s style",
- the CodeExplorer can now be displayed together with the FavTools on the right side,
( so the panel on the left side can be completely hidden )
- and much more ...
All in all a lot has been done and it is worth to have a lookShortcuts (AutoIt-related)
Die Shortcuts sind nun SciTE-ähnlich. The shortcuts are now SciTE-like. Shortcut Action F1 Language help (AutoIt3, VBScript, ...) Ctrl-Pause Stop (for "Run"," Compile", ...) F5 Run script Ctrl+F5 Check syntax F7 Compile Crtl+F7 Compile dialog F4 LogWin jump through errors F8 LogWin show / hide Ctrl+Shift+L LogWin clear Ctrl+D Debug to console Shift+Ctrl+D Debug to MsgBox Ctrl+Q Toggle comment Ctrl+Z Undo Ctrl+Y
Shift+Ctrl+ZRedo Shift+Ctrl+Space CallTip show Ctrl+Space Autocomplete Alt+Space Clip show Alt+K Koda FormDesigner Alt+T Tidy for AutoIt3 Ctrl+F2 Show / hide tool panel Shift+Ctrl+E Show / hide code explorer Shift+Ctrl+X Show favorites Downloads and Installation
Vollversion Full version PSPad4AutoIt3 ist nun voll portabel. Einfach das Zip herunterladen, in einen beliebigen Ordner entpacken und PSPad.exe starten.
Um .au3 Dateien per Doppelklick starten zu können, kann man PSPad4AutoIt3 für die Dateiendung registrieren. Ganz einfach geht das mit dem Helfer-Dialog im PSPad Hauptmenü: "AutoIt3" / "Settings (AutoIt3)" / "Register file types"
Tipp: Als portables Programm benötigt PSPad4AutoIt3 einen Ordner mit Schreibrechten. Daher nicht in einen Windows-Programmordner kopieren.PSPad4AutoIt3 is now fully portable. Just download the zip, unzip it to any folder and run PSPad.exe.
To be able to start .au3 files with a double click, you can register PSPad4AutoIt3 for the file extension. This is easily done with the helper dialog in the PSPad main menu: "AutoIt3" "Settings (AutoIt3)" "Register file types"
Tip: As a portable program PSPad4AutoIt3 needs a folder with write permissions. Therefore, do not copy it to a Windows program folder.Update Pack 1. Zuerst die neueste Vollversion herunterladen und entpacken!
2. Alle Dateien und Ordner aus dem Ordner "Kit" in den "PSPad4AutoIt3" Ordner entpacken (wo die PSPad.exe ist) und vorhandene Dateien überschreiben.
Details siehe am Ende dieses Beitrags: "Update Pack detailed installation".1. First download and unpack the latest full version!
2. Unpack all files and folders from the "Kit" folder into the "PSPad4AutoIt3" folder (where the PSPad.exe is) and overwrite existing files.
For details see at the end of this post: "Update Pack detailed installation".Besonderer Dank für die freundliche Unterstützung geht an: Special thanks for the friendly support goes to: Jan Fiala (Author of PSPad)
Jos van der Zande (Author of AutoIt3Wrapper, Tidy, ...)
alpines (suggestions, ideas, testing, design for syntax colors, develop routines)
argumentum (feedback, suggestions, ideas)
AspirinJunkie (RegExp pattern, ideas and code snippets)
Bitnugger (suggestions, ideas and code snippets)
BugFix (suggestions, ideas and code snippets)
Gun-Food (for making it possible to publish the project here)
LarsJ (VBScript<->AutoIt communication, …)
Musashi (suggestions and ideas)Danksagungen für viele weitere Mitwirkende findet man im Pau3 About-Dialog. Credits for many other contributors can be found in the Pau3 About dialog. Ich würde mich freuen, wenn ihr euch das Programm anseht und Feedback 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 feedback 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) Info German Info English PSPad4AutoIt3 v1.2.0 beta - Update (2020-08-03) Info German
Mit "Killerfeature": CallTips für OUDFs
(eigene benutzerdefinierte Funktionen)Info English
With "killer feature": CallTips for OUDFs(own user-defined functions)PSPad4AutoIt3 v2.0.0 beta - fully portable (2021-04-16) Info German Info English PSPad4AutoIt3 v2.1.0 beta - Update (2021-05-02) Info German
Neu: LogWin AutoCloseInfo English
New: LogWin AutoCloseIDE style: hell - dunkel / light - dark
IDE-Stil (+ Farbschema) ändern Change IDE style (+ color scheme) Um den IDE-Stil und das Farbschema (Code-Highlighting) zu ändern, im Haupmenü die Programm Einstellungen aufrufen und entsprechend dem folgenden Screenshot einstellen.
Die folgenden beiden Farbschemas haben alpines und ich speziell für AutoIt entworfen. Meine Empfehlung:
IDE-Stil "Windows" + Farbschema "ProfBernd_1b".
IDE-Stil "Windows10 SlateGray" + Farbschema "ProfBernd_1b_darkish".To change the IDE style and color scheme (code highlighting), go to the program settings in the main menu and set them according to the following screenshot.
The following two color schemes were designed by alpines and me especially for AutoIt. My recommendation:
IDE style "Windows" + color scheme "ProfBernd_1b".
IDE style "Windows10 SlateGray" + color scheme "ProfBernd_1b_darkish".Update Pack detailed installation
PSPad4AutoIt3 Update Pack
Wichtig: Vor dem Update alle PSPad-Fenster schließen!
Falls das Update Pack in einen vorhandenen PSPad4AutoIt3 Ordner entpackt wird, in dem der Benutzer Einstellungen gemacht hat, bleiben normalerweise alle Einstellungen erhalten. Aber es ist immer eine gute Idee, vorher ein Backup zu machen (Kopie des PSPad4AutoIt3 Ordners).
Dieses Archiv enthält nur das Improvement Kit. Um ein funktionierendes PSPad4AutoIt3 zu erhalten, folgendes druchführen:
1. Falls noch nicht vorhanden, zuerst die neueste Vollversion herunterladen und entpacken => Ordner "PSPad4AutoIt3" (enthält die PSPad.exe usw.).
2. Aus diesem Update Pack alle Dateien und Ordner aus dem Ordner "Kit" in den Ordner "PSPad4AutoIt3" entpacken (wo die PSPad.exe ist) und dabei vorhandene Dateien überschreiben.PSPad4AutoIt3 Update Pack
Important: Close all PSPad windows before the update!
If the Update Pack is unpacked into an existing PSPad4AutoIt3 folder where the user has made settings, usually all settings will be preserved. But it is always a good idea to make a backup before (copy of PSPad4AutoIt3 folder).
This archive contains only the Improvement Kit. To get a working PSPad4AutoIt3, do the following:
1. if not already available, first download and unpack the latest full version => folder "PSPad4AutoIt3" (contains the PSPad.exe etc.).
2. from this update pack, unzip all files and folders from the "Kit" folder into the "PSPad4AutoIt3" folder (where the PSPad.exe is), overwriting existing files. -
Zitat von alpines
"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\GIGABYTE\Desktop\Joypad.au3" /UserParams
...
+>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
Genau so mache ich das in PSPad. Es wird AutoIt3Wrapper benutzt, aber leider funktioniert der Hotkey "Crtl+Break" nicht in PSPad. Seltsamerweise funktioniert aber "Ctrl+Alt+Break"!? Zum Testen habe ich folgendes genommen:
Zitat; Zum Testen für Shortcuts: "Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop"
WinWaitActive("TestFensterTitle")
-
-
Wenn du das Skript ausführst, und das tust du ja, und nicht der Editor, ...
Das macht der Editor, nicht ich. Wie in SciTE, so auch in PSPad, öffne ich ein AutoIt-Script und drücke F5 für "Run". Den Compiler habe ich in PSPad eingetragen, inkl. AutoIt3Wrapper-Parameter. Wenn ich nun F5 drücke, wird das Script ausgeführt.
-
-
Das Problem ist, die richtigen PIDs zu finden/wissen. Es soll ja nicht ein anderes AutoIt-Script abgeschossen werden, das ein User bei sich laufen hat. Dazu müsste ich halt erst wissen, "wem" ich die Schließen-Nachricht schicken soll.
Nachtrag: Was bedeuted denn "Du spawnst doch die neuen Skripte"?
-
-
Hallo BugFix,
erstaunlicherweise habe ich gestern genau über das Thema nachgedacht und kann deinen Tip wirklich gut gebrauchen. Gleich mal ausprobieren.
... tick-tack ...
Ausprobiert. Fazit: Wahnsinn! Dadurch eröffnen sich nicht nur eine Menge Möglichkeiten, sondern ich kann mich auch ein wichtiges Problem kümmern.
Wenn man in SciTE ein AutoIt-Script auführt (F5) und das Script in einer Routine festhängt, kann man mit dem Hotkey "Ctrl+Break" die Ausführung abbrechen. Diese Funktionalität versuche ich in PSPad zu nachzubauen. Mithilfe deines Codes kann ich schonmal die Hotkeys auswerten. Fehlt nur noch eine Idee, wie ich die Ausführung des AutoIt-Scripts abbreche.
Nachtrag: Gemeint ist: Welcher Anwendung / welchem Prozess genau soll eine "Schließen-Nachricht" gesendet weden?
Ausschlaggebend ist dabei nicht PSPad, sondern AutoIt und der (SciTE-)AutoIt3Wrapper (PSPad ist solange unbedienbar). Meine biherige Erkenntnis ist recht mager: Während des Vorgangs werden im Win-Task-Manager 4 Dateien angezeigt, die alle den Namen "AutoIt v3 Script (32 Bit)" tragen.
Mal sehen. Ich wollte es hier nur kurz erwähnen, und wenn ich nicht weiterkomme, gehts in einem eigenen Thread weiter. Bis hierhin komme ich mit deinem Code ein gutes Stück weiter.
-
-
Wow, danke für die Info! Ich wollte sowieso schon nach CallBacks frage, die auch BugFix schon erwähnt hat, habe mich dann aber entschlossen, das hinten anzustellen. Ich bin im Moment wirklich begeistert über all die positiven Rückmeldungen, aber auch sehr belastet. Um mich nicht zu überlasten, muss ich Prioritäten setzten. Das funktioniert auch ganz gut. Auch wenn es langsam vorwärts geht, es geht!
-
-
Wenn die Events eingebaut sind kannst du sicherlich richtig loslegen, ...
Ah, guter Hinweis. Denn dabei fällt mir ein, dass die Events nur dann nutzen, wenn sie eigenständig auslösen. Damit meine ich, dass User-Code ausgeführt wird, wenn das Event gefeuert wird. - Ist schwer auszudrücken - Ich versuchs mal in einfach: Der Extention-Schreiber soll seinen Code einfach in ein Event setzen können, ohne sich um ein Monitoring kümmern müssen.
Die Gefahr sehe ich schon, dass durch falsch desingneten Code der Editor aufhängt wird. So haben meine derzeitigen Studien der VBScript Monitoring-Möglichkeiten gezeigt, dass jegliches Do-Loop mit Sleep das Hauptprogramm mehr oder weniger zum Erliegen bringt. Ein Versuch mit Sleep 10 brachte zwar eine brauchbare Handhabbarkeit, aber PSPad konnte nicht mehr beendet werden.
Auch das Beispiel von Jan ist einleuchtend: Wenn der Extention-Schreiber z. B. den markierten Text auswertet und ändert, während der Editor-User selbst den markierten Text ändert, kann das in eine Endlos-Schleife laufen.
Insgesamt verstehe ich die Einwände von Jan. Ein Extention-Schreiber müsste wirklich sehr vorsichtig programmieren, um keinen Schaden zu verursachen.
-
-
Ich finde deine Einschätzung richtig. PSPad bietet zwar Schnittstellen zum Erstellen von User Extentions, aber die können nur per Shortcut genutzt werden. Das Message-Hooking behalte ich mal im Hinterkopf.
Bleibt zu prüfen, ob der Aufwand in irgendeinem sinnvollen Verhältnis zum Nutzen steht.
Da hast du grundsätzlich Recht. Ich sehe es aber auf 2 Ebenen: Die grundsätzliche, und die individuelle.
Zur grundsätzlichen Ebene: Bei mir gibt es keinen Zeit- oder Erfolgsdruck, für mich ist das ein Hobby. Hobbys kosten. In diesem Fall Zeit und Aufwand, den ich gerne investiere und selbst wenns in die Hose geht, genieße ich dennoch die Zeit der Suche und Entwicklung. Das ist fast wie ein guter Krimi. Der Aufwand lohn sich, solange es Spaß macht. Sollte ich Erfolg haben, teile ich das mit anderen, die dann auch was davon haben.
Zur individuellen Ebene: Hingegen kann ein einzelner Punkt zu große Probleme machen, sodass dadurch die Frustration größer ist, als der Spaß an der Arbeit. In dem Fall schlafe ich eine Nacht darüber und kann dann sehr wohl zum Schluß kommen, diesen Punkt nicht weiterzuverfolgen.
Visual Studio Code kenne ich, Sublime Text habe ich mir nun angesehen. Beide haben, sagen wir mal, viel Potential. Beide sind nicht mein "Geschmack".
Bei PSPad war es von Anfang an "Liebe auf den ersten Blick". Ich habe das Programm installiert, cpp-, pas- und bat- Dateien geladen, und sofort waren Highlighter-Features zur Verfügung. Selbst damals als Programmier-Anfänger fand ich mich mit den Menüs auf Anhieb zurecht, und die Einstellungen waren in einem einzelnen, zentralen Einstellungsdialog zu erreichen. Dort konnte ich ohne Programmieraufwand, einfach mit der Maus die Einstellungen setzen, die mir gefiehlen.
Mit mehr Erfahrung tauchte ich auch tiefer in die Einstellmöglichkeiten ein. So konnte ich (wie gesagt, damals Programmier-Anfänger) recht schnell aut-Dateien (aut = AutoIt2) im Highlighter einbinden, und später dann au3-Dateien. Bis heute konnte ich PSPad eine "AutoIt-Funktionalität" einhauchen, die geschätzt 60 % von SciTE abdeckt. Tendenz steigend.
...
OK, es gibt gute Neuigkeiten. Im PSPad Forum gab es weitere positive Reaktionen. Jan Fiala, der Entwickler von PSPad hat angeboten, Features einzubauen, die wieder ein Stück weiter helfen. Im Moment bin ich ganz aufgeregt, und werde mich erstmal darum kümmern.
-
-
Kein Erfolg mit JScript! Ich krieg nichts ins Laufen. Alles ist mit dem Browser verbunden, den es im Editor nicht gibt. Überall steht "window.setInterval(...)", aber ich weiß nicht, wo ich "window" herbekommen soll. Es ist echt der Hammer, wie bescheuert schwierig es ist, einen Timer in ein VB- oder JScript zu bekommen! Das muss doch möglich sein.
Aber nicht mehr heut. Gute Nacht!
-
-
Sleep und Co. habe ich abgehakt, weil nach meinem Ermessen ein Script eine Unterfunktion von PSPad darstellt, die das Programm stark beeinflusst. Ein Do-Loop wird somit entweder die CPU merklich auslasten, oder eben per Sleep und Co die Ausführung von PSPad behindern. Es muss ein Timer her. (Ich gucke mal, ob das in JScript nicht doch geht.)
Das setzen von wshShell brauchst du doch auch nicht, die Variable sollte doch nach der Funktion ungültig sein oder nicht?
Das wäre nicht tragisch, da die Funktion ja die ganze Zeit laufen soll. (Beim Starten von PSPad die Funktion starten, beim Beenden von PSPad die Funktion beenden.)
Callst du eigentlich deine TestRoutine grad mit einem Menupunkt? Oder wie rufst du die auf?
Das Script hat eine INIT-Routine, die beim Starten von PSPad aufgerufen wird = sehr praktisch!
Ich habe jetzt weitere Test mit HTA im VBScript gemacht, aber das gleiche Ergebnis: Der Code wird ausgeführt, erzeugt ein Fenster und blockiert PSPad in sofern, dass PSPad sich nicht schließen lässt, solange das Fenster existiert. - - - Das Fenster wiederum ist die notwendige Vorstufe, um einen Timer zu erzeugen. In HTA ist alles abhängig von einem Fenster. Normalerweise ist es für Browser gedacht. ... Ach, ist das alles kompliziert! Warum nicht einfach wie in AutoIt ein _WinAPI_SetTimer aufrufen und fertig.
_WinAPI_SetTimer
-