GUI speicher Problem

  • Das Programm soll beim erststart 100 Euro angeben was es ja auch tut
    nur wenn ich die hundert in eine andere Zahl ändere und start oder Ende
    drücke speichert er mir immer eine 5 kan mir jamand sagen
    warum das Programm nicht die zuvor eingegebene Zahl speichert ?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    Opt("GUICoordMode", 1)
    HotKeySet("{esc}","Ende")
    HotKeySet("{F6}","Anmachen")
    HotKeySet("{F7}","Ausmachen")

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

    if(FileExists(@ScriptDir & "\Settings.ini") = 0)Then
    $File = FileOpen(@ScriptDir & "\Settings.ini",1)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput","100")
    EndIf

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

    $GeldInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )

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

    $HauptFenster = GUICreate("test", 200, 200)
    GUICtrlCreatePic(@ScriptDir & "\bild.jpg", 0, 0, 200, 200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW,$HauptFenster)
    GUICtrlCreateLabel("Wie viel Geld steht zur verfügung ?",10,60)
    GUICtrlSetBkColor(-1,"0x007FFF")
    $MinGeldInput = GUICtrlCreateInput($GeldInput,10,90,50)
    GUICtrlSetBkColor(-1,"0xFF5721")

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

    $EndeButton = GUICtrlCreateButton("Beenden",10,150,70,20)
    $StartButton = GUICtrlCreateButton("Starten",100,150,70,20)

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

    Start()

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

    Func Start()
    While 1
    $msg = GUIGetMsg()
    Select

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $EndeButton
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",$MinGeldInput)
    Exit
    Case $msg = $StartButton
    GUISetState(@SW_HIDE,$HauptFenster)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",$MinGeldInput)
    ExitLoop
    EndSelect
    WEnd
    EndFunc

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

    While 1

    sleep(100)
    $a = 1

    WEnd

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

    Func Anmachen()

    While $a = 1

    if (GebotEuro() = 1) then
    aufschreiben()
    EndIf
    sleep(10000)

    WEnd

    EndFunc

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

    Func GebotEuro() ; überprüft wie hoch das Gebot ist
    ControlClick ( "test", "", "test", "left",2 ,695,119 )
    ControlSend ( "test", "", "test","^c" )
    $Check = ClipGet()
    $Check = Number (StringReplace ($Check, " ", ""))

    IniWrite(@ScriptDir & "\Settings.ini","Settings","$EuroGebot",$Check)

    if $Check > 100 Then
    Return 1
    ElseIf $Check < 100 Then
    Return 0
    EndIf
    EndFunc

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

    Func aufschreiben()

    $EuroInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )
    $EuroGebot = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "$EuroGebot", "" )

    if $EuroGebot < $EuroInput Then ;speichert das gebot wenn es bezahlbar ist

    IniWrite(@ScriptDir & "\Settings.ini","Settings","Tag",@MDAY & ":" & @MON & ":" & @YEAR)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","Uhrzeit",@Hour & ":" & @Min & ":" & @SEC)

    EndIf
    EndFunc

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

    Func Ausmachen()
    $a= 0
    EndFunc

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

    Func Ende()
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Grave (17. Dezember 2009 um 12:58)

  • Hallo Grave,

    die Variable $MinGeldInput enhält die ID des Inputcontrols. Du musst mit GuiCtrlRead des Inhalt des Imutcontrols auslesen und diesen speichern:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    Opt("GUICoordMode", 1)
    HotKeySet("{esc}","Ende")
    HotKeySet("{F6}","Anmachen")
    HotKeySet("{F7}","Ausmachen")

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

    if(FileExists(@ScriptDir & "\Settings.ini") = 0)Then
    $File = FileOpen(@ScriptDir & "\Settings.ini",1)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput","100")
    EndIf

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

    $GeldInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )

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

    $HauptFenster = GUICreate("test", 200, 200)
    GUICtrlCreatePic(@ScriptDir & "\bild.jpg", 0, 0, 200, 200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW,$HauptFenster)
    GUICtrlCreateLabel("Wie viel Geld steht zur verfügung ?",10,60)
    GUICtrlSetBkColor(-1,"0x007FFF")
    $MinGeldInput = GUICtrlCreateInput($GeldInput,10,90,50)
    GUICtrlSetBkColor(-1,"0xFF5721")

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

    $EndeButton = GUICtrlCreateButton("Beenden",10,150,70,20)
    $StartButton = GUICtrlCreateButton("Starten",100,150,70,20)

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

    Start()

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

    Func Start()
    While 1
    $msg = GUIGetMsg()
    Select

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

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $EndeButton
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",GUICtrlRead($MinGeldInput))
    Exit
    Case $msg = $StartButton
    GUISetState(@SW_HIDE,$HauptFenster)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","EuroInput",GUICtrlRead($MinGeldInput))
    ExitLoop
    EndSelect
    WEnd
    EndFunc

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

    While 1

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

    sleep(100)
    $a = 1

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

    WEnd

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

    Func Anmachen()

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

    While $a = 1

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

    if (GebotEuro() = 1) then
    aufschreiben()
    EndIf
    sleep(10000)

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

    WEnd

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

    EndFunc

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

    Func GebotEuro() ; überprüft wie hoch das Gebot ist
    ControlClick ( "test", "", "test", "left",2 ,695,119 )
    ControlSend ( "test", "", "test","^c" )
    $Check = ClipGet()
    $Check = Number (StringReplace ($Check, " ", ""))

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

    IniWrite(@ScriptDir & "\Settings.ini","Settings","$EuroGebot",$Check)

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

    if $Check > 100 Then
    Return 1
    ElseIf $Check < 100 Then
    Return 0
    EndIf
    EndFunc

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

    Func aufschreiben()

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

    $EuroInput = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "EuroInput", "" )
    $EuroGebot = IniRead ( @ScriptDir & "\Settings.ini", "Settings", "$EuroGebot", "" )

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

    if $EuroGebot < $EuroInput Then ;speichert das gebot wenn es bezahlbar ist

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

    IniWrite(@ScriptDir & "\Settings.ini","Settings","Tag",@MDAY & ":" & @MON & ":" & @YEAR)
    IniWrite(@ScriptDir & "\Settings.ini","Settings","Uhrzeit",@Hour & ":" & @Min & ":" & @SEC)

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

    EndIf
    EndFunc

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

    Func Ausmachen()
    $a= 0
    EndFunc

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

    Func Ende()
    Exit
    EndFunc

    [/autoit]


    mfg (Auto)Bert