_Filewritetoline geht nur wenn neue datei erstellt wurde oO

  • Ich ahne das es an der If .. else liegt aber net lang die kirche ums dorf tragen ;D :

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #AutoIt3Wrapper_outfile=optionen.exe

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

    #AutoIt3Wrapper_Res_Fileversion=0.0.0.4

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

    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y

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

    #AutoIt3Wrapper_Res_LegalCopyright=Jeahaha

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

    #AutoIt3Wrapper_Res_Language=1031

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

    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include

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

    #include

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

    #include

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

    #include

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

    #Region ### START Koda GUI section ### Form=C:\Users\Timo2\Desktop\Programieren\Autoit\win live auto mail\Form2.kxf

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

    $Form2 = GUICreate("Optionen", 117, 147, 192, 124)

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

    $Button1 = GUICtrlCreateButton("Smtp server", 0, 0, 115, 25, $WS_GROUP)

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

    $Button2 = GUICtrlCreateButton("Smtp Login", 0, 24, 115, 25, $WS_GROUP)

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

    $Button3 = GUICtrlCreateButton("Smtp Passw.", 0, 48, 115, 25, $WS_GROUP)

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

    $Button4 = GUICtrlCreateButton("Vonadresse", 0, 72, 115, 25, $WS_GROUP)

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

    $Button5 = GUICtrlCreateButton("Adressenordner", 0, 96, 115, 25, $WS_GROUP)

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

    $Button6 = GUICtrlCreateButton("Von Name", 0, 120, 115, 25, $WS_GROUP)

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

    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    $sfile = "settings.properties"

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

    If FileExists($sfile) Then

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

    MsgBox( 0 , "" , "Willkommen" )

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

    Else

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

    _FileCreate($sfile)

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

    EndIf

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

    FileOpen($sfile)

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

    While 1

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

    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE

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

    FileClose($sfile)

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

    Exit

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

    Case $Button1

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

    $inp1 = InputBox( "Smtp Server" , "Smtp Server eingeben" )

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

    _FileWriteToLine( $sfile , 1 , $inp1 , "1" )

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

    Case $Button2

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

    $inp2 = InputBox( "Smtp Login" , "Smtp login eingeben (sicher)" )

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

    _FileWriteToLine( $sfile , 2 , $inp2 , "1" )

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

    Case $Button3

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

    $inp3 = InputBox( "Smtp Passwort" , "Smtp passwort eingeben (sicher)" )

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

    _FileWriteToLine( $sfile , 3 , $inp3 , "1" )

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

    Case $Button4

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

    $inp4 = InputBox( "Von Adresse" , "Deine Email" )

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

    _FileWriteToLine( $sfile , 4 , $inp4 , "1")

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

    Case $Button5

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

    $fold = FileSelectFolder( "Adressenordner" , @ScriptDir & "/adressen/" )

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

    _FileWriteToLine( $sfile , 5 , $fold , "1" )

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

    Case $Button6

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

    $inp5 = InputBox( "Sendernamen" , "Absender angeben" )

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

    _FileWriteToLine( $sfile , 6 , $inp5 , "1" )

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

    EndSwitch

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

    WEnd

    [/autoit]
  • Ohne es getestet zu haben wage ich mal zu Behaupten, dass dein Fehler nicht am if...then...else liegt, was für mich sehr sinnvoll und richtig ausschaut, sondern an der Nutzung des falschen Datentyps beim Overwrite Parameter der _filewritetoline() Funktion. du übergibst hier einen String, da du die Zahl 1 in Anführungszeichen setzt. Strings haben wenn ich mich recht entsinne in Autoit immer den Integer Wert 0, was gleichbedeutend mit "nicht überschreiben" ist. Übergebe also einfach mal eine 1 ohne Anführungszeichen, dann sollte es meiner Meinung nach funktionieren.

    EDIT:

    Das fileopen() und fileclose() ist im übrigen zum einen falsch angewendet, zum anderen bei der Funktion _filewritetoline() nicht notwendig bzw nutzbar, da dies bereits intern in der Funktion erledigt wird. Fileopen macht nur Sinn wenn man filewrite() oder fileread() verwendet.

    • Offizieller Beitrag

    Sobald Zeile 32 ausgeführt wird, ist die Datei bis zur ausführung der Zeile 38 gesperrt.
    Da die Datei gesperrt ist, wird jeder _FileWriteToLine Befehl nicht ausgeführt.
    Lösche die beiden Zeilen und gut ist.

  • Stimmt das fileopen ohne Parameter öffnet die Datei im Lesemodus, somit ist schreiben unmöglich.
    Desweiteren würde ich grundsätzlich einen kompletten Dateipfad angeben:


    [autoit]


    $sfile = @scriptdir & "\settings.properties"

    [/autoit]