Script interne Kommentare per Buttonklick anzeigen lassen?

  • Hi.

    ich hab ein komplexeres Script, indem ich am Scriptanfang per #cs und #ce einen mehrzeiligen Changelog stehen habe.
    Dieser ändert sich ja mit jeder neuen Version, die ich veröffentliche.
    Ist es irgendwie möglich, diesen Inhalt abrufbar zu machen, sodass ich den nicht ständig nochmal extra erstellen muss?

    Kommentar Beispiel
    [autoit]

    #cs Changelog:
    + Version 1.0.00 bis 1.0.12
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.13 bis 1.0.26
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.27 bis 1.0.38
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.39 bis 1.0.43
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad
    #ce

    [/autoit]
  • Ja, solange dass Skript als *.au3 Datei vorliegt kannst du diese einfach einlesen und die entsprechende Zeilen aus der Datei extrahieren. Schwieriger wird es, sobald das Skript aber kompiliert werden soll, da muss vor der Erstellung die Kommentare direkt als Text in das Skript hinterlegt werden. Ob das komplett dynamisch funktioniert muss ich erst noch austesten. Ansonsten kannst du die Changelog nicht in einer extra Datei abspeichern? Das geht einfacherer.

    • Offizieller Beitrag

    Ja, das ist möglich:

    Spoiler anzeigen
    [autoit]


    #cs Changelog:
    + Version 1.0.00 bis 1.0.12
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.13 bis 1.0.26
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.27 bis 1.0.38
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.39 bis 1.0.43
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad
    #ce

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

    Global $sChangelog = StringRegExpReplace(FileRead(@ScriptFullPath), '(?i)(?s).*?#cs(.+?)#ce.+', '$1')
    MsgBox(0, 'Changelog', $sChangelog)

    [/autoit]
    • Offizieller Beitrag

    Ja, ok! Kompiliert geht's nicht, aber wenn Du das Script mit einbindest ("#AutoIt3Wrapper_Res_SaveSource=y"), dann geht es schon:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_SaveSource=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs Changelog:
    + Version 1.0.00 bis 1.0.12
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.13 bis 1.0.26
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.27 bis 1.0.38
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad

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

    + Version 1.0.39 bis 1.0.43
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - afclkjafcla löasfpaosfdnw asoidu
    - adad jksdjasfda wedada92 a
    - asfdacajfztai aofdaiwrqn
    - acalfsd apfda9wer qwpfd9aqwn awdp9awd asdajfdaö
    - asfcaf adalksdha aspfdouad
    #ce

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

    Global $sChangelog = StringRegExpReplace(FileRead(@ScriptFullPath), '(?i)(?s).*?#cs(.+?)#ce.+', '$1')
    MsgBox(0, 'Changelog', $sChangelog)

    [/autoit]