Externe Hilfedatei verlinken / aufrufen

  • Hallo,
    kann mir jemand sagen ob der Aufruf / verlinkung einer externen Hilfedatei möglich ist.
    Also genau wie bei der internen Hilfedatei von Autoit, klick auf Befehl + F1 und die Hilfe springt genau an die richtige Stelle.
    Habe kein passendes Thema gefunden.
    SWE + MfG

    - MfG OpaEd

  • Hier ein Beispielcode wie man spezifische Topics einer CHM Datei anzeigen kann. Du musst nur den Pfad zur entsprechenden Hilfeseite kennen. Wenn du eine CHM mit 7zip entpackst kannst du die Dateistruktur einsehen, sofern diese nicht ohnehin schon bekannt ist. Anstelle einer Inputbox verwendet Scite noch andere Spielereien um herauszufinden welcher Text gerade im Edit Feld des Editors markiert ist und verwendet dann diesen String für den Aufruf der entsprechenden Hilfeseite. Ich habe jetzt keine Lust die betreffende Funktion zu suchen aber du solltest über die Stichworte edit und getselection die passende Funktion finden. Die Ausführung der "Run-Zeile" via F1 realisiert man mit einem Hotkey.

    [autoit]


    Global $myTopic = InputBox("Topic","Bitte Funktionsname angeben","GUICtrlGetState")
    Global $sHelpFilePath = "C:\Program Files (x86)\AutoIt3\AutoIt3.chm"
    Global $sHelpTopicPath = "/html/functions/" & $myTopic & ".htm"

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

    ConsoleWrite("DEBUG: " & '"' & @WindowsDir & '\hh.exe" "' & $sHelpFilePath & '::' & $sHelpTopicPath & '"' & @CRLF)

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

    Run('"' & @WindowsDir & '\hh.exe" "' & $sHelpFilePath & '::' & $sHelpTopicPath & '"')

    [/autoit]
  • Hopala,
    danke für den schnellen Tip.
    Ich möchte das schon direkt in Scite einbinden, also wenn Du meinst es geht direkt über Lua in Scite, dann mach ich mich mal auf die Suche.
    Danke
    MfG

    - MfG OpaEd

    • Offizieller Beitrag

    Kannst du in SciTE einbinden mit:
    command.help.FILEPATTERN=$(CurrentWord)!C:\DEINE\HILFE.chm
    FILEPATTERN = *.suffix - also *.py oder *.lua
    Ein zweiter Eintrag ist noch erforderlich:
    command.help.subsystem.FILEPATTERN=4

    Diese Hilfe wird dann automatisch über F1 angesprochen. Also eine Hilfe für ein Sprache, wo schon eine Hilfe existiert (also wie bei *.au3) geht natürlich nicht über F1.

    Achja, hatte ich vergessen zu erwähnen: Eintrag erfolgt in SciTEUser.properties Menü: <Optionen><Benutzereinstellungen>

  • Da hättest du dich deutlicher ausdrücken sollen. Ich bin davon ausgegangen, dass du in deinem eigenen Programm ein mit Scite vergleichbares Verhalten erreichen willst um in deinem Programm eine eigene Hilfedatei einzubinden.
    Wie du die Standardhilfedatei von Scite änderst oder eine zweite hinzufügst kann ich dir nicht sagen. Die originale zu ersetzen und mit eigenem Content zu ergänzen wäre wohl am einfachsten, dann sind an Scite keinerlei Änderungen notwendig. Aufwendiger wird es wohl wenn du eine zweite Hilfedatei über einen weiteren Hotkey einbinden willst. Aber vermutlich ist das über die Scite Configfiles und LUA durchaus machbar. Damit habe ich mich aber nie beschäftigt.

    EDIT: siehe Bugfix

  • Big Thanks,
    werde mir das später anschauen.

    @misterspeed, ich möchte mir eine UDF, bzw. erstmal Kodevervollständigung und Calltips, für ein externes Programm basteln. Der eigene Editor in diesem externen Programm ist nicht so toll, deshalb gehe ich mit AutoIt über die Com-Schnittstelle dran. Das funkt auch ganz gut und wenn der externe Hilfeaufruf klappt, dann is es perfekt.

    Danke
    MfG

    - MfG OpaEd

    Einmal editiert, zuletzt von opaed (19. Juni 2015 um 18:09)

  • Diese Hilfe wird dann automatisch über F1 angesprochen. Also eine Hilfe für ein Sprache, wo schon eine Hilfe existiert (also wie bei *.au3) geht natürlich nicht über F1.

    Achja, hatte ich vergessen zu erwähnen: Eintrag erfolgt in SciTEUser.properties Menü: <Optionen><Benutzereinstellungen>

    Hallo,
    @BugFix
    Das es in die SciTEUser reingehgehört habe ich durch Deine Tutorials rausgefunden.
    Leider klappt es nur halb. Das Keyword wird zwar gesucht aber in der internen Hilfe von Autoit und nicht in der externen .chm

    Und eine Frage noch:
    In dieser Anleitung SciTE - Select Statement , fehlt da nicht SelectStatement.lua Datei ?
    MfG

    - MfG OpaEd

    • Offizieller Beitrag

    Nun werde mal konkret:
    - was für eine Datei ist offen (Suffix)
    - welche Hilfedatei soll geöffnet werden

    Wenn du die AutoIt-Hilfe ersetzen willst, dann sag das bitte. AutoIt nutzt keine *.chm sondern eine *.exe als Hilfedatei, bzw. mit der exe wird die chm aufgerufen.


    Die Dateianhänge fehlen bei allen Threads, die sind bei der Forum-Umstellung geschrottet worden. ;(

  • Hi,
    also das mit dem externen Hilfeaufruf lege ich erstmal weg.
    Muss mich da beizeiten reinlesen.
    Habe Testweise die Originalhilfe mit der externen .chm ersetzt, diese wird zwar gestartet aber nichts wird gesucht, also starte ich diese mit falschem Suchparameter.
    So mir raucht das Rübchen, => Pause............Möchte auch nicht mehr nerven.
    Danke
    MfG

    - MfG OpaEd

  • Naja sofern Bugfix recht hat und danach schaut es aus, dann ruft Scite die Datei "AutoIt3Help.exe" auf. An diese EXE wird vermutlich der Suchbegriff als Parameter weitergegeben. Diese Hilfsdatei führt dann sehr wahrscheinlich wie in meinem obigen Beispiel die "HH.EXE" von Windows aus um den entsprechenden Hilfeeintrag anzuzeigen. Eine Lösung wäre also einfach die "AutoIt3Help.exe" mit einer eigenen zu ersetzen und zu schauen welche Parameter Scite übergibt. Sollte ich recht haben und lediglich der Suchbegriff übergeben werden kannst du einfach mein obiges Beispiel verwenden und die exe entsprechend austauschen. Ich habe aber denke ich vorhin im englischen Forum noch etwas davon gelesen, dass diese "AutoIt3Help.exe" mehr tut als nur die "HH.EXE" auszuführen. Sie soll wohl anscheinend auch prüfen ob die Hilfe bereits geöffnet ist und dann entsprechend mit dem Fenster interagieren, so dass die Hilfe nicht mehrfach angezeigt wird.