Input auslesen

  • Hi,
    ich habe ein Script von SEuBo als Vorlage genommen:

    Spoiler anzeigen
    [autoit]

    #include
    #include
    #include
    #include
    Dim $aInput[4][2]
    $hGUI = GUICreate("Form1", 625, 151, 192, 124)
    GUICtrlCreateGroup("CD-Key eingeben: ", 24, 24, 577, 89)
    $aInput[0][0] = GUICtrlCreateInput("", 58, 60, 105, 21)
    $aInput[1][0] = GUICtrlCreateInput("", 194, 60, 105, 21)
    $aInput[2][0] = GUICtrlCreateInput("", 329, 60, 105, 21)
    $aInput[3][0] = GUICtrlCreateInput("", 465, 60, 105, 21)
    $OK = GUICtrlCreateButton("Okey",500, 120, 105, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    _CheckInput()
    WEnd
    Func _CheckInput()
    For $i = 0 to UBound($aInput)-1
    If GUICtrlRead($aInput[$i][0]) <> $aInput[$i][1] Then
    ;~ ConsoleWrite("-> ungleich "&$i & @CRLF)
    If StringLen(GUICtrlRead($aInput[$i][0])) = 4 Then
    ;~ ConsoleWrite("!> Stringlen" & @CRLF)
    If $i < UBound($aInput)-1 Then
    ;~ ConsoleWrite("+> nächstes " &$i & @CRLF)
    GUICtrlSetState($aInput[$i][0],8192)
    GUICtrlSetState($aInput[$i+1][0],256)
    EndIf
    EndIf
    $aInput[$i][1] = GUICtrlRead($aInput[$i][0])
    GUICtrlSetData($aInput[$i][0],StringLeft(GUICtrlRead($aInput[$i][0]),4))
    EndIf
    Next
    EndFunc

    [/autoit]


    (https://autoit.de/index.php?page…adID=16643&amp;)
    Nun möchte ich alle Inputfelder auslesen, weiß aber nicht, wie ich das machen soll

    Einmal editiert, zuletzt von Slyfex (16. Januar 2010 um 22:07)

  • [autoit]

    GUICtrlRead ( controlID [, advanced] )

    [/autoit]

    edit: und hier nochmal ausführlich:

    [autoit]


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

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

    $Form1 = GUICreate("Form1", 278, 155, 192, 124)
    $Input1 = GUICtrlCreateInput("Input1", 64, 80, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 64, 40, 121, 21)
    $Button1 = GUICtrlCreateButton("kicken",64,120)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    MsgBox(0,"",GUICtrlRead($Input1) & " " & GUICtrlRead($Input2))

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

    EndSwitch
    WEnd

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Wie das geht weiß ich :thumbup:
    Bei dem Script haben die Inputboxen den gleichen Namen

    [autoit]

    $aInput[0][0] = GUICtrlCreateInput("", 58, 60, 105, 21)
    $aInput[1][0] = GUICtrlCreateInput("", 194, 60, 105, 21)
    $aInput[2][0] = GUICtrlCreateInput("", 329, 60, 105, 21)
    $aInput[3][0] = GUICtrlCreateInput("", 465, 60, 105, 21)

    [/autoit]


    Gibt es eine Möglichkeit alle zusammen auszulesen oder einzeln (kann man ja mit & verbinden)?

  • Ich glaube, mann kann die nur einzelnd auslesen.

    [autoit]


    #include <GUIConstantsEx.au3>
    $form = GUICreate("Demo", 400, 280)
    $input_1 = GUICtrlCreateInput("Eingabe 1", 200, 20, 160, 30)
    $input_2 = GUICtrlCreateInput("Eingabe 2", 200, 70, 160, 30)
    $button_1 = GUICtrlCreateButton("Button 1", 30, 20, 120, 40)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $button_1
    MsgBox(0,"",GUICtrlRead($input_1) & @CRLF & GUICtrlRead($input_2))
    EndSelect
    WEnd

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>

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

    Dim $aInput[4][2]
    $hGUI = GUICreate("Form1", 625, 151, 192, 124)
    GUICtrlCreateGroup("CD-Key eingeben: ", 24, 24, 577, 89)
    $aInput[0][0] = GUICtrlCreateInput("", 58, 60, 105, 21)
    $aInput[1][0] = GUICtrlCreateInput("", 194, 60, 105, 21)
    $aInput[2][0] = GUICtrlCreateInput("", 329, 60, 105, 21)
    $aInput[3][0] = GUICtrlCreateInput("", 465, 60, 105, 21)
    $OK = GUICtrlCreateButton("Okey", 500, 120, 105, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $OK
    $Result = GUICtrlRead($aInput[0][0]) & "-" & GUICtrlRead($aInput[1][0]) & "-" & GUICtrlRead($aInput[2][0]) & "-" & GUICtrlRead($aInput[3][0])
    MsgBox(0, "Seriennummer", $Result)
    EndSwitch
    _CheckInput()
    WEnd
    Func _CheckInput()
    For $i = 0 To UBound($aInput) - 1
    If GUICtrlRead($aInput[$i][0]) <> $aInput[$i][1] Then
    ;~ ConsoleWrite("-> ungleich "&$i & @CRLF)
    If StringLen(GUICtrlRead($aInput[$i][0])) = 4 Then
    ;~ ConsoleWrite("!> Stringlen" & @CRLF)
    If $i < UBound($aInput) - 1 Then
    ;~ ConsoleWrite("+> nächstes " &$i & @CRLF)
    GUICtrlSetState($aInput[$i][0], 8192)
    GUICtrlSetState($aInput[$i + 1][0], 256)
    EndIf
    EndIf
    $aInput[$i][1] = GUICtrlRead($aInput[$i][0])
    GUICtrlSetData($aInput[$i][0], StringLeft(GUICtrlRead($aInput[$i][0]), 4))
    EndIf
    Next
    EndFunc ;==>_CheckInput

    [/autoit]
  • Ach so, du musst den Array am Anfang auch deklarieren

    [autoit]

    Global $aInput[10][10]

    [/autoit]

    edit: Mist, zu spät... hab vergessen zu aktualisieren... :S

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

    • Offizieller Beitrag

    Ach so, du musst den Array am Anfang auch deklarieren

    [autoit]

    Global $aInput[10][10]

    [/autoit]

    Was denkst du was

    [autoit]

    Dim $aInput[4][2]

    [/autoit]


    macht?

  • Thx für die Hilfe von euch
    Kann ich die Eingabe in einer .ini in einer Zeile gespeichert werden?
    Wenn möglich auch mit "-"?

    • Offizieller Beitrag

    Was denkst du, was

    bedeutet :D

    Die Deklaration des Array´s war schon im 1. Post des Thread´s enthalten. :P

  • :pinch: ... Hab ich wohl was vergessen zu kopieren...

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Falls ihr mein Edit nicht mehr beachtet:
    Kann ich die Eingabe in einer .ini in einer Zeile gespeichert werden?
    Wenn möglich auch mit "-"?

    Schon mal danke :)

  • Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>

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

    Dim $aInput[4][2]
    $hGUI = GUICreate("Form1", 625, 151, 192, 124)
    GUICtrlCreateGroup("CD-Key eingeben: ", 24, 24, 577, 89)
    $aInput[0][0] = GUICtrlCreateInput("", 58, 60, 105, 21)
    $aInput[1][0] = GUICtrlCreateInput("", 194, 60, 105, 21)
    $aInput[2][0] = GUICtrlCreateInput("", 329, 60, 105, 21)
    $aInput[3][0] = GUICtrlCreateInput("", 465, 60, 105, 21)
    $OK = GUICtrlCreateButton("Okey", 500, 120, 105, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $OK
    $Result = GUICtrlRead($aInput[0][0]) & "-" & GUICtrlRead($aInput[1][0]) & "-" & GUICtrlRead($aInput[2][0]) & "-" & GUICtrlRead($aInput[3][0])
    IniWrite(@ScriptDir & "\test.ini","testsektion","testkey",$Result)
    MsgBox(0, "Seriennummer", $Result)
    EndSwitch
    _CheckInput()
    WEnd
    Func _CheckInput()
    For $i = 0 To UBound($aInput) - 1
    If GUICtrlRead($aInput[$i][0]) <> $aInput[$i][1] Then
    ;~ ConsoleWrite("-> ungleich "&$i & @CRLF)
    If StringLen(GUICtrlRead($aInput[$i][0])) = 4 Then
    ;~ ConsoleWrite("!> Stringlen" & @CRLF)
    If $i < UBound($aInput) - 1 Then
    ;~ ConsoleWrite("+> nächstes " &$i & @CRLF)
    GUICtrlSetState($aInput[$i][0], 8192)
    GUICtrlSetState($aInput[$i + 1][0], 256)
    EndIf
    EndIf
    $aInput[$i][1] = GUICtrlRead($aInput[$i][0])
    GUICtrlSetData($aInput[$i][0], StringLeft(GUICtrlRead($aInput[$i][0]), 4))
    EndIf
    Next
    EndFunc ;==>_CheckInput

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>

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

    Dim $aInput[4][2]
    $hGUI = GUICreate("Form1", 625, 151, 192, 124)
    GUICtrlCreateGroup("CD-Key eingeben: ", 24, 24, 577, 89)
    $aInput[0][0] = GUICtrlCreateInput("", 58, 60, 105, 21)
    $aInput[1][0] = GUICtrlCreateInput("", 194, 60, 105, 21)
    $aInput[2][0] = GUICtrlCreateInput("", 329, 60, 105, 21)
    $aInput[3][0] = GUICtrlCreateInput("", 465, 60, 105, 21)
    $OK = GUICtrlCreateButton("Okey", 500, 120, 105, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $OK
    $Result = GUICtrlRead($aInput[0][0]) & "-" & GUICtrlRead($aInput[1][0]) & "-" & GUICtrlRead($aInput[2][0]) & "-" & GUICtrlRead($aInput[3][0])
    IniWrite(@ScriptDir & "\Test.ini", "Einstellungen", "Serial", $Result)
    MsgBox(0, "Seriennummer", $Result)
    EndSwitch
    _CheckInput()
    WEnd
    Func _CheckInput()
    For $i = 0 To UBound($aInput) - 1
    If GUICtrlRead($aInput[$i][0]) <> $aInput[$i][1] Then
    If StringLen(GUICtrlRead($aInput[$i][0])) = 4 Then
    If $i < UBound($aInput) - 1 Then
    GUICtrlSetState($aInput[$i][0], 8192)
    GUICtrlSetState($aInput[$i + 1][0], 256)
    EndIf
    EndIf
    $aInput[$i][1] = GUICtrlRead($aInput[$i][0])
    GUICtrlSetData($aInput[$i][0], StringLeft(GUICtrlRead($aInput[$i][0]), 4))
    EndIf
    Next
    EndFunc ;==>_CheckInput

    [/autoit]