Jump to content

Switch Case Help


Go to solution Solved by Jos,

Recommended Posts

Why is this code not working the way its supposed to???

Where am I going wrong???

Plz Help

#include <Constants.au3>
#include <GuiToolbar.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3> 
#include <String.au3>
#include <Misc.au3>
      
      #Region ### START Koda GUI section ### Form=
      $FirstRun = GUICreate("Dialog", 306, 226, 346, 262, BitOR($WS_SYSMENU,$WS_POPUP))
      GUICtrlCreateGroup("", 8, 1, 289, 185)
      GUICtrlCreateLabel("Welcome User,", 24, 16, 77, 17)
      GUICtrlCreateLabel("Kindly enter a password", 24, 72, 219, 17)
      $FirstRunPass1 = GUICtrlCreateInput("", 32, 96, 241, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_PASSWORD))
      $FirstRunPass2 = GUICtrlCreateInput("", 32, 152, 241, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_PASSWORD))
      GUICtrlCreateLabel("Re-enter the same password again", 24, 128, 168, 17)
      GUICtrlCreateGroup("", -99, -99, 1, 1)
      $OK = GUICtrlCreateButton("&OK", 65, 195, 75, 25)
      $Cancel = GUICtrlCreateButton("&Cancel", 162, 195, 75, 25)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###

      
   While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
            Case $GUI_EVENT_CLOSE, $Cancel
               Exit
            Case $OK, _IsPressed("0D")
               
               $FirstRunPass1Value = GUICtrlRead($FirstRunPass1)
               $FirstRunPass2Value = GUICtrlRead($FirstRunPass2)
               $Match = StringCompare($FirstRunPass1Value, $FirstRunPass2Value,1)
               If $Match = 0 Then
                  MsgBox(64, "Done", "Passwords match successfully.")
                  ;;Do Something
                  Exit
               Else
                  MsgBox(16, "Error", "Passwords don't match. Please enter again")
               EndIf
       EndSwitch
   WEnd
Link to comment
Share on other sites

  • Developers

Why is this code not working the way its supposed to???

Where am I going wrong???

Plz Help

 

Care to share what the code is supposed to do that isn't working or are you expecting us to just understand? ;)

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Developers
  • Solution

What?

When you launch this code, it terminates saying Passwords don't match successfully

while what I want is that it should wait until I press OK or Enter("_IsPressed("0D")")

Not sure why you first ask what I want and then still supply the answer to the question...

Get rid of the _IsPressed() on the case statement and set the OK button as default so when you press Enter you also fire the Ok button.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

But this works perfectly fine

#include <Constants.au3>
#include <GuiToolbar.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3> 
#include <String.au3>
#include <Misc.au3>
      
      #Region ### START Koda GUI section ### Form=
      $FirstRun = GUICreate("Dialog", 306, 226, 346, 262, BitOR($WS_SYSMENU,$WS_POPUP))
      GUICtrlCreateGroup("", 8, 1, 289, 185)
      GUICtrlCreateLabel("Welcome User,", 24, 16, 77, 17)
      GUICtrlCreateLabel("Kindly enter a password", 24, 72, 219, 17)
      $FirstRunPass1 = GUICtrlCreateInput("", 32, 96, 241, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_PASSWORD))
      $FirstRunPass2 = GUICtrlCreateInput("", 32, 152, 241, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_PASSWORD))
      GUICtrlCreateLabel("Re-enter the same password again", 24, 128, 168, 17)
      GUICtrlCreateGroup("", -99, -99, 1, 1)
      $OK = GUICtrlCreateButton("&OK", 65, 195, 75, 25)
      $Cancel = GUICtrlCreateButton("&Cancel", 162, 195, 75, 25)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###
      
While 1
$nMsg = GUIGetMsg()
       Select
            Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $Cancel
               Exit
            Case $nMsg = $OK Or _IsPressed("0D")
               
               $FirstRunPass1Value = GUICtrlRead($FirstRunPass1)
               $FirstRunPass2Value = GUICtrlRead($FirstRunPass2)
               $Match = StringCompare($FirstRunPass1Value, $FirstRunPass2Value,1)
               If $Match = 0 Then
                  MsgBox(64, "Done", "Passwords match successfully.")
                  ;;Do Something
                  Exit
               Else
                  MsgBox(16, "Error", "Passwords don't match. Please enter again")
               EndIf
       EndSelect
The reason I am switching from select case to switch case for all GUIs is that I am trying to handle multiple GUIs...so I cannot use switch somewhere and somewhere select...so I have to make this work out using switch
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...