Include mit einer Variable! Ich weiß, geht nicht, aber trozdem schauen!

  • Hallo, arbeite jetzt seit kurzem mit autoit, und bin total begeistert. Ich bin gerade dabei ein Install tool zu schrieben für unsere Schul netzwerke. Mein Ziel ist alles automatisch installieren zu lassen.

    Problem an der ganzen sache ist das die install flexibel abgelegt werden. Das heißt, das ich es eigentlich so machen wollte:

    #include $logPfad & "logWrite.au3"

    Aber wie ich in der Hilfe und im Netz erfahren habe, kann man keine Variablen beim include benutzen. Kann mir jemand alternativ sagen wie sowas möglich ist.

  • das will ich ja gerade vermeiden, das wird recht umfangreich, und soll sehr flexibel und überschaubar sein, was ich durch einzelne Module realisiert habe. Deshalb brauche ich die möglichkeit das so zu lösen.

  • Mit der Include ist das so und so bissel komisch bei mir. Habe eine Hauptdatei, und da include ich die Programm install Scripts. Wenn ich in diesen datein ein include drin habe geht das von dem unterverzeichniss aus. In der Datein habe ich aber nochmal ein include drin, und das geht davon aus wo das hauptscript liegt. Das verstehe ich nicht wirklich.

    Geht ein include von dem Standort der datei aus von der sie includet wird oder von seinem eigenen Standort?

  • Spoiler anzeigen
    [autoit]

    #include "[path\]filename"
    #include <filename>
    Parameter filename Der Dateiname des Skriptes, das eingebunden werden soll. Der Pfad ist optional. Er muss ein String sein - er darf keine Variable sein.
    Wenn "..." verwendet wird, wird der Dateiname als realtiv zum aktuellen Skript aufgefasst.
    Wenn <...> verwendet wird, wird der Dateiname als relativ zum Include-Verzeichnis aufgefasst (normalerweise C:\Programme\AutoIt3\Include). Das Include-Verzeichnis beinhaltet bereits viele vor-produzierte Funktionen, die eingebunden und dann verwendet werden können.

    [/autoit]


    hoffe es hilft dir ;)

  • #include $logPfad & "logWrite.au3"

    dein logpfad kannst du mittels einer ini "includen"

    [autoit]

    $logPfad = IniRead(@ScriptDir & "\Setup.ini", "01", "logPfad", "0")

    [/autoit]

    deine ini muss dann Setup.ini heissen und sich im selben ordner wie dein script befinden...
    außerdem muss deine ini dann so aussehen:

    Code
    [01]
    logPfad = hier jetzt dein pfad rein

    mit

    [autoit]

    IniWrite(@ScriptDir & "\Setup.ini", "01", "logPfad", "hier muss der pfad oder deine variable rein")

    [/autoit]

    kannst du auch in die ini schreiben