Input Felder, OK-Butten, Email, ...

  • hey..
    Ich hoffe die Frage ist nicht zu kompliziert.

    Ist es möglich, eine Gui mit z.B. 3 Input-Feldern, einem OK(oder Senden)-Button, der solang ausgegraut (nicht anklickbar ist) bist die 3 Felder ausgefüllt sind.

    Wenn die Felder ausgefüllt sind, und man auf den Button klickt, soll der Inhalt dieser Buttons in eine .txt fortlaufend (in jeweils eine Zeile) geschrieben werden. z.B.:
    Zeile 1 (aktuelles Datum/Uhrzeit, Input1, Input2, Input3)
    Zeile 2 (aktuelles Datum/Uhrzeit, Input1, Input2, Input3)

    danke im Voraus

  • Mach erstmal die GUI und dann sehen wir weiter. Wir wollen die ja nicht ein komplettes Script vorkauen.

  • Da ich grad Mittagspause und Langeweile habe, hab ich es nun doch schnell gemacht.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    GUICreate("Test")
    Global $cInput_1 = GUICtrlCreateInput("", 20, 20, 200, 20)
    Global $cInput_2 = GUICtrlCreateInput("", 20, 60, 200, 20)
    Global $cInput_3 = GUICtrlCreateInput("", 20, 100, 200, 20)
    Global $cSave = GUICtrlCreateButton("Speichern", 80, 140, 80, 25)
    GUISetState()

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

    Global $hFile = FileOpen(@DesktopDir & "\Test.txt", 1)

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

    While 1
    If GUICtrlRead($cInput_1) <> "" And GUICtrlRead($cInput_2) <> "" And GUICtrlRead($cInput_3) <> "" Then
    If BitAND(GUICtrlGetState($cSave), $GUI_DISABLE) Then GUICtrlSetState($cSave, $GUI_ENABLE)
    Else
    If BitAND(GUICtrlGetState($cSave), $GUI_ENABLE) Then GUICtrlSetState($cSave, $GUI_DISABLE)
    EndIf

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

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    FileClose($hFile)
    Exit
    Case $cSave
    $sTime = @MDAY & "." & @MON & "." & @YEAR & "/" & @HOUR & ":" & @MIN & ":" & @SEC
    FileWriteLine($hFile, $sTime & ", " & GUICtrlRead($cInput_1) & ", " & GUICtrlRead($cInput_2) & ", " & GUICtrlRead($cInput_3))
    EndSwitch
    WEnd

    [/autoit]


    Ich weiß...shame on me.

  • wär ne alternative =)

    andere Frage...
    gibts die Möglichkeit bei einem GUICtrlCreateInput-Feld (nur bei einem von 3 Feldern) ein Autofill zu machen?
    bzw pro Feld ein anderes Autofill zu schalten?

    D.h. ich tippe den Buchstaben A und es zeigt mir alle Möglichkeiten mit A... an.

    chip: evtl ein link zum nachlesen oder bsp. :D

  • jup danke, werd ich mich mal durchlesen

    sry wenn ich nerve :D
    aber hab da schon weng rumexperimentiert... aber wie bekomm ich das noch mit dem Button zum laufen:

    [autoit]


    Global $sUserName = "randomuser"
    Global $sPassword = "randompasswort"
    Global $sStartDatei = "C:\randompfad\randomprogramm.exe"

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

    RunAs($sUserName, @ComputerName, $sPassword, 0, $sStartDatei)

    [/autoit]

    [edit] hab schon... das @ComputerName einfach weg lassen

  • mal wieder :whistling:

    wie kann ich denn die Combobox auslesen und das was jeweils als Programm steht mit der $sStartDatei verknüpfen
    z.B.

    Code
    Combobox:	Firefox			|	Chrome			|	InternetExplorer
    $sStartDatei:	PfadzurFirefox.exe	|	PfadzurChrome.exe	|	PfadzurIE.exe
    RunAs(...$sStartDatei)


    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GUIConstants.au3>

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

    ; damits hier nicht zu lang wird, update-funktion ausgeblendet

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

    GUICreate("Test", 250, 200)

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

    GUICtrlCreateLabel ("Benutzername:", 20, 10)
    Global $cInput_1 = GUICtrlCreateInput("", 20, 25, 200, 20)

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

    GUICtrlCreateLabel ("Programm:", 20, 60)
    Global $cInput_2 = GUICtrlCreateCombo("Firefox", 20, 75, 200, 20, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Chrome|IE")
    ;Global $cInput_2 = GUICtrlCreateInput("Firefox", 20, 75, 200, 20)

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

    GUICtrlCreateLabel ("Grund:", 20, 110)
    Global $cInput_3 = GUICtrlCreateInput("", 20, 125, 200, 20)

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

    Global $cSave = GUICtrlCreateButton("Speichern", 80, 160, 80, 25)

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

    GUISetState()

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

    Global $hFile = FileOpen(@DesktopDir & "\Test.txt", 1)
    Global $sUserName = "benutzer"
    Global $sPassword = "passwort"
    Global $sStartDatei = "pfadzurFirefox.exe"

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

    While 1
    If GUICtrlRead($cInput_1) <> "" And GUICtrlRead($cInput_2) <> "" And GUICtrlRead($cInput_3) <> "" Then
    If BitAND(GUICtrlGetState($cSave), $GUI_DISABLE) Then GUICtrlSetState($cSave, $GUI_ENABLE)
    Else
    If BitAND(GUICtrlGetState($cSave), $GUI_ENABLE) Then GUICtrlSetState($cSave, $GUI_DISABLE)
    EndIf

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

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    FileClose($hFile)
    Exit
    Case $cSave
    $sTime = @YEAR & "-" & @MON & "-" & @MDAY & "/" & @HOUR & ":" & @MIN & ":" & @SEC
    FileWriteLine($hFile, $sTime & ":" & @TAB & GUICtrlRead($cInput_1) & @TAB & GUICtrlRead($cInput_2) & @TAB & GUICtrlRead($cInput_3))
    RunAs($sUserName, $sPassword, 0, $sStartDatei)
    EndSwitch
    WEnd

    [/autoit]
  • Mit GUICtrlRead auslesen und am besten ShellExecute nehmen anstatt RunAs, dann kannste schön Params hinzufügen.

  • also hiermit klappt es nicht... hmm

    [autoit]


    If GUICtrlRead($cInput_2) = Firefox Then
    $sStartDatei = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
    ElseIf GUICtrlRead($cInput_2) = Chrome Then
    $sStartDatei = "C:\Users\Thomann\AppData\Local\Google\Chrome\Application\chrome.exe"
    ElseIf GUICtrlRead($cInput_2) = IE Then
    $sStartDatei = "C:\Program Files\Internet Explorer\iexplore.exe"
    EndIf

    [/autoit]
  • wasn 8|

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GUIConstants.au3>

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

    ; update-funktion

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

    GUICreate("Test", 250, 200)

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

    GUICtrlCreateLabel ("Benutzername:", 20, 10)
    Global $cInput_1 = GUICtrlCreateInput("", 20, 25, 200, 20)

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

    GUICtrlCreateLabel ("Programm:", 20, 60)
    Global $cInput_2 = GUICtrlCreateCombo("Firefox", 20, 75, 200, 20, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Chrome|IE")

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

    GUICtrlCreateLabel ("Grund:", 20, 110)
    Global $cInput_3 = GUICtrlCreateInput("", 20, 125, 200, 20)

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

    Global $cSave = GUICtrlCreateButton("Speichern", 80, 160, 80, 25)

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

    GUISetState()

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

    Global $hFile = FileOpen(@DesktopDir & "\Test.txt", 1)
    Global $sUserName = "benutzer"
    Global $sDomain = "domäne"
    Global $sPassword = "passwort"

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

    While 1
    If GUICtrlRead($cInput_2) = "Firefox" Then
    $sStartDatei = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
    ElseIf GUICtrlRead($cInput_2) = "Chrome" Then
    $sStartDatei = "C:\Users\Thomann\AppData\Local\Google\Chrome\Application\chrome.exe"
    ElseIf GUICtrlRead($cInput_2) = "IE" Then
    $sStartDatei = "C:\Program Files\Internet Explorer\iexplore.exe"
    EndIf

    If GUICtrlRead($cInput_1) <> "" And GUICtrlRead($cInput_2) <> "" And GUICtrlRead($cInput_3) <> "" Then
    If BitAND(GUICtrlGetState($cSave), $GUI_DISABLE) Then GUICtrlSetState($cSave, $GUI_ENABLE)
    Else
    If BitAND(GUICtrlGetState($cSave), $GUI_ENABLE) Then GUICtrlSetState($cSave, $GUI_DISABLE)
    EndIf

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

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    FileClose($hFile)
    Exit
    Case $cSave
    $sTime = @YEAR & "-" & @MON & "-" & @MDAY & "/" & @HOUR & ":" & @MIN & ":" & @SEC
    FileWriteLine($hFile, $sTime & ":" & @TAB & GUICtrlRead($cInput_1) & @TAB & GUICtrlRead($cInput_2) & @TAB & GUICtrlRead($cInput_3))
    RunAs($sUserName, $sDomain, $sPassword, 0, $sStartDatei)
    ;RunAs($sUserName, $sDomain, $sPassword, 0, @AutoItExe & ' /AutoIt3ExecuteLine "ShellExecute(''' & $commands[$i] & ''')"', @SystemDir)
    ;RunAsWait($sUserName, $sDomain, $sPassword, 0, $sStartDatei)
    EndSwitch
    WEnd

    [/autoit]