BrettF Posted October 10, 2007 Share Posted October 10, 2007 Problem: Ok, I'm creating a simple Username/Password input box, and I cannot for my life work out why the GUI is default height! I added error checking in my script, yet it still doesn't work... what am I missing. Please help. Code: expandcollapse popup$ret = _LoginBox("Enter Credentials", "Please enter you username and password", "user", "pass", -1, -1, -1, -1, 2000) MsgBox(0, "Returned", "Returned: " & $ret & @CRLF & "Error Code: " & @error & @CRLF & "Extended: " & @extended) If Not $ret = 1 Then MsgBox(0, "Credentails Returned", "Username: " & $ret[0] & @CRLF & "Password: " & $ret[1]) EndIf ;=============================================================================== ; ; Function Name: _LoginBox ; Description:: Create a basic login box with Username, Password, and a prompt. ; Parameter(s): Title - [Required] ; - The title of the Form ; Prompt - [Required] ; - The prompt for the user ; uDefault - [Optional] - Default Value = "" ; - The default vaue for the Username Input ; pDefault - [Optional] - Default Value = "" ; - The default vaue for the Password Input ; Width - [Optional] - Default Value = 250 ; - The width of the Login Box ; Height - [Optional] - Default Value = 130 ; - The height of the Login Box ; Left - [Optional] - Default Value = Auto Center Screen ; - The positioning (Left) of the Login Box ; Top - [Optional] - Default Value = Auto Center Screen ; - The positioning (Top) of the Login Box ; Timeout - [Optional] - Default Value = -1 (No Timeout) ; - The timeout of the Login Box ; Requirement(s): none ; Return Value(s): Success: ; - Sets @error to 1 ; - Returns a 1D array with the following ; - [0] = Username ; - [1] = Password ; Failure ; - Sets @error to 0 ; - Sets @extended to: ; - 1 - The Cancel or Exit Button was Pressed ; - 2 - The Login Box Timed Out. ; Author(s): Brett Francis (exodus.is.me@hotmail.com) ; Note(s): none ; ;=============================================================================== Func _LoginBox($title, $prompt, $uDefault = "", $pDefault = "", $width = 250, $height = 130, $left = 0, $top = 0, $timeout = -1) #include <GUIConstants.au3> Select Case $uDefault = -1 $uDefault = "" Case $pDefault = -1 $pDefault = "" Case $width = -1 $width = 250 Case $height = -1 $height = 130 Case $left = -1 $left = (@DesktopWidth / 2) - ($width / 2) Case $top = -1 $top = (@DesktopHeight / 2) - ($height / 2) EndSelect Local $retarr[2] $gui = GUICreate($title, $width, $height, $left, $top) $username = GUICtrlCreateInput($uDefault, 72, 42, 173, 21) $password = GUICtrlCreateInput($pDefault, 72, 70, 173, 21, $ES_PASSWORD) $okbtn = GUICtrlCreateButton("&OK", 90, 96, 75, 25, 0) $cancelbtn = GUICtrlCreateButton("&Cancel", 171, 96, 75, 25, 0) $Label1 = GUICtrlCreateLabel("Password:", 4, 72, 62, 17) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") $Label1 = GUICtrlCreateLabel("Username:", 4, 44, 64, 17) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") $Label2 = GUICtrlCreateLabel($prompt, 4, 4, 201, 17) GUISetState(@SW_SHOW) $time = TimerInit() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE $case = 0 ExitLoop Case $msg = $okbtn $case = 1 ExitLoop Case $msg = $cancelbtn $case = 0 ExitLoop Case TimerDiff($time) > $timeout And $timeout <> -1 $case = 2 ExitLoop EndSelect WEnd If $case = 0 Then;Cancel/Exit Button Pressed GUIDelete($gui) Return SetError(0, 1) ElseIf $case = 2 Then;Timed Out GUIDelete($gui) Return SetError(0, 2) ElseIf $case = 1 Then;Ok Pressed SetError(1) $retarr[0] = GUICtrlRead($username) $retarr[1] = GUICtrlRead($password) GUIDelete($gui) Return $retarr EndIf EndFunc ;==>_LoginBox Thankyou. Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
smashly Posted October 10, 2007 Share Posted October 10, 2007 (edited) Your select case is the problem... Atm your case gets to the first true case then it ends and your function continues on it's way... Add ContinueCase to each case... eg: Select Case $uDefault = -1 $uDefault = "" ContinueCase Case $pDefault = -1 $pDefault = "" ContinueCase Case $width = -1 $width = 250 ContinueCase Case $height = -1 $height = 130 ContinueCase Case $left = -1 $left = (@DesktopWidth / 2) - ($width / 2) ContinueCase Case $top = -1 $top = (@DesktopHeight / 2) - ($height / 2) EndSelect Cheers Edited October 10, 2007 by smashly Link to comment Share on other sites More sharing options...
BrettF Posted October 10, 2007 Author Share Posted October 10, 2007 Your select case is the problem... Atm your case gets to the first true case then it ends and your function continues on it's way... Add ContinueCase to each case... eg: Select Case $uDefault = -1 $uDefault = "" ContinueCase Case $pDefault = -1 $pDefault = "" ContinueCase Case $width = -1 $width = 250 ContinueCase Case $height = -1 $height = 130 ContinueCase Case $left = -1 $left = (@DesktopWidth / 2) - ($width / 2) ContinueCase Case $top = -1 $top = (@DesktopHeight / 2) - ($height / 2) EndSelect Cheers *Hits head in idiotcy...* THANKYOU! Argh! So simple... meh. Knew it was 2cm in front of my face! Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now