AuPrint

  • Lässt einfache Protokollierung von vorgängen zu... sehr gut um zb zu debuggen und ähnliches :party3:

    [Blockierte Grafik: http://img266.imageshack.us/img266/7871/auprinttq2.jpg]

    Script aktualisiert:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GuiEdit.au3>

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

    ;
    ; Funktionsaufruf:
    ;
    ; Print("Text") - schreibt eine Zeile mit Umbruch
    ;
    ; Print("Text", 1) - schreibt eine Zeile ohne Umbruch
    ;

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

    Global $Print_Run
    Global $Print_Count = 0

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

    Func Print($Text, $Break = 0)
    $Print_Count = $Print_Count + 1
    If $Print_Run <> "GUI" Then
    $Print_Run = "GUI"
    Global $Print_Text = @CRLF & " # AutoIt Version: " & @AutoItVersion & @CRLF & " "
    $Print_Text &= "# System: " & @OSVersion & ", Build " & @OSBuild & ", " & @OSServicePack & @CRLF & @CRLF & " "
    $Print_Text &= "# Starting " & @ScriptName & " ..." & @CRLF & @CRLF & " "
    Global $Print_View
    Global $Print_GUI
    $Print_GUI = GUICreate("", 666, 305, -1, -1, $WS_CAPTION)
    $Print_View = GUICtrlCreateEdit($Print_Text, 0, 0, 666, 305, BitOR($ES_READONLY, $WS_VSCROLL), $WS_EX_LAYERED)
    GUICtrlSetColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetFont(-1, 10, Default, Default, "Lucida Console")
    GUISetState()
    EndIf
    If $Break = 1 Then
    $Print_Text = $Print_Text & $Text & " "
    Else
    $Print_Text = $Print_Text & $Text & @CRLF & " "
    EndIf
    $Len = StringLen($Print_Text)
    $Trim = $Len - 5000 ; 5000 = Buffer-Limit
    $Print_Text = StringTrimLeft($Print_Text, $Trim)
    GUICtrlSetData($Print_View, $Print_Text)
    _GUICtrlEditScroll($Print_View, $SB_SCROLLCARET)
    WinSetTitle($Print_GUI, "", "AuPrint - " & $Print_Count & " Texte")
    EndFunc

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

    ;
    ; Ende
    ;

    [/autoit]

    Beispielscript:

    [autoit]

    #include "AuPrint.au3"

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

    Print("Sleeping for 2 seconds")

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

    Sleep(2000)

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

    Print("waiting for silence... ")

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

    Sleep(750)

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

    For $i = 1 To 10
    Sleep(300)
    Print($i, 1)
    Next

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

    Sleep(750)

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

    Print("done.")

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

    Sleep(750)

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

    Print("Bla und Blubber 1-2-3")

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

    Sleep(3000)

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

    For $i = 1 To 50
    Sleep(100)
    Print("Beispiel Nummer " & $i)
    Next

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

    Sleep(750)

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

    Print("Fertig mit Zählen :)")

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

    While 1
    ; Idle
    WEnd

    [/autoit]


    Edit BugFix: [ Spoiler ] [ /Spoiler ] eingefügt

    2 Mal editiert, zuletzt von Health (25. April 2007 um 23:17)

  • bisl erweitert.


    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <GuiEdit.au3>

    ;
    ; Funktionsaufruf:
    ;
    ; Print("Text") - schreibt eine Zeile mit Umbruch
    ;
    ; Print("Text", 1) - schreibt eine Zeile ohne Umbruch
    ;
    ; Print("Text", 2) - speichert den Inhalt des Fensters ab
    ;
    ; Print("Text", 3) - speichert den Inhalt des Fensters ab und löscht das Fenster
    Global $Print_Run
    Global $Print_Count = 0

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

    Print ( "TEst")
    Print ( "TEst")
    Print ( "TEst",3)
    sleep (6000)

    Func Print($Text, $Break = 0)
    $Print_Count = $Print_Count + 1
    If $Print_Run <> "GUI" Then
    $Print_Run = "GUI"
    Global $Print_Text = @CRLF & " # AutoIt Version: " & @AutoItVersion & @CRLF & " "
    $Print_Text &= "# System: " & @OSVersion & ", Build " & @OSBuild & ", " & @OSServicePack & @CRLF & @CRLF & " "
    $Print_Text &= "# Starting " & @ScriptName & " ..." & @CRLF & @CRLF & " "
    Global $Print_View
    Global $Print_GUI
    $Print_GUI = GUICreate("", 666, 305, -1, -1, $WS_CAPTION)
    $Print_View = GUICtrlCreateEdit($Print_Text, 0, 0, 666, 305, BitOR($ES_READONLY, $WS_VSCROLL), $WS_EX_LAYERED)
    GUICtrlSetColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetFont(-1, 10, Default, Default, "Lucida Console")
    GUISetState()
    EndIf
    If $Break = 1 Then
    $Print_Text = $Print_Text & $Text & " "
    ElseIf $break = 2 Then
    $FileLog = FileOpen ("Protkoll.Txt", 1)
    FileWrite ( $FileLog, $Print_Text)
    FileClose ( $FileLog )
    $Print_Text = $Print_Text & "Protokoll gespeichert." & " "
    ElseIf $break = 3 Then
    $FileLog = FileOpen ("Protkoll.Txt", 1)
    FileWrite ( $FileLog, $Print_Text)
    FileClose ( $FileLog )
    $Print_Text = "SYSTEM MESSAGE: Protokoll gespeichert." & " "
    Else
    $Print_Text = $Print_Text & $Text & @CRLF & " "
    EndIf
    GUICtrlSetData($Print_View, $Print_Text)
    _GUICtrlEditScroll($Print_View, $SB_SCROLLCARET)
    WinSetTitle($Print_GUI, "", "AuPrint - " & $Print_Count & " Texte")
    EndFunc

    ;
    ; Ende
    ;

    [/autoit]


    Edit BugFix: [ Spoiler ] [ /Spoiler ] eingefügt

  • Wieso soll das nicht gehen ? Ich habe nur 2 Optionen hinzugefügt.

    [autoit]


    ...
    Else
    $Print_Text = $Print_Text & $Text & @CRLF & " "

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


    Der untere Cod war nur zum testen. und wie du siehst geht auch ohne breake!

    [autoit]


    Print ( "TEst")
    Print ( "TEst")
    Print ( "TEst",3)
    sleep (6000)

    [/autoit]

    Einmal editiert, zuletzt von Tam0r (26. April 2007 um 00:55)

  • Nettes Teilchen.

    Jetzt das ganze noch so, das man das ergebnis in einer Textdatei nachlesen kann, und man hat ein super Teil für Fehlerauswertung.

    Wie mache ich das?

    Liebe Grüße, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl