Wieso wird das Ausglesene nicht in der Edit Box wiedergegeben?

  • Abend,

    bei mir wird aus irgendeinem Grund das Ausgelesene nicht in der Edit Box hineingeschrieben. Weiß jemand warum?

    [autoit][/autoit]
    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Info Tool - Test", 615, 216, 396, 250)
    $Befehle = GUICtrlCreateButton("Befehle", 0, 8, 121, 33)
    $Waffen = GUICtrlCreateButton("Waffen", 0, 56, 121, 33)
    $Ruestungen = GUICtrlCreateButton("Ruestungen", 0, 104, 121, 33)
    $Items = GUICtrlCreateButton("Items", 0, 160, 121, 33)
    $Edit1 = GUICtrlCreateEdit("", 136, 16, 457, 177, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetData(-1, "Edit1")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Befehle
    $file = FileOpen(@ScriptDir &"Befehle.txt", 0)
    $befehle1 = FileRead ("Befehle.txt")
    GUICtrlSetData ($Edit1, $befehle1)

    EndSwitch
    WEnd

    [/autoit]
    [autoit][/autoit]

    Einmal editiert, zuletzt von Julien (13. November 2011 um 22:53)

  • zeile 24 ist unnötig. Entweder Zeile 24 weglöschen oder ganz ändern mit


    [autoit]


    $file = FileOpen(@ScriptDir &"\Befehle.txt", 0)
    $befehle1 = FileRead ($file)
    GUICtrlSetData ($Edit1, $befehle1)
    FileClose($file)

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

    Edit: Ich persönlich machs nie mit Fileopen/close das find ch unnötig (und ich bin schreibfaul, deshalb werde ich diesen Satz nicht zu Ende

  • Zeile 24 ist keineswegs unnötig. Je grösser die Textdatei, desto sinnvoller wird sie sogar. Bei grossen Dateien geht's mit handles deutlich schneller als mit Dateinamen.

    Selbst wenn man schreibfaul ist, sollte man den potenziell schnelleren Weg vorziehen, auch wenn man dadurch 2 Zeilen zusätzlichen Code erzeugt.

  • i2c: Der Unterschied liegt im Bereich von <1 Millisekunde, das lohnt sich nicht. Warum das so ist können nicht einmal die Entwickler erklären, da die 2 zusätzlichen AutoIt-Befehle das ganze verlangsamen sollten und nicht um ein paar Mikrosekunden beschleunigen ... http://www.autoitscript.com/forum/topic/12…splainin-to-do/
    Edit: Hab den Test gerade nochmal mit einer 15MB-Datei gemacht, Open/Read/Close war im Schnitt um 0.1 Sekunden langsamer ;)

    Einmal editiert, zuletzt von progandy (12. November 2011 um 23:05)

  • Nunja, haben oder nicht haben. Wenn man bedenkt, was im Universum alles in einer zehntel Millisekunde passiert ... :)

    Ich wollte mich auch eher dagegen erwehren, das die Zeile "unnötig" ist. Denn das ist sie ja, auch wenn der Vorteil minimal ist, nicht.

  • Tut mir leid, dass ich das Thema eröffnet habe, da es eigentlich unnötig von mir war.

    Habe ausversehen meine Textdatei Befehl.txt genannt, obwohl ich nur Befehl heißen müsste.

    Mit freundlichen Grüßen,

    Julien