4 inputbox in einem fenster

  • huhu ^^

    ähm ja.. bisher siehts so aus:

    [autoit]

    $einkauf = inputbox("einkauf","wert?")
    $exp = inputbox("exp / ernte","wert?")
    $harvest = inputbox("ernte in? [in std]","wert?")
    $verkauf = inputbox("verkauf","wert?")

    [/autoit]


    wie jeder sieht öffnen sich 4 fenster nach einander und ich kan was eingeben...

    ich hätte gerne ein fenster mit 4 feldern wo ich jeweils was drüberschreiben kann, kennt da wer was feines? :)

    lg reve

    Einmal editiert, zuletzt von revetr (25. Dezember 2009 um 20:55)

  • Oder du benutzt folgende Funktion:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    ;string rückgabe
    $input = _InputBox(3,"Hallo","Ich stehe in Lable 1|Ich in Lable 2|Und ich in Lable3","Hallo|Wie|Gehts?",1)
    MsgBox(0,"",$input)

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

    ;Array rückgabe
    $aInput = _InputBox(3,"Hallo","Ich stehe in Lable 1|Ich in Lable 2|Und ich in Lable3","Hallo|Wie|Gehts?")
    _ArrayDisplay($aInput)

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

    Func _InputBox($iCount,$sTitle,$sText,$sDefault,$iMode=0,$sDelim="|")
    ;Author: SEuBo
    ;$iCount: Anzahl der "Inputgruppen"
    ;$sTitle: Titel der _InputBox
    ;$sText: Text für die einzelnen Gruppen. Hier wird ein Trennzeichenseperierter String benötigt
    ;BSP: "1|2|3". Das Trennzeichen kann in $sDelim selbst bestimmt werden, falls das erwünscht ist
    ;$sDefault: Default-Text für die Input felder. Hier wird wieder ein seperierter String benötigt.
    ;$iMode: Der Rückgabemodus. 0 (Standard) = Array. 1 = mit $sDelim seperierter String.

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

    $OnEvent = Opt("GUIOnEventMode",0)
    Local $aData[$iCount+1][2], $ifCount = 0, $aText = StringSplit($sText,$sDelim), $aDefault = StringSplit($sDefault,$sDelim)
    If $iCount = "" OR $iCount < 1 OR $iMode < 0 OR $iMode > 1 OR $sDelim = "" Then
    Return SetError(2,0,"")
    EndIf
    If $aDefault[0] < $iCount+1 Or $aDefault[0] > $iCount+1 Then
    ReDim $aDefault[$iCount+1]
    EndIf
    If $aText[0] < $iCount+1 Or $aText[0] > $iCount+1 Then
    ReDim $aText[$iCount+1]
    EndIf
    $_InputBox = GUICreate($sTitle,220,65+$iCount*95,-1,-1,-1,0x00000008)
    For $i = 1 to $iCount
    $aData[$i][0] = GUICtrlCreateLabel($aText[$i], 20, ($ifCount*95)+20, 180, 50)
    $aData[$i][1] = GUICtrlCreateInput($aDefault[$i], 20, ($ifCount*95)+75, 180, 25)
    $ifCount +=1
    Next
    $hButton = GUICtrlCreateButton("Absenden",60,(($ifCount-1)*95)+110,100,25)
    GUISetState()
    While 1 * Sleep(50)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    case -3
    GUIDelete($_InputBox)
    Return SetError(1,0,"")
    Case $hButton
    Switch $iMode
    Case 0
    Local $aRet[$iCount]
    For $i = 1 to $iCount
    $aRet[$i-1] = GUICtrlRead($aData[$i][1])
    Next
    GUIDelete($_InputBox)
    Return $aRet
    Case 1
    Local $aRet
    For $i = 1 to $iCount
    $aRet &= GUICtrlRead($aData[$i][1]) & $sDelim
    Next
    GUIDelete($_InputBox)
    Return StringTrimRight($aRet,1)
    EndSwitch
    EndSwitch
    WEnd
    Opt("GUIOnEventMode",$OnEvent)
    EndFunc

    [/autoit]