$Inhalt + $Inhalt2 + $Button1

  • Guten Abend Community,

    ich habe eine Einlogg GUI erstellt. Nun weiß ich nicht mehr wie ich weiter machen soll.
    Ich möchte das wenn in $Inhalt1 & $Inhalt2 das richtige steht, dass wenn ich auf meinen Button drücke,
    sich eine weitere GUI öffnet. Doch wie stelle ich das an, dass der Button nur funktioniert,
    wenn in $Inhalt1 & $Inhalt2 das richtige drin steht?.

    Meine .au3 Datei ist im Anhang, weil das Forum bei mir irgendwie die Zeilenumbrüche vom Code nicht annimmt..

  • Bei mir kommt dann eine Fehlermeldung beim starten der Anwendung, dass diese Befehle nicht richtig sind..
    Fehlermeldung:


    If $Inhalt1 = "Alex" and $Inhalt2 = "test" Then
    If ^ ERROR

  • Hi!


    Schau mal!

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <EditConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 265, 163, 193, 125)
    $Input1 = GUICtrlCreateInput("Dein Name", 8, 16, 241, 21)
    $Input2 = GUICtrlCreateInput("123456", 8, 48, 241, 21, $ES_PASSWORD)
    $Button1 = GUICtrlCreateButton("LOGIN", 56, 96, 161, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "@Meiryo")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Input1) And GUICtrlRead($Input2) Then
    MsgBox(0, 0, 'Dein Name: ' & GUICtrlRead($Input1) & ' Password ' & GUICtrlRead($Input2))
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Lg Kleiner

  • Bei mir kommt dann eine Fehlermeldung beim starten der Anwendung, dass diese Befehle nicht richtig sind..
    Fehlermeldung:


    Das war auch kein Copy & Paste Code sondern nur ein Beispiel. Variablen musst du schon selbst anpassen.
    Dein Skript hab ich mir erst garnicht geladen. Die Skripte lassen sich auch hier im Forum posten.

    Code
    [spoiler][autoit]dein Skript[/autoit][/spoiler]
  • Genau so möchte ich das haben. Doch ich will, das der Button nur funktioniert,
    wenn in $Inhalt1 & $Inhalt2 das drinn steht, was ich vorgegeben habe, und wenn man dann auf den
    Button drückt, soll sich ein neues GUI Fenster öffnen (Aber nur wenn $Inhalt1 & 2 dem entspricht, was ich
    vorgegeben habe).

  • und wenn du das hast von (siehe Kleiner)
    dann machst nen GuiDelete($Form1) dahin, danach nen Exitloop und Viola, läste deine Haupt GUI anspringen.

  • Ihr versteht mich alle falsch. Noch mal deutlich und ordentlich:

    Es öffnet sich ein GUI Fenster. Mit jeweils 2 Inputs & 1 Button.
    Sobald in den Inputs steht, was ich vorgegeben habe und ich auf den Button drücke
    soll sich ein neues GUI Fenster öffnen. Das neue GUI Fenster lässt sich nur
    öffnen wenn in $Input1 & $Input2 das steht was ich vorgegeben habe.

  • Genau von dem selben rede ich auch:
    Also noch mal. Nimm das Beispiel von Kleiner da ist drin was du willst, da hängst du bei Erfolg GUIDelete dran und ExitLoop.
    Dann schliesst sich das Fenster und deine neu Gui geht auf !

  • Etwa so?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <EditConstants.au3>

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

    _abfrage()
    ;weitere Funktionen...

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

    Func _abfrage()
    $Form1 = GUICreate("Form1", 265, 163, 193, 125)
    $Input1 = GUICtrlCreateInput("Dein Name", 8, 16, 241, 21)
    $Input2 = GUICtrlCreateInput("123456", 8, 48, 241, 21, $ES_PASSWORD)
    $Button1 = GUICtrlCreateButton("LOGIN", 56, 96, 161, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "@Meiryo")
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0,"","Eingabe abgebrochen!"&@CRLF&"Programm beendet sich nun.")
    Exit
    Case $Button1
    If GUICtrlRead($Input1)="Name" And GUICtrlRead($Input2)="Passwort" Then
    GUIDelete($Form1)
    Return
    Else
    MsgBox(0,"","Falscher Name oder falsches Passwort!")
    EndIf
    EndSwitch
    WEnd
    EndFunc

    [/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"

  • Hallo cOraXx,

    hier ein Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiButton.au3>
    #include <GuiImageList.au3>
    GUICreate("Login", 330, 175)
    GUICtrlCreateLabel("Benutzername :", 8, 48, 120, 20,$SS_RIGHT)
    $idInpUser = GUICtrlCreateInput("", 144, 44, 145, 24)
    GUICtrlCreateLabel("Passwort :", 8, 80, 120, 20,$SS_RIGHT)
    $idInpPW = GUICtrlCreateInput("", 144, 76, 145, 24, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
    $idBtnLogin = GUICtrlCreateButton("Login", 8, 140, 155, 25, $WS_GROUP)
    $idBtnExit = GUICtrlCreateButton("Beenden", 165, 140, 155, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    $iLoginTrys = 0
    $iMaxTrys = 5

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

    While 1
    $LoginState = GUICtrlGetState($idBtnLogin)
    If GUICtrlRead($idInpPW) <> "" And GUICtrlRead($idInpUser) <> "" Then
    If BitAND($LoginState, $GUI_DISABLE) = $GUI_DISABLE Then GUICtrlSetState($idBtnLogin, $GUI_Enable)
    Else
    If BitAND($LoginState, $GUI_Enable) = $GUI_Enable Then GUICtrlSetState($idBtnLogin, $GUI_DISABLE)
    EndIf
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE, $idBtnExit
    Exit
    Case $idBtnLogin
    if (GUICtrlRead($idInpUser) <> "TestUser" Or GUICtrlRead($idInpPW) <> "vergessen") Then
    $iLoginTrys += 1
    If $iLoginTrys > $iMaxTrys-1 Then
    MsgBox(16, $iMaxTrys & " falsche Loginversuche", "Computer wird für 15 Min. gesperrt")
    Exit
    Else
    MsgBox(48, "noch " & $iMaxTrys-$iLoginTrys & " Loginversuch(e)!", "danach wird der Computer für 15 Min. gesperrt")
    EndIf
    Else
    MsgBox(64, "Login" & $iLoginTrys, "Sie haben sich erfolgreich angemeldet!")
    GUIDelete()
    ExitLoop
    EndIf
    EndSwitch
    WEnd

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

    ;und jetzt das unheimlich wichtige Programm
    Opt("MustDeclareVars", 1)

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

    _Main()

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

    Func _Main()
    Local $sBMPNormal = @ScriptDIR & "\Icons\dsFirst_NORMAL.BMP"
    Local $sBMPHot = @ScriptDir & "\Icons\dsFirst_mouseover.bmp"
    Local $sBMPPress = @ScriptDir & "\Icons\dsFirst_mousedown.bmp"
    Local $sBMPImage = @WindowsDir & "\pchealth\helpctr\System\blurbs\watermark_300x.bmp"
    Local $btn1, $btn2, $btn3, $btn4, $msg
    Local $hImagebtn1, $hImagebtn2, $hImagebtn3 ,$hImagebtn4

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

    ;Caveat: Minimum Operating Systems: Windows XP.

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

    ;Image list with multiple images will only show the images
    ;other than the 1st image when Themes are used.

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

    Local $hGUI = GUICreate("Button Imagelists - Minimum OS: Windows XP",400,300)

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

    GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 400, 300)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    ;multi state image Bitmap
    $btn1 = GUICtrlCreateButton("This Way", 30, 30, 90, 32)
    GUICtrlSetTip(-1, "Multi state bitmap imagelist")
    $hImagebtn1 = _GUIImageList_Create(24, 24, 3, 3)
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);1 - Normal
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPHot) ;2 - Hot
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;3 - Pressed
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress);4 - Disabled
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);5 - Defaulted
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);6 - Stylus Hot (tablet computers only)
    _GUICtrlButton_SetImageList($btn1, $hImagebtn1)

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

    ;single state image Bitmap
    $btn2 = GUICtrlCreateButton("This Way", 30, 70, 90, 32)
    GUICtrlSetTip(-1, "Single bitmap imagelist")
    $hImagebtn2 = _GUIImageList_Create(24, 24, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn2, $sBMPNormal);1 - Normal
    _GUICtrlButton_SetImageList($btn2, $hImagebtn2)

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

    ;single state image Icon
    $btn3 = GUICtrlCreateButton("Unlock", 30, 110, 90, 40)
    GUICtrlSetTip(-1, "Single icon imagelist")
    $hImagebtn3 = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($hImagebtn3, "msrating.dll", 10, True)
    _GUICtrlButton_SetImageList($btn3, $hImagebtn3)

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

    ;single state image Bitmap with overlayed text
    $btn4 = GUICtrlCreateButton("Help", 30, 160, 90, 90)
    GUICtrlSetTip(-1, "Single bitmap imagelist with overlayed text")
    GUICtrlSetFont(-1, 14, 800, -1, "Comic Sans MS")
    $hImagebtn4 = _GUIImageList_Create(80, 80, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn4, $sBMPImage)
    _GUICtrlButton_SetImageList($btn4, $hImagebtn4, 4)

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn1
    Case $btn2
    GUICtrlSetState($btn1, $GUI_DISABLE)
    Case $btn3
    GUICtrlSetState($btn1, $GUI_ENABLE)
    Case $btn4
    EndSwitch
    WEnd
    EndFunc ;==>_Main

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

    für die 2. Gui werden noch die BMP aus dem Anhang benötigt

    mfg autoBert

  • EDIT: Da warn wieder einige vor mir am posten...

    Spoiler anzeigen
    [autoit]


    while 1
    ;....
    Case $Button1
    If GUICtrlRead($Input1) = "blabla" And GUICtrlRead($Input2) = "blabalabla" Then ; musste selber ersetzen...
    ;MsgBox(0, 0, 'Dein Name: ' & GUICtrlRead($Input1) & ' Password ' & GUICtrlRead($Input2))
    guidelete($form1)
    neuegui()
    exitloop
    EndIf
    wend

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

    func neuegui()
    ;guicreate....
    ;...
    while 1 ; neue while schleife...
    ;... switch undso siehe erste gui
    wend

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

    endfunc

    [/autoit]

    Einmal editiert, zuletzt von misterspeed (18. November 2010 um 22:14)

  • Yeah!!! Cool xP Vielen vielen vielen dank Leute. Ihr wisst garnicht wie ihr mir gerade geholfen habt!!!

  • Jo, dann bitte den Thread auf "gelößt" setzen...

    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"

  • Übrigens kann man die Befehlsnamen auch ganz gut ins Deutsche übersetzen. Also was könnte ExitLoop heißen? Vielleicht "raus aus der Schleife"???