Datei Handling (Neu, speichern...)

  • Guten Morgen zusammen,

    brauch mal wieder Hilfe.
    Mein Beispiel sollte eigentlich wie eine Textverarbeitung
    funktionieren, nur mit dem Präfix *.ini

    Datei öffnen klappt, aber dann komme ich nicht weiter.

    Also:
    Neu, falls diese ini existiert Fragen "Überschreiben?" dann Datei erzeugen und im Feld anzeigen!
    Schreibe ich was in das Feld und speichere es ab, dann muß ich
    immer von Hand .ini dahinter setzen...das stimmt auch was nicht.

    Bitte schaut mal drüber

    [autoit]


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

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

    $Form1 = GUICreate("Form1", 1004, 695, 329, 101)
    $Anzeige = GUICtrlCreateEdit("", 408, 44, 565, 633)
    GUICtrlSetData(-1, "")
    $btnNeu = GUICtrlCreateButton("Neu", 36, 48, 75, 25)
    $btnspeichern = GUICtrlCreateButton("speichern", 120, 48, 75, 25)
    $btnspeichernUnter = GUICtrlCreateButton("speichern unter", 204, 48, 91, 25)
    $btnoeffnen = GUICtrlCreateButton("öffnen", 300, 48, 75, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $btnNeu
    Case $btnspeichern
    $message = "Speichern unter ..."
    $saveCode = FileSaveDialog($message, @ScriptDir & "\", "Code (*.ini)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei gewählt")
    Else
    FileWrite($saveCode, GUICtrlRead($Anzeige))

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

    EndIf
    Case $btnspeichernUnter
    Case $btnoeffnen
    $message = "Bitte Code auswählen."
    $openCode = FileOpenDialog($message, @ScriptDir & "\", "Code (*.ini)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei gewählt")
    Else
    $aCodetxt = FileRead($openCode)

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

    $Quelle1 = GUICtrlSetData($Anzeige, $aCodetxt)

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

    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Liebe Grüße
    Ilse ;)

  • [autoit]

    Case $btnspeichern
    $message = "Speichern unter ..."
    $saveCode = FileSaveDialog($message, @ScriptDir & "\", "Code (*.ini)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei gewählt")
    Else
    If StringRight($saveCode,3) <> "ini" Then $saveCode &= ".ini"
    FileWrite($saveCode, GUICtrlRead($Anzeige))

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

    EndIf

    [/autoit][autoit]

    If StringRight($saveCode,3) <> "ini" Then $saveCode &= ".ini"

    [/autoit]


    Würde ich auch für ScriptDir empfehlen, ich persönlich hasse es immer nen "\" einbauen zu müssen.
    Also so

    [autoit]

    $scriptdir = @scriptdir
    If StringRight($ScriptDir,1) <> "\" Then $ScriptDir &= "\"

    [/autoit]

    Da es imho ja einen Unterschied macht ob Scriptdir c:\ ist oder eine rekursicher Ordner,
    habe ich das immer so am Anfang meiner Scripte abgefangen.

    Die Prüfung ist nicht zwingend notwendig, da auch "2 \" funktionieren, fand ich aber so schöner.

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o