schreibt nicht in inidatei

  • Hallo erst mal und Grüße aus den Norden.

    Wollte mal fragen warum in diesem code nur button 2 in die ini datei geschrieben wird.

    Wenn ich button3 drücke macht er garnichts


    Spoiler anzeigen
    [autoit]

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    Run() ; Will Run/Open schreibbot.exe
    Case $Button_2
    $inhalt = GUICtrlRead ( $input_1 )
    IniWriteSection ( "txt.ini", "texte", "text1=" & $inhalt )
    Case $Button_3
    $inhalt2 = GUICtrlRead ( $input_2 )
    IniWriteSection ( "txt.ini", "texte", "text2=" & $inhalt2 )

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

    ;Case $msg = $input_1
    ;Case $msg = $input_1S1
    ;Case $msg = $Button4

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

    EndSelect

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

    WEnd

    [/autoit]

    Einmal editiert, zuletzt von maschalany (27. Januar 2009 um 13:21)

  • Code
    IniWrite 
    --------------------------------------------------------------------------------
    
    
    Writes a value to a standard format .ini file.
    
    
    
    
    IniWrite ( "filename", "section", "key", "value" )
  • das ist ja das problem das macht er ja nicht. gibts da irgendwie ne andere lösung?


    gruss

    maschalany

  • mit IniWrite gehts genauso wenig. keine ahnung warum nicht. ich bin auch ein totaler anfänger

    Spoiler anzeigen
    [autoit]

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

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

    ;Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Button_1, $Button_2, $Button_3, $msg, $widthCell, $input_1, $Ini_1, $initS1, $initM1, $initse1 ,$input_1S1, $Button4, $inhalt, $Input_2, $ini_2, $inhalt2
    GUICreate("xyzt") ; will create a dialog box that when displayed is centered

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

    Opt("GUICoordMode", 1)
    $Button_1 = GUICtrlCreateButton("Start", 150, 350,80 ,20 )
    $Button_2 = GUICtrlCreateButton("Text1 ändern",10, 20,75,20 )
    $Button_3 = GUICtrlCreateButton("Text2 ändern",10, 50,75,20 )
    $ini_1 = IniRead( "txt.ini", "texte", "text1", "nichts gefunden" )
    $ini_2 = IniRead( "txt.ini", "texte", "text2", "nichts gefunden" )
    $Input_1 = GUICtrlCreateInput ( $ini_1, 90, 20 , 120 , 20)
    $Input_2 = GUICtrlCreateInput ( $ini_2, 90, 50 , 120 , 20)
    $initS1 = iniread( "txt.ini", "Zeit", "stunde", "24" )
    $initM1 = iniread( "txt.ini", "Zeit", "minute", "60" )
    $initse1 = iniread( "txt.ini", "Zeit", "secunde", "60" )
    $input_1S1 = GUICtrlCreateInput( $initS1 & ":" & $initM1 & ":" & $initse1 & " Uhr", 310, 20, 80, 20)
    $Button4 = GUICtrlCreateButton("Zeit1 ändern",230, 20,75,20 )
    GUISetState()

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

    ;$input = Inputbox( "text ändern", "Hier können sie die Nachricht ändern", "Nachricht", "", 240, 20 )
    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    Run() ; Will Run/Open

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

    Case $Button_2
    $inhalt = GUICtrlRead ( $input_1 )
    IniWrite ( "txt.ini", "texte", "text1=" & $inhalt )

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

    Case $Button_3
    $inhalt2 = GUICtrlRead ( $input_2 )
    IniWrite ( "txt.ini", "texte", "text2=" & $inhalt2 )

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

    ;Case $msg = $input_1
    ;Case $msg = $input_1S1
    ;Case $msg = $Button4

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

    EndSelect

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

    WEnd
    EndFunc ;==>Example

    [/autoit]
  • IniWrite hat auch einen Parameter mehr, du kannst schon WriteSection benutzen, ich wollte nur wissen obs nen Grund gibt ;)

    Jedenfalls solltest du gleich von vornherein darauf achten, sauberen Code zu schreiben. Einmal hast du $input_1 dann $Input_2 - mal groß - mal klein, da tut man sich schwer beim Lesen und Fehler suchen ;)

    Also, benutz mal in deinen Case-Fällen

    Case $msg = $Button_3 [...]

    dann hauts hin ;)

    Grüße

    €dit:
    Aber du solltest hier wirklich IniWrite benutzen, denn sonst musst du einen Index mit angeben und ohne dem überschreibt er immer wieder den alten Inhalt.
    Also machs so:

    [autoit]

    IniWrite("txt.ini", "texte", "text1", $inhalt)

    [/autoit]
  • wenn ich es jetzt aber so mache wie du sagst dann geht das script nach drücken der taste text1 ändern aus. ( soll aber anbleiben :( )
    er zeigt ja im feld input ja an was im moment in der ini section .... wert steht

    Spoiler anzeigen
    [autoit]

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

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

    ;Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Button_1, $Button_2, $Button_3, $msg, $widthCell, $input_1, $Ini_1, $initS1, $initM1, $initse1 ,$input_1S1, $Button4, $inhalt, $Input_2, $ini_2, $inhalt2
    GUICreate("xyzt") ; will create a dialog box that when displayed is centered

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

    Opt("GUICoordMode", 1)
    $Button_1 = GUICtrlCreateButton("Start", 150, 350,80 ,20 )
    $Button_2 = GUICtrlCreateButton("Text1 ändern",10, 20,75,20 )
    $Button_3 = GUICtrlCreateButton("Text2 ändern",10, 50,75,20 )
    $ini_1 = IniRead( "txt.ini", "texte", "text1", "nichts gefunden" )
    $ini_2 = IniRead( "txt.ini", "texte", "text2", "nichts gefunden" )
    $Input_1 = GUICtrlCreateInput ( $ini_1, 90, 20 , 120 , 20)
    $Input_2 = GUICtrlCreateInput ( $ini_2, 90, 50 , 120 , 20)
    $initS1 = iniread( "txt.ini", "Zeit", "stunde", "24" )
    $initM1 = iniread( "txt.ini", "Zeit", "minute", "60" )
    $initse1 = iniread( "txt.ini", "Zeit", "secunde", "60" )
    $input_1S1 = GUICtrlCreateInput( $initS1 & ":" & $initM1 & ":" & $initse1 & " Uhr", 310, 20, 80, 20)
    $Button4 = GUICtrlCreateButton("Zeit1 ändern",230, 20,75,20 )
    GUISetState()

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

    ;$input = Inputbox( "text ändern", "Hier können sie die Nachricht ändern", "Nachricht", "", 240, 20 )
    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    Run() ; Will Run/Open schreibbot.exe

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

    Case $msg = $Button_2
    $inhalt = GUICtrlRead ( $input_1 )
    IniWrite ( "txt.ini", "texte", "text1=" & $inhalt )

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

    Case $msg =$Button_3
    $inhalt2 = GUICtrlRead ( $input_2 )
    IniWrite ( "txt.ini", "texte", "text2=" & $inhalt2 )

    ;Case $msg = $input_1
    ;Case $msg = $input_1S1
    ;Case $msg = $Button4


    EndSelect

    WEnd
    EndFunc ;==>Example

    [/autoit]
  • Spoiler anzeigen
    [autoit]

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

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

    ;Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Button_1, $Button_2, $Button_3, $msg, $widthCell, $input_1, $Ini_1, $initS1, $initM1, $initse1 ,$input_1S1, $Button4, $inhalt, $input_2, $ini_2, $inhalt2
    GUICreate("xyzt") ; will create a dialog box that when displayed is centered

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

    Opt("GUICoordMode", 1)
    $Button_1 = GUICtrlCreateButton("Start", 150, 350,80 ,20 )
    $Button_2 = GUICtrlCreateButton("Text1 ändern",10, 20,75,20 )
    $Button_3 = GUICtrlCreateButton("Text2 ändern",10, 50,75,20 )
    $ini_1 = IniRead( "txt.ini", "texte", "text1", "nichts gefunden" )
    $ini_2 = IniRead( "txt.ini", "texte", "text2", "nichts gefunden" )
    $input_1 = GUICtrlCreateInput ( $ini_1, 90, 20 , 120 , 20)
    $input_2 = GUICtrlCreateInput ( $ini_2, 90, 50 , 120 , 20)
    $initS1 = iniread( "txt.ini", "Zeit", "stunde", "24" )
    $initM1 = iniread( "txt.ini", "Zeit", "minute", "60" )
    $initse1 = iniread( "txt.ini", "Zeit", "secunde", "60" )
    $input_1S1 = GUICtrlCreateInput( $initS1 & ":" & $initM1 & ":" & $initse1 & " Uhr", 310, 20, 80, 20)
    $Button4 = GUICtrlCreateButton("Zeit1 ändern",230, 20,75,20 )
    GUISetState()

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

    ;$input = Inputbox( "text ändern", "Hier können sie die Nachricht ändern", "Nachricht", "", 240, 20 )
    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    Run() ; Will Run/Open schreibbot.exe

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

    Case $msg = $Button_2
    $inhalt = GUICtrlRead ( $input_1 )
    IniWrite ( "txt.ini", "texte", "text1", $inhalt )

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

    Case $msg =$Button_3
    $inhalt2 = GUICtrlRead ( $input_2 )
    IniWrite ( "txt.ini", "texte", "text2", $inhalt2 )

    ;Case $msg = $input_1
    ;Case $msg = $input_1S1
    ;Case $msg = $Button4


    EndSelect

    WEnd
    EndFunc ;==>Example

    [/autoit]

    so nun hauts hin ich danke dir.

  • Dein IniWrite-Aufruf ist auch falsch, guck nochmal oben in meinen Beitrag, ich hab dem vorhin was hinzugefügt.


    Was soll eigentlich der "Run()"-Befehl machen?

    Edit: Ok :) Kein Problem

  • wie würde das mit der uhrzeit aussehn. wie müsste ich die iniwrite schreiben das er es so einschreibt xx:xx:xx

    in der ini sieht es so aus

    [Zeit]
    stunde=12
    minute=25
    secunde=10

  • Wofür brauchst du denn die Uhrzeit bzw. in welchem Format denn so wie du das Script jetzt hast könntest du genauso gut das Uhr am Ende absbschnippeln und die Zeit einfach so rein schreiben.