Edit Fenster als TXT abspeichern...

  • Hi nochmal,
    ich möchte wie gasagt den Inhalt des Edit Feneters als TXT abspeichern...In dem anderen Thread wurde mir ja auch schon geolfen, allerdings funktioniert es noch nicht; es kann ja auch noch gar nicht funktionieren...:

    [autoit]


    Case $MenuItem3

    $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"

    $var = FileSaveDialog( "Wählen sie einen Namen!", $MyDocsFolder, "Textdokumente (*.ini;*.txt)", 2)
    $inhalt = GUICtrlRead($input)


    $fh = FileOpen($var, 1) ; zum Schreiben öffnen
    FileWrite($fh, $inhalt)
    FileClose($fh)

    If @error Then
    MsgBox(4096,"","Speichern abgebrochen.")
    EndIF

    [/autoit]

    Hierbei wird jetzt zwar eine .*txt Datei beschrieben, mit dem Inhalt des Edit Fensters, aber diese muss doch erstmal erstellt werden oder nicht?

    Hier einmal das ganze Programm:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("PC-Timer", 625, 445, 192, 124)
    $MenuItem1 = GUICtrlCreateMenu("Datei")
    $MenuItem2 = GUICtrlCreateMenuItem("Drucken", $MenuItem1)
    $MenuItem3 = GUICtrlCreateMenuItem("Speichern", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenu("Archiv")

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

    $Button1 = GUICtrlCreateButton("OK", 550, 30, 50, 50)
    $input = GUICtrlCreateEdit("", 96, 16, 424, 100)

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

    $output = GUICtrlCreateEdit("", 96, 140, 424, 250, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL))

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $MenuItem1

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

    Case $MenuItem2
    $file = GUICtrlRead($input)

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

    $print = _FilePrint($file)

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

    If $print Then
    MsgBox(0, "Drucken ", "Die Datei wurde gedruckt. ")
    Else
    MsgBox(0, "Drucken ", "Fehler: " & @error & @CRLF & "Die Datei wurde nicht gedruckt. ")
    EndIf
    Case $MenuItem3

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

    $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"

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

    $var = FileSaveDialog( "Wählen sie einen Namen!", $MyDocsFolder, "Textdokumente (*.ini;*.txt)", 2)
    $inhalt = GUICtrlRead($input)

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

    $fh = FileOpen($var, 1) ; zum Schreiben öffnen
    FileWrite($fh, $inhalt)
    FileClose($fh)

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

    If @error Then
    MsgBox(4096,"","Speichern abgebrochen.")
    EndIF

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

    Case $Button1

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

    GUICtrlSetData($output, GUICtrlRead($input) & @CRLF, "1")
    GUICtrlSetData($input, "")
    GUICtrlSetState($input,$GUI_FOCUS)

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

    EndSwitch

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

    WEnd

    [/autoit]
  • Zitat


    ich möchte wie gasagt den Inhalt des Edit Feneters als TXT abspeichern

    Zitat

    Hierbei wird jetzt zwar eine .*txt Datei beschrieben, mit dem Inhalt des Edit Fensters, aber diese muss doch erstmal erstellt werden oder nicht?


    Hi,

    also Dein Ziel scheint ja erreicht zu sein, oder?
    Siehe Hilfe FileOpen (ich hab nur die englische Hilfe):
    When opening a file in write mode, the file will be created if it does not exist.


    ;-))

    Stefan[/quote]

  • FileOpen erstellt die Datei, sofern sie noch nicht existiert.
    MfG
    PS: Dus solltest be FileOpen das Flag "2" verwenden, damit der alte Inhalt gelöscht wird.

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)