Includes selber Erstellen

  • Ich hab da mal ne frage...

    Die log funktion von autoit hat mir nicht gefallen.

    Also hab ich das Geschrieben.

    [autoit]

    #include <file.au3>
    $file = ("Log.txt")
    $text = (")
    $text2 = ("")
    $Datum_Zeit = StringFormat("[DATUM: %s.%s.%s ZEIT: %sh %smin %ssec] -- ",@MDAY ,@MON ,@YEAR ,@Hour ,@Min ,@Sec)
    FileOpen($file,1)
    FileWriteLine($file, "" & $Datum_Zeit & $text)
    FileClose($file)

    [/autoit]

    Jetz will ich das also Makro haben so wie das ich es abrufen kann..

    Also LOG("Text den ich verwassen will für das einmal loggen")

    Ist das Möglich?

    Ideen das zu umgehen hätte ich schon sie wäre blos aufwendig^^

  • Packe deinen Code in eine Funktion und schreibe sie in eine au3 Datei.
    Beispielsweise "log.au3"
    Um deine Funktion in deinen Projekte nutzen zu könne musst Du sie mit #include <log.au3> (auf den Pfad achten) einbinden.
    Die Bibliotheken oder Module die AutoIt als Standard mitbringt findest du in dem Programmordner z.B. C:\Programme\AutoIt3\Include. Du kannst deine eigenen auch da ablegen. AutoIt schaut immer zuerst in diesem Ordner.
    Da man keine Funktionen überladen kann darfst/solltest Du keine bestehenden Funktionsnamen benutzen. Deshalb in meinem Beispiel das "_" vor der Funktion.

    Spoiler anzeigen
    [autoit]


    #include-once
    #include <file.au3>

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

    Func _LOG($file, $text = '')
    $Datum_Zeit = StringFormat("[DATUM: %s.%s.%s ZEIT: %sh %smin %ssec] -- ",@MDAY ,@MON ,@YEAR ,@Hour ,@Min ,@Sec)
    FileOpen($file,1)
    FileWriteLine($file, "" & $Datum_Zeit & $text)
    FileClose($file)
    EndFunc

    [/autoit]
  • Ok THX ich werde nochmal ein schreiben wegen name und ne kleine anpassung name usw...

    Und gebe nochmal bescheid

  • Danke für die hilfe es tut

    Einmal das Makro oder so nent man das ja jetz

    [autoit]

    #include-once
    #include <file.au3>
    Func _LOG($file = "", $text = "")
    $Datum_Zeit = StringFormat("[DATUM: %s.%s.%s ZEIT: %sh %smin %ssec] -- ",@MDAY ,@MON ,@YEAR ,@Hour ,@Min ,@Sec)
    FileOpen($file,1)
    FileWriteLine($file, "" & $Datum_Zeit & $text)
    FileClose($file)
    EndFunc

    [/autoit]

    Und das makro Befehl

    [autoit]

    #include <_LOG.au3>
    _LOG("Log.txt","Test")

    [/autoit]

    Nach dem selben prinzip könnte ich doch auch andere makros erstellen wenn ich will oder?

  • Nach dem selben prinzip könnte ich doch auch andere makros erstellen wenn ich will oder?


    Du kannst Dir in dem Format eine komplett eigene "Library" (txt to Fast2 ;)) erstellen. Mit dem Präprozessor Tag "#include-once" bewirkst Du, dass deine UDF nur einmal eingebunden wird solltest Du aus versehen das Modul zweimal einbinden.