GuiCtrlCreateEdit zur Benutzung von Loginformationen nutzen

  • Ich möchte gerne ein Editfeld benutzen um Log Informationen ist dieses Feld zu schreiben. Wenn ich allerdings auf den Button ==> "Eintrag 2" klicke so wird der erste Eintrag von Button ==> "Eintrag 1" gelöscht. Es soll jedoch dieser Eintrag erhalten bleiben und in eine neue Zeile der Eintrag von Button "Eintrag 2" geschrieben werden.


    Spoiler anzeigen

    #include <GUIConstantsEx.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 32, 24, 577, 305)
    GUICtrlSetData(-1,"")
    $Button1 = GUICtrlCreateButton("Eintrag 1", 448, 368, 89, 49, 0)
    $Button2 = GUICtrlCreateButton("Eintrag 2", 280, 368, 137, 49, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetData($edit1,"Dies ist Log Eintrag 1")
    Case $Button2
    GUICtrlSetData($edit1,"Dies ist Log Eintrag 2")

    EndSwitch
    WEnd

    Einmal editiert, zuletzt von johny1099 (1. Dezember 2009 um 20:10)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Global $Data

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 32, 24, 577, 305)
    GUICtrlSetData(-1, "")
    $Button1 = GUICtrlCreateButton("Eintrag 1", 448, 368, 89, 49, 0)
    $Button2 = GUICtrlCreateButton("Eintrag 2", 280, 368, 137, 49, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Edit1) = "" Then
    $Data = "Dies ist Log Eintrag 1"
    Else
    $Data &= @CRLF & "Dies ist Log Eintrag 1"
    EndIf
    GUICtrlSetData($Edit1, $Data)
    Case $Button2
    If GUICtrlRead($Edit1) = "" Then
    $Data = "Dies ist Log Eintrag 2"
    Else
    $Data &= @CRLF & "Dies ist Log Eintrag 2"
    EndIf
    GUICtrlSetData($Edit1, $Data)
    EndSwitch
    WEnd

    [/autoit]

    Ist es so wie du es meinst ? Geht sicherlich auch schöner aber so auf die schnelle habich das geschrieben

    *EDIT* Hatte nen kleinen Fehler, wurde bereits behoben.

    mfg SiLenCa

  • Zitat

    Das mit @Crlf funktioniert auch bei textdateien oder?

    Ja^^
    CR Carriage Return= Wagenrücklauf (von der Schreibmaschine noch)
    LF Line Feed = Zeilenvorschub (auch von der Schreibmaschine)

    Es gibt auch Texte, die nur mit LF arbeiten

  • Hallo SiLenca


    ich hab es getestet und es funktinoiert. Leider verstehe ich folgende Zeile nicht ganz:
    $Data &= @CRLF & "Dies ist Log Eintrag 2"
    Was bedeutet &= ?

    Wird das EditFeld jedesmal wieder gelöscht und ich muss den Inhalt vom EditFeld immer zwischenspeichern, und danach die neue Zeile hinzufügen?

  • Ja, du kannst auch ein Umbruch via @CRLF bei FileWrite oder erzeugen.

    johny1099
    Es wird sozusagen gelöscht, besser gesagt es wird ersetzt durch die Variable $Data.
    Bei dem &= wird an die Variable (in diesem Fall $Data) etwas angehängt.

    Edit: Sry for double post... aber internet laggt grad und macht was es will :(

    Einmal editiert, zuletzt von SiLenCa (1. Dezember 2009 um 20:07)