Jump to content

Recommended Posts

Posted

Here is my code:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
 
HotKeySet("#{F4}", "_exit") ; Win + F4 to exit
 
 
GUICreate("", 300, 300)
 
GUISetState(@SW_SHOW)
 
While 1
        $msg = GUIGetMsg()
 
WEnd
 
Func _exit()
Do
$Pass = InputBox ("Password", "Please enter your password", "", "*M")
WinSetOnTop($Pass,'', 1)
$Split = StringSplit ($Pass, "")
If $Split[0] Then
$ConfirmPass = "secret"
If $Pass <> $ConfirmPass Then MsgBox (48, "Error", "Passwords do not match!!")
EndIf
Until $Pass = $ConfirmPass
If $ConfirmPass Then
SplashTextOn( "Closing", "Closing without sending email", 300, 50)
Sleep(3000)
Exit
EndIf
EndFunc ;==> _exit

 

The gui opens fine however when I go to close the gui (#+F4) and press the cancel button, on the inputbox, it gives me the following error:

C:UsersAdminDesktopTest.au3 (25) : ==> Variable used without being declared.:

Until $Pass = $ConfirmPass

Until $Pass = ^ Error

What am I doing wrong? I have some screenshots if they will help. Thanks in advance.

Thanks

Grimm

  • Moderators
Posted

grimmlock,

And why are you surprised? You only ever define the $ConfirmPass variable inside the If $Split[0] Then loop - if you press "Cancel" then you do not enter that loop and so the variable in undeclared. ;)

Just add Local $ConfirmPass as you enter the function and it will not error. :)

I would also suggest deleting the WinOnTop line. An InputBox is blocking and so the script does not proceed until you close it - at which point the WinOnTop command makes no sense. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

  • Moderators
Posted

grimmlock,

My pleasure. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

  • 2 weeks later...
  • Moderators
Posted

grimmlock,

I believe the InputBox is produced by an API call (like MsgBox) and so you cannot do much with it beyond the parameters listed in the Help file. Of course you could always write your own dialog - then you can customise it as much as you want. Look at my ExtMsgBox UDF for some ideas of how you might go about it. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

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
×
×
  • Create New...