Hilfe-Beispiel in SciTE öffnen => abfangen und in PSPad öffnen

  • Hallo Tweaky.

    Ich dachte, da du unser Hilfe-Datei-Guru bist, wende ich mich an dich. ;)

    Derzeit arbeite ich daran, den Editor "PSPad" als Editor (IDE) für AutoIt einzurichten. Die Hilfe grundsätzlich einzubinden ist mir gelungen, was noch fehlt ist die Funktionalität von "Dieses Script öffnen". Wenn man die Hilfe in SciTE aufruft und darauf klickt, wird eine Beispiel-Datei in SciTE geladen.

    Wie wird das denn in SciTE umgesetzt und wie kann ich das denn für PSPad erreichen? Man sieht ja den Bildschirm kurz zucken, also wird wohl ein Shell-Aufruf ausgelöst, oder ein LUA Script o.ä. Wie kommt man denn da ran?

    Zudem wird in PSPad der Bereich "In Zwischenablage kopieren" nicht angezeigt. Wie kann ich das denn einblenden?

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

  • Hi,

    die Hilfe hat einen Browser im Hintergrund, man kann also sehr einfach im Quellcode der Seite bspw nach "Dieses Script öffnen" suchen und sehen, was da passieren soll.

    Ein Klick auf diesen Link führt zur Ausführung einer *.au3-Datei.

    Ändere also im Kontextmenü einer au3-Datei im Explorer bei "öffnen mit" und dann "Andere App auswählen" auf deinen Editor (Haken bei "immer diese datei mit blablub-Editor öffnen" nicht vergessen"), und beim nächsten Klick in der Hilfe wird die (Hilfe-)Datei in diesem Editor geöffnet.

  • Hallo Andy,

    interessanter Ansatz. ... teste ...

    ...

    So, habe deinen Tipp ausprobiert und die au3-Dateien mit PSPad verknüpft. Wenn ich nun eine au3 doppelklicke, öffnet sich PSPad. Leider funktioniert das "Dieses Script öffnen" in der Hilfe nicht. Wenn ich in der Hilfe darauf klicke, ist es wie vorher: Ein kurzes Zucken des Bildschirms ohne dass sich was tut.

    die Hilfe hat einen Browser im Hintergrund, man kann also sehr einfach im Quellcode der Seite bspw nach "Dieses Script öffnen" suchen und sehen, was da passieren soll.

    Boah, ist das lange her. :saint: HTML-Seiten kompiliert zu CHM. Kann man die denn dekompilieren, oder wie komme ich da an den Quellcode?

    Andere Idee: Im AutoIt Programm-Verzeichnis gibt es die AutoIt3Help.exe, mit der diese Sachen gehandhabt werden können. Der Editor (beliebig) öffnet damit die AutoIt-Hilfe, beim Kllick auf "Dieses Script öffnen" öffnet sich der Editor mit dem Hilfe-Beispielscript, und sie fügt auch den Link "In Zwischenablage kopieren" in der Hilfe hinzu.

    Ist es möglich, den Quellcode der AutoIt3Help.exe zu bekommen, oder die AutoIt3Help.exe zu decompilieren?

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

  • Hi Professor Bernd,

    um an den Quellcode zu kommen, reicht bei mir ein Rechtsklick auf einen freien Bereich in der Hilfe und dann ein Klick auf "Quelle anzeigen".

    Dort findet sich bei mir folgender Codeausschnitt zum Link "Open this script": (Meine Hilfe ist auf Englisch)

    Code
    document.write('<object id=hhctrl type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><param name="Command" value="ShortCut"><param name="Font" value="Verdana,10pt"><param name="Text" value="Text:Open this Script"><param name="Item1" value=",Examples\\HelpFile\\IniWrite.au3,"></object>');

    Das dürfte die entsprechende .au3-Datei mit dem Standardprogramm ausführen. Dementsprechend habe ich Andys Tipp mal getestet:

    Zitat von Andy

    Ändere also im Kontextmenü einer au3-Datei im Explorer bei "öffnen mit" und dann "Andere App auswählen" auf deinen Editor (Haken bei "immer diese datei mit blablub-Editor öffnen" nicht vergessen"), und beim nächsten Klick in der Hilfe wird die (Hilfe-)Datei in diesem Editor geöffnet.

    Ich habe testweise Notepad++ als Standardprogramm gesetzt (habe kein PSPad) und es funktioniert bei mir einwandfrei. Warum das bei dir nicht geht, kann ich jetzt ohne Weiteres leider nicht sagen.

    Viele Grüße

    Xenon

  • Hallo Xenon.

    Ich habe testweise Notepad++ als Standardprogramm gesetzt (habe kein PSPad) und es funktioniert bei mir einwandfrei. Warum das bei dir nicht geht, kann ich jetzt ohne Weiteres leider nicht sagen.

    Hm, ja, ist seltsam. Leider ist mir der HTML-Code (CHM) nicht ganz eingängig, so dass ich da nicht wirklich weiterkomme. Wie hast du die Hilfe denn in Notepad++ eingebunden? (Screenshot wäre besser als Worte) ;) Und springt die Hilfe dann auf den im au3 markierten Begriff? Wird bei dir der Punkt Link "In Zwischenablage kopieren" in der Hilfe angezeigt? Hast du in NP++ irgendwelche Addons o. ä., die den Unterschied machen?

    Hast du eine Idee, wie man an den Quellcode der AutoIt3Help.exe kommt? Die scheint den Link "In Zwischenablage kopieren" in die Hilfe zu injizieren. Vielleicht wäre es einfacher und flexibler, wenn man da ansetzen würde!?

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

  • Professor Bernd

    Nur Worte, aber vielleicht helfen ja auch andere Worte :D
    Du sollst einfach mit Rechtsklick auf eine beliebige au3-Datei klicken. In dem Kontextmenü das sich öffnet, gehst du mit dem Cursor auf "Öffnen mit" und wählst "andere App auswählen". Dann wählst du dein Programm aus und setzt den Haken bei "Immer App zum Öffnen..".

    Grüße autoiter

  • Hallo autoiter.

    Kann es sein, dass du nur quer gelesen hast? 8o Wir sind schon längst weiter, bis hierhin funktioniert es ja (au3-Dateien sind mit PSPad verknüpft). Nur es nutzt nichts, da sich beim Klicken in der AutoIt-Hilfe nichts rührt. Es ist ja nicht so, dass sich das falsche Programm öffnet, es öffnet sich gar nichts.

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

  • Ups, tatsächlich habe ich nur die letzten Beiträge gelesen. ^^

    Ich bin jedoch sicher, dass schon Andy und Xenon deinen Fortschritt nicht erfasst haben. Xenon und ich haben nur nachvollzogen, was Andy dir geschrieben hat ;)

    Grüße autoiter

  • HTML-Seiten kompiliert zu CHM. Kann man die denn dekompilieren, oder wie komme ich da an den Quellcode ?

    Code
    ; - Testverzeichnis anlegen
    ; - AutoIt.chm dort hineinkopieren
    ; - dieses Skript dort starten
    Run("hh.exe -decompile " & @ScriptDir & " " & @ScriptDir & "\AutoIt.chm")

    => Ergebnis : die HTML-Struktur der .chm-Datei

    Ob Dir das allerdings weiterhilft :Glaskugel:.

    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."

    Einmal editiert, zuletzt von Musashi (26. September 2019 um 00:31)

  • Run("hh.exe -decompile " & @ScriptDir & " " & @ScriptDir & "\AutoIt.chm")

    Oh, da werden Erinnerungen wach (HTML Help Workshop u. ä.)! Zwar hilft es hierbei nicht wirklich weiter, aber nützlich ist es allemal.

    Vielen Dank dafür! :)

    Desweiteren ist es mir gelungen, die AutoIt3Help.exe in PSPad einzubinden. Damit, und dem Tipp von Andi (au3 mit PSPad verknüpfen) ist eine vollumfängliche Nutzung der AutoIt-Hilfe in PSPad möglich. Beide Links, "Dieses Script öffnen" und "In Zwischenablage kopieren" sind vorhanden und funktionieren.

    Leider gibt es einen Wehrmutstroffen. In PSPad kann regulär nur eine Hilfe-Datei (.chm) im Standard-Dialog eingebunden werden. Die Einbindung der Exe erfolgt hingegen als externes Programm. Das ist an sich nicht schlimm, und einmal eingerichtet funktioniert alles, aber es ist nicht ganz "ordentlich". Das mag Geschmackssache sein, aber mir wäre es am liebsten, wenn die Hilfe auch im dafür vorgesehenen Bereich eingebunden wäre. Vielleicht findet sich noch eine Lösung. X/

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