Erstellung von Online-Hilfe-Dateien - Hilfsmittel?

  • Hallo Zusammen,

    da ich gerade am aktualisieren der Hilfe für die FF.au3 bin stellt sich mir da folgende Fragen:

    Gibt es für AutoIt etwas wie z.B. JavaDoc, damit man einfach alles in die Funktionsbeschreibung innerhalb der UDF einträgt und dann daraus die Hilfe-HTML generiert wird, oder ist das alles stupide Handarbeit?
    Oder gibt es noch etwas anderes, das ich noch nicht entdeckt habe?

    Wie sieht mit diesen Vorlagen für die Übersetzung der Hilfe aus, wo kommen denn die her, wo gibt es Infos darüber?

    Wenn das alles Handarbeit ist , dann weis ich was ich gleich mal zum programmieren anfange :D

    Grüße
    Stilgar

  • Danke! Trotz "help file" mit der Suche nicht gefunden :rolleyes:

    Ist aber auch nicht gerade einfacher.
    Ich habe eigentlich was gesucht, das die Informationen gleich aus der UDF extrahiert, mit dem Progi schreib ich ja wieder alles extra. :(

    Wo ist denn der Aufbau dieser Datei erklärt, den dieses Programm erzeugt?

  • Ja schöne Programme.
    Nur weit vorbei an dem was ich suche.
    Ich möchte ja überhaupt "keine" einzige Hilfe-Datei selbst erstellen. So wie bei JavaDoc eben:
    http://de.wikipedia.org/wiki/Javadoc

    Ich möchte einfach dieses ständige Herumkopieren zwischen Quelltext und Doku umgehen. :)

    Also einfach etwas das z.B den Funktionsaufruf aus der *.au3 in die passende *.html schreibt, oder/und auch in dieses komische Format wie beim "Help File Generator".

    • Offizieller Beitrag

    Hi,

    könntest natürlich auch was einfaches machen. Habe hier mal ein sehr simples Beispiel:

    Source des Skripts:

    Spoiler anzeigen
    [autoit]

    HotKeySet('1', '_exit')
    HotKeySet('3', '_ConsolePrint')
    ; Ein Bißchen Kommentar

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

    While 1
    Sleep(1000)
    WEnd

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

    #cs
    ===============================================================================
    Function Name: _ConsolePrint
    Description:: Schreibt den Text in die Scite Console
    Parameter(s): ---
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsolePrint() ;@@@
    Local $text = InputBox('', 'Text : ', '')
    Switch Random(0, 2, 1)
    Case 0
    _ConsoleWriteRED($text)
    Case 1
    _ConsoleWriteBLUE($text)
    Case 2
    _ConsoleWriteGreen($text)
    EndSwitch
    EndFunc ;==>_ConsolePrint

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteRED
    Description:: Schreibt den Text in die Scite Console ROT
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteRED($text) ;@@@
    ConsoleWrite('! ' & $text & @CRLF)
    EndFunc ;==>_ConsoleWriteRED

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteGREEN
    Description:: Schreibt den Text in die Scite Console GRÜN
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteGreen($text) ;@@@
    ConsoleWrite('+ ' & $text & @CRLF)
    EndFunc ;==>_ConsoleWriteGreen

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteBLUE
    Description:: Schreibt den Text in die Scite Console BLAU
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteBLUE($text) ;@@@
    ConsoleWrite('> ' & $text & @CRLF)
    EndFunc ;==>_ConsoleWriteBLUE

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

    Func _exit()
    Exit (0)
    EndFunc ;==>_exit

    [/autoit]

    Source des Generators :

    Spoiler anzeigen
    [autoit]

    #include<Array.au3>
    #include<String.au3>

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

    Global $description_A, $functionCall_A
    Global $outputFile = @ScriptDir & '\help.au3'
    Global $fileHandle = FileOpen($outputFile, 2)
    Global $file = _getAu3File()
    Global $source = FileRead(FileOpen($file, 0))

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

    _setDOC()
    _writeDOC()
    FileClose($fileHandle)

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

    Func _getAu3File()
    Local $file = FileOpenDialog('Helpfile Generator', @ScriptDir, 'Autoit Script (*.au3)')
    If @error Then
    MsgBox(4096, "", "No File(s) chosen")
    Exit (0)
    EndIf
    Return $file
    EndFunc ;==>_getAu3File

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

    Func _setDOC()
    $description_A = StringRegExp($source, '(?s)={79}.*?={79}', 3)
    If @error Then ConsoleWrite('!Fehler 1: ' & @error & @CRLF)
    $functionCall_A = StringRegExp($source, 'Func[ ]+.*(?=;@@@)', 3)
    If @error Then ConsoleWrite('!Fehler 2: ' & @error & @CRLF)
    ;~ _ArrayDisplay($description_A)
    ;~ _ArrayDisplay($functionCall_A)
    EndFunc ;==>_setDOC

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

    Func _writeDOC()
    For $i = 0 To UBound($description_A) - 1
    FileWrite($fileHandle, '#cs' & @CRLF)
    FileWrite($fileHandle, StringStripWS($description_A[$i], 3))
    FileWrite($fileHandle, @CRLF & '#ce' & @CRLF)
    FileWrite($fileHandle, StringStripWS($functionCall_A[$i], 3))
    FileWrite($fileHandle, @CRLF & @CRLF)
    Next
    EndFunc ;==>_writeDOC

    [/autoit]

    Ergebnis :

    Spoiler anzeigen
    [autoit]

    #cs
    ===============================================================================
    Function Name: _ConsolePrint
    Description:: Schreibt den Text in die Scite Console
    Parameter(s): ---
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsolePrint()

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteRED
    Description:: Schreibt den Text in die Scite Console ROT
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteRED($text)

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteGREEN
    Description:: Schreibt den Text in die Scite Console GRÜN
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteGreen($text)

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

    #cs
    ===============================================================================
    Function Name: _ConsoleWriteBLUE
    Description:: Schreibt den Text in die Scite Console BLAU
    Parameter(s): Den Text
    Requirement(s): ---
    Return Value(s): ---
    Author(s): Hans Wurst
    ===============================================================================
    #ce
    Func _ConsoleWriteBLUE($text)

    [/autoit]

    und dies dann aus Scite als HTML exortieren.

    Mega

  • Ja so etwas in der Art habe ich mir vorgestellt.
    Hab nur mal gefragt, weil ich das Rad nicht von vorne erfinden wollte, falls es so was schon geben sollte.

    Die Auslesefunktion der Felder aus dem Programm habe ich schon fast fertig (siehe jEdit4AutoIt/Function_Wizzard).
    Jetzt werde ich mir einfach ein HTMl-Template mit Platzhaltern erstellen, dort die passenden Felder einfügen und ein Inhaltsverzeichnis generieren. Für eine "normale" UDF sollte das reichen.