IniWrite schreibt nicht in ini

  • Kann bitte jemand meinen Code mal kontrollieren und mir sagen, wieso IniWrite nicht schreibt?

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    GUICreate("Packer für Tray Backup", 800, 600)
    GUISetIcon("D:\Multimedia\Bilder\diceworks.ico")

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

    SplashImageOn("DICEworks", @WorkingDir & "\splash.bmp", 200, 200)
    Sleep(2000)
    SplashOff()
    GUISetState(@SW_SHOW)

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

    startup()

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

    While 1
    $msg = GUIGetMsg()

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

    If $msg = $GUI_EVENT_CLOSE Then
    Exit
    EndIf

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

    WEnd

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

    Func startup()
    $tb_pfad = IniRead(@WorkingDir & "\pftb.ini", "General", "TrayBackupPfad", "kA")
    If $tb_pfad = "kA" Or $tb_pfad = "" Then
    $a = FileOpenDialog("Bitte traybackup.exe auswählen", @WorkingDir, "EXE-Datei(traybackup.exe)")
    If @error Then
    MsgBox(48, "Fehler", "Es wurde keine Datei ausgewähl. Bitte wählen Sie die Datei traybackup.exe aus.")
    Else
    $pos = StringInStr($a, "\", 0, -1)
    If @error Then
    fehler_allg()
    Else
    $a = StringTrimRight($a, $pos)
    If @error Then
    fehler_allg()
    Else
    MsgBox(0, "", $a)
    FileSetAttrib(@WorkingDir & "\pftb.ini", "-R")
    $x = IniWrite(@WorkingDir & "\pftb.ini", "General", "TrayBackupPfad", $a)
    If $x = 0 Then
    fehler_ini()
    Else
    $suche = FileFindFirstFile($a & "*.bpr")
    If @error Then
    fehler_suche_start()
    Else
    While 1
    $bpr = FileFindNextFile($suche)
    If @error Then
    ExitLoop
    EndIf
    MsgBox(4096, "File:", $bpr)
    WEnd
    FileClose($suche)
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndFunc

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

    Func fehler_allg()
    MsgBox(48, "Fehler", "Es trat ein unerwarteter Fehler auf. Bitte versuchen Sie es erneut.")
    EndFunc

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

    Func fehler_ini()
    MsgBox(48, "Fehler", "Die Datei pftb.ini im pftb-Verzeichnis konnte nicht verarbeitet werden.")
    EndFunc

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

    Func fehler_suche_start()
    MsgBox(48, "Fehler", "Sicherungsprojekte können nicht gefunden werden.")
    EndFunc

    [/autoit]

    Ich habe auch aus Spaß mal $x = 0 durch $x = 1 ersetzt und die Fehlermeldung kam. Daraus muss ich schließen, dass IniWrite funktioniert. Aber wieso steht dann nichts in meiner Ini.
    Die Ini hat übrigens von Anfang an dieses Aussehen:

    [autoit]


    [General]
    TrayBackupPfad=

    [/autoit]

    Einmal editiert, zuletzt von penta.phoenix (23. April 2010 um 09:43)

  • Oh mein Gott :whistling:

    Du darfst mal raten, wo ich eine korrekt erstellte ini gefunden habe...genau, unter dem ausgelesenen Pfad vom FileOpenDialog
    @ScriptDir hat das Problem behoben.

    Danke