AutoIt - MsgBox | InputBox - Generator

  • Mir war langweilig und ich hab mal was gemacht :D
    Es ist - wie der Titel sagt - ein Generator der MsgBox' und InputBox' generiert.
    Vielleicht hilft es ja Anfängern oder so ;)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("AutoIt - MsgBox | InputBox - Generator", 650, 450, 200, 150)
    $Radio1 = GUICtrlCreateRadio("MsgBox generieren", 25, 420, 130, 20)
    $Radio2 = GUICtrlCreateRadio("InputBox generieren", 160, 420, 130, 20)
    $Radio3 = GUICtrlCreateRadio("Radio3", 300, 420, 130, 20)
    $Radio4 = GUICtrlCreateRadio("Radio4", 430, 420, 130, 20)
    $Button1 = GUICtrlCreateButton("Generieren", 480, 380, 140, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Testen", 200, 380, 140, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("Hier die Flag eingeben. | Nur MsgBox", 65, 65, 290, 20)
    $Input2 = GUICtrlCreateInput("Hier den Titel eingeben. | Beides", 65, 130, 290, 20)
    $Input3 = GUICtrlCreateInput("Hier den Text eingeben. | Beides", 65, 180, 290, 20)
    $Input4 = GUICtrlCreateInput("Hier kommt das Generierte raus.", 360, 260, 260, 20)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) Then
    generate_messagebox($Input1,$Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) Then
    generate_inputbox($Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) Then
    MsgBox(0,"Fehler","Für diesen Radio-Button gibt es noch keine Generierung")
    EndIf
    If BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) Then
    MsgBox(0,"Fehler","Für diesen Radio-Button gibt es noch keine Generierung")
    EndIf
    If Not BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) Then
    MsgBox(0,"Fehler", "Sie müssen einen Radio-Button auswählen")
    EndIf
    case $Button2
    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) Then
    testen_messagebox($Input1,$Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) Then
    testen_inputbox($Input2,$Input3)
    EndIf
    EndSwitch
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[2] Then
    If $aInfo[4] = $Input1 Then GUICtrlSetData($Input1, "")
    If $aInfo[4] = $Input2 Then GUICtrlSetData($Input2, "")
    If $aInfo[4] = $Input3 Then GUICtrlSetData($Input3, "")
    EndIf
    WEnd
    Func generate_messagebox($Input1,$Input2,$Input3)
    $flag = guictrlread($Input1)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    GUICtrlSetData($Input4,"MsgBox("""&$flag&""","""&$title&""","""&$text&""")")
    EndFunc
    Func generate_inputbox($Input2,$Input3)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    GUICtrlSetData($Input4,"InputBox("""&$title&""","""&$text&""")")
    EndFunc
    func testen_messagebox($Input1,$Input2,$Input3)
    $flag = guictrlread($Input1)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    MsgBox($flag,$title,$text)
    EndFunc
    func testen_inputbox($Input2,$Input3)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    InputBox($title,$text)
    EndFunc

    [/autoit]
  • schon schön,
    was du besser machen könntest wäre das je nachdem was angeklickt ist, das input geblockt wird das man nich braucht

  • Gerne :P

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("AutoIt - MsgBox | InputBox - Generator", 650, 450, 200, 150)
    $Radio1 = GUICtrlCreateRadio("MsgBox generieren", 25, 420, 130, 20)
    $Radio2 = GUICtrlCreateRadio("InputBox generieren", 160, 420, 130, 20)
    $Radio3 = GUICtrlCreateRadio("Radio3", 300, 420, 130, 20)
    $Radio4 = GUICtrlCreateRadio("Radio4", 430, 420, 130, 20)
    $Button1 = GUICtrlCreateButton("Generieren", 480, 380, 140, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Testen", 200, 380, 140, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("Hier die Flag eingeben. | Nur MsgBox", 65, 65, 290, 20)
    $Input2 = GUICtrlCreateInput("Hier den Titel eingeben. | Beides", 65, 130, 290, 20)
    $Input3 = GUICtrlCreateInput("Hier den Text eingeben. | Beides", 65, 180, 290, 20)
    $Input4 = GUICtrlCreateInput("Hier kommt das Generierte raus.", 360, 260, 260, 20)
    GUISetState(@SW_SHOW)
    global $blubb = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) Then
    generate_messagebox($Input1,$Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) Then
    generate_inputbox($Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) Then
    MsgBox(0,"Fehler","Für diesen Radio-Button gibt es noch keine Generierung")
    EndIf
    If BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) Then
    MsgBox(0,"Fehler","Für diesen Radio-Button gibt es noch keine Generierung")
    EndIf
    If Not BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) And Not BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) Then
    MsgBox(0,"Fehler", "Sie müssen einen Radio-Button auswählen")
    EndIf
    case $Button2
    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) Then
    testen_messagebox($Input1,$Input2,$Input3)
    EndIf
    If BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) Then
    testen_inputbox($Input2,$Input3)
    EndIf
    EndSwitch
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[2] Then
    If $aInfo[4] = $Input1 and not $blubb = 1 Then GUICtrlSetData($Input1, "")
    If $aInfo[4] = $Input2 Then GUICtrlSetData($Input2, "")
    If $aInfo[4] = $Input3 Then GUICtrlSetData($Input3, "")
    EndIf
    if bitand(guictrlread($radio2),$GUI_CHECKED) and not $blubb = 1 Then
    GUICtrlSetStyle($input1,$ES_READONLY)
    GUICtrlSetBkColor($input1,0xFFFFAAFF)
    $blubb = 1
    EndIf
    if bitand(guictrlread($radio1),$GUI_CHECKED) and $blubb = 1 Then
    GUICtrlSetStyle($input1,$ES_READONLY)
    GUICtrlSetBkColor($input1,0xFFFFFFF)
    $blubb = 0
    EndIf
    WEnd
    Func generate_messagebox($Input1,$Input2,$Input3)
    $flag = guictrlread($Input1)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    GUICtrlSetData($Input4,"MsgBox("""&$flag&""","""&$title&""","""&$text&""")")
    EndFunc
    Func generate_inputbox($Input2,$Input3)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    GUICtrlSetData($Input4,"InputBox("""&$title&""","""&$text&""")")
    EndFunc
    func testen_messagebox($Input1,$Input2,$Input3)
    $flag = guictrlread($Input1)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    MsgBox($flag,$title,$text)
    EndFunc
    func testen_inputbox($Input2,$Input3)
    $title = guictrlread($Input2)
    $text = guictrlread($Input3)
    InputBox($title,$text)
    EndFunc

    [/autoit]
    [autoit][/autoit]
  • Zitat von DFPWare

    Kann der Code Wizard das nicht auch?


    Hab ich schon gefragt...

    Zitat von name22

    Ich glaube sowas gibt es schon bei den Scite4AutoIt Tools... :huh:

    Zitat von Sparky

    Ja das hab ich auch gesehen, aber der Source war glaube ich mal nicht öffentlich ;)

  • Ich habs mal ausprobiert:
    Es geht schneller, wenn man in SciTE einfach MsgBox eingibt und dann die gewünschten sachen. Bis man bei deinem Programm die sachen eingegeben hat und dann kopiert hat, das dauert dann doch ein wenig länger.

    Kurz gesagt finde ich es einfach sinnlos, höchstens du verkleinerst deine GUI, und packst ein paar mehr Funktionen rein, machts es zu einer Toolbox und dann würd ich es auch paralell zu SciTE laufen lassen.

  • Ich wollte das eigentlich nicht weiter ausbauen, vielleicht bräuchte ja jemand etwas davon oder möchte sich einfach anschauen wie sowas gemacht wird, ich selbst benutze es ja auch nicht ^^