Inputbox mit Button bestätigen und als Varible den Wert speichern

  • hi Leute
    ich habe ein problem mit autoit...
    ich habe mehrere inputboxen und möchte die mit einem button (in meinem fall "ok") bestätigen...
    daraufhin soll der wert in einer variable gespeichert werden...
    so weit so gut
    das hab ich ja schon

    Case $OK
    $xKoordinate1 = GUICtrlRead($Input1)


    jedoch kann ich nun die varibale NUR direkt hinter diesen zeilen verwenden und nicht nach dem Wend...
    also habe ich eine funktion benutzt mit:

    Case $OK
    $xKoordinate1 = GUICtrlRead($Input1)
    funktionx1 ($xKoordinate1)

    im darauf zuzugreifen einfach hinter dem Wend

    Func funktionx1 ($xKoordinate1)

    Endfunc

    nun kann ich innerhalb dieser funktion die variable benutzten aber was ich wenn ich mehrere input boxen habe mit mehreren buttons?ich aber die gespeicherten werte direkt hinterinander verwenden will?
    also z.b. $xKoordinate1 : &xKoordinate2= $newxKoordinate

    wie krieg ich das denn hin?
    ich bitte um hilfe
    vielen dank für jede hilfe!
    patiii

  • Hey, ich verstehe leider dein Problem nicht wirklich.

    [autoit]

    koordinate($x, $y, $z)Func koordinate($a,$b,$c) ConsoleWrite($a & @CRLF & $b & @CRLF & $c)EndFunc

    [/autoit]


    So übergibt man mehrere Parameter an einer Funktion. Wenn dass das ist was du wissen wolltest ;)

  • also ich habe 2 inputboxen (als beispiel) und zu denen auch 2 buttons
    wenn ich auf button1 drücke soll das was eingetippt wurde in xKoordinate1 gespeichert werden...
    wenn man in die 2te inputbox etwas eintippt und auf den button drück soll es in yKoordinate1 gespeichert werden.
    so
    nun hab ich also xKoordinate1 und yKoordinate1 jeweils in variablen gespeichert...
    undzwar hab ich das so gemacht:

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\users\patrick becker\desktop\form1.kxf
    $Form1_1 = GUICreate("Form1", 573, 222, 212, 129)
    $Input1 = GUICtrlCreateInput("", 40, 32, 65, 21)
    $Input2 = GUICtrlCreateInput("", 184, 32, 65, 21)

    $xKoordinate1 = GUICtrlCreateLabel("xKoordinate1", 40, 0, 66, 17)

    $yKoordinate1 = GUICtrlCreateLabel("yKoordinate1", 192, 8, 66, 17)


    $OK = GUICtrlCreateButton("OK", 120, 32, 25, 25)
    $Button1 = GUICtrlCreateButton("OK", 272, 32, 25, 25)

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Exit

    Case $OK
    $xKoordinate1 = GUICtrlRead($Input1)
    funktionx1 ($xKoordinate1)


    Case $Button1
    $yKoordinate1 = GUICtrlRead($Input2)
    funktiony1 ($yKoordinate1)

    EndSwitch
    WEnd

    soo wenn ich jetzt aber xKoordinate1 als varibale weiter nutzen will geht das nicht wenn ich das hinter demWEnd mache...dann kommt ein error
    wenn ich das in einer funktion mache geht es:

    Func funktionx1 ($xKoordinate1)
    MsgBox(0,"",$xKoordinate1)
    Endfunc

    so kann ich die variable benutzten und diese func nicht!
    jetzt mein problem
    ich habe ja 2 varibalen xKoordinate1 und yKoordiante1
    ich möchte diese jetzt addieren
    also $xkoordinate1 + $yKoordinate1 = $Ergebniss
    das geht aber so nicht weil ich eine funktion benötige um die variablen benutzen zu können

    wie krieg ich das jetzt hin?
    ich hoffe ich habe mich deutlicher ausgedrück sorry...
    mfg patiii

  • Nächster versuch, hoffe habe ich richtig verstanden ;)

    [autoit]

    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Button1 $result = sumKoord($x, $y) MsgBox(0,'',$result) EndSwitchWEnd
    Func sumKoord($x, $y) $ergebnis = $x + $y return $ergebnisEndFunc

    [/autoit]


    Nun gibst du das Ergebnis zurück und speicherst dieser in der Variable $result ;)

  • ich glaube wir reden ein bisschen an einander vorbei
    ist aber nicht schlimm ich habe das problem gelöst ich mach einfach einen button das funktioniert das trotzdem vielen dank :)