Edit Text einfügen

  • Hi,

    Habe habe ein Problem mit meinem Script ich möchte etwas in eine Edit Box
    reinschreiben abspeichern und wieder auslesen. Das klappt auch soweit
    nur das Problem ist das wenn ich denn ausgelesenen Text in die Edit Box
    einfügen möchte wird immer nur eine Zeile in die editbox eingetragen
    nur wieso ? -.-

    Ich habe schon mehrere Möglichkeiten ausprobiert und habe es jetzt auch
    schon mit

    [autoit]

    _GUICtrlEdit_SetText

    [/autoit]


    versucht aber es will nicht so recht.
    Ich würde mich über Hilfe freuen :)


    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Guiedit.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Nono\Desktop\Autoit\Notien.kxf
    $Form1 = GUICreate("Test", 419, 402, 838, 257)
    $edit = GUICtrlCreateEdit("", 0, 8, 409, 345)
    $Button1 = GUICtrlCreateButton("Schließen", 0, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    $Button2 = GUICtrlCreateButton("Speichern", 112, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    $Button3 = GUICtrlCreateButton("Löschen", 224, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $gelesen = IniRead(@DesktopDir & "\edit.ini","Speicher","Edit","")
    _GUICtrlEdit_SetText($edit,$gelesen )
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button2
    $read = _GUICtrlEdit_GetText($edit)
    IniWrite(@Desktopdir & "\edit.ini","Speicher","Edit",$read)
    Case $Button3

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

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Nono (1. März 2011 um 20:41)

  • das problem is, das du ini´s benutzt!
    wenn du von ner ini nen wert haben willst wird der immer nur bis zum ende der zeile wiedergegeben, alles danach is dann ein anderer schlüssel.
    wenn du mehrere zeilen speichern willst würde ich empfehlen eine txt-datei zu erstellen und mit Fileread usw. zu beschreiben.
    alternativ kannst du auch den text nach "@CRLF" splitten und durch "[split]" oder so trennen und beim lesen dann das gleiche, das du das eben in 1 zeile alles bekommst und beim lesen dann wieder trennst.
    aber inis gehen glaub ich auch nur bis 64KB oder so, danach werden die nicht mehr gelesen

    Mfg. PCKing


    Mein PC

    CPU: AMD FX 8350 8x4.00GHz
    Ram: 8GB DDR3
    Grafikkarte: Nvidia Geforce GTX 960 (4GB)
    Festplatten: 500GB SSD 1TB HDD
    Laufwerk: Blueray RW+ Brenner

    • Offizieller Beitrag

    Ich würde dir raten, den Text nicht in einer INI zu speichern, dazu ist eine Inidatei nicht geeignet.
    Speichere deinen Text in ein normales TextFile und du hast die Probleme nicht.

    Zitat

    aber inis gehen glaub ich auch nur bis 64KB oder so, danach werden die nicht mehr gelesen

    32KB

  • Hab's geschafft danke für die Hilfe nochmal :)


    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Guiedit.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Nono\Desktop\Autoit\Notien.kxf
    $Form1 = GUICreate("Test", 419, 402, 838, 257)
    $edit = GUICtrlCreateEdit("", 0, 8, 409, 345)
    $Button1 = GUICtrlCreateButton("Schließen", 0, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    $Button2 = GUICtrlCreateButton("Speichern", 112, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    $Button3 = GUICtrlCreateButton("Löschen", 224, 368, 99, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 13, 400, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $gelesen = FileRead(@Desktopdir & "\Speicher.txt")
    _GUICtrlEdit_SetText($edit,$gelesen )
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button2
    $read = _GUICtrlEdit_GetText($edit)
    FileWrite(@Desktopdir & "\Speicher.txt", $read)
    Case $Button3

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

    EndSwitch
    WEnd

    [/autoit]