Sign in to follow this  
Followers 0

AutoIt Login Form without MySQL

10 posts in this topic

Posted (edited)

Dear AutoIt users,

I've read the forum rules and I didn't find any topic like this...Sorry

Three days ago I've started a project in AutoIt to open account informations based on what user is and what he want to do. If you didn't understand, no problem, this is important:

I have a lot of troubles with MySQL and I was asking for some help. I tried everything...I know this script is wrong but take a look:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Multiple GUI Managing", 215, 78, 192, 124)
$Button1 = GUICtrlCreateButton("Button", 24, 8, 137, 65, $WS_GROUP)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button1
            GUISetState(@SW_DISABLE, $Form1)
            SetGUI2()
            GUISetState(@SW_ENABLE, $Form1) 
     EndSwitch
WEnd

Func SetGUI2()
   $Form2 = GUICreate("Child window is still here", 377, 212, 192, 124)
   $Username = GUICtrlCreateInput("Username", 64, 72, 209, 21)
   $Password = GUICtrlCreateInput("Password", 64, 104, 209, 21)
   $Button2 = GUICtrlCreateButton("Button", 136, 136, 73, 33, $WS_GROUP)
   GUISetState(@SW_SHOW)

   While 1
      $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button2
            GUIDelete($Form1)
            $ReadingUsername = GUICtrlRead($Username)
            $ReadingPassword = GUICtrlRead($Password)
            If $ReadingUsername = "user1" and $ReadingPassword = "password1" or $ReadingUsername = "user2" And $ReadingPassword = "password2" Then
               MsgBox(0,"TEST!", "Login test has been passed!")
            Else
               MsgBox(0,"TEST!", "Login test has not been passed!")
            EndIf
    EndSwitch
WEnd
EndFunc

Please help me fast,

-Armand ;)

Edited by ArmandCool

Share this post


Link to post
Share on other sites



Posted (edited)

Is this what you're after?

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Multiple GUI Managing", 215, 78, 192, 124)
$Button1 = GUICtrlCreateButton("Button", 24, 8, 137, 65, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button1
            GUISetState(@SW_DISABLE, $Form1)
            SetGUI2()
            GUISetState(@SW_ENABLE, $Form1)
     EndSwitch
WEnd
Func SetGUI2()
   $Form2 = GUICreate("Child window is still here", 377, 212, 192, 124)
   $Username = GUICtrlCreateInput("Username", 64, 72, 209, 21)
   $Password = GUICtrlCreateInput("Password", 64, 104, 209, 21)
   $Button2 = GUICtrlCreateButton("Button", 136, 136, 73, 33, $WS_GROUP)
   GUISetState(@SW_SHOW)
   While 1
      $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button2
            GUIDelete($Form1)
            $ReadingUsername = GUICtrlRead($Username)
            $ReadingPassword = GUICtrlRead($Password)
            If ($ReadingUsername = "user1" And $ReadingPassword = "password1") or ($ReadingUsername = "user2" And $ReadingPassword = "password2") Then
               MsgBox(0,"TEST!", "Login test has been passed!")
            Else
               MsgBox(0,"TEST!", "Login test has not been passed!")
            EndIf
    EndSwitch
WEnd
EndFunc

EDIT:

$ReadingUsername = "user1" ; accepts user1, User1, uSeR1 ... case insensitive

$ReadingUsername == "user1" ; only accepts exactly user1. case sensitive

Edited by footswitch

Share this post


Link to post
Share on other sites

Posted

It's the same script as I published in the topic...

Share this post


Link to post
Share on other sites

Posted

The difference being that mine compiles and works.

Share this post


Link to post
Share on other sites

Posted (edited)

I'm still getting the else function of the If...I mean I'm getting the Login test has not been passed! error in both accounts even if I compile the script... So, is there another way?

P.S.: I run Win XP x32 if it's important...

Edited by ArmandCool

Share this post


Link to post
Share on other sites

Posted

If I use footswitch's script and enter user1 and password1, or user2 and password2, I get login passed.

Share this post


Link to post
Share on other sites

Posted (edited)

Use brackets in your if/then expression:

If ($ReadingUsername = "user1" and $ReadingPassword == "password1") or ($ReadingUsername = "user2" And $ReadingPassword == "password2") Then

Edit: ops, footswitch already provided same solution.

Br,

UEZ

Edited by UEZ

Share this post


Link to post
Share on other sites

Posted

My mistake, thank you guys, thank you a lot.

Share this post


Link to post
Share on other sites

Posted

Sure thing ;)

Share this post


Link to post
Share on other sites

Posted (edited)

;) Edited by spudw2k

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0