Problema con InputBox If/Else

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Alepaff
Posts: 28
Joined: 17 Feb 2016, 21:03

Problema con InputBox If/Else

17 Feb 2016, 21:44

Hola
Este esta es mi primera vez aqui, tengo un problema con un script. Funciona así
Cuando el usuario teclea Tecla Windows + S . Se abrirá un InputBox en el cual el usuario deberá escribir una palabra y así abrirá una carpeta. El problema es que cuando escribo la palabra me abre la carpeta pero tambien me dice que no es una palabra reconocida. Se que no me explique muy bien pero cuando vean el script entenderán...

Code: Select all


#s::
InputBox, Primero, Caja de comandos, Ingrese un comando, 300, 400
If ErrorLevel = 1	            ; 1 = Cancelar
Reload


If Primero = Ir
{
	InputBox, Usuario, Caja de comandos, Ingrese un comando, 300, 400
	If ErrorLevel = 1	; 1 = Cancelar
	Reload


	If Usuario = Ale
	Run D:\Alejandro

	;Más tarde me gustaría añadir algo como esto
	; If (User = "Ale" or "Lucho"){}
	
	If Usuario = Varios
	Run D:\Alejandro\Varios

	/*
	Tambien intenté...
 
	If
	If else
	If else
	Else
 
	Peor no funcionó
	*/

	If Usuario = AHK
	Run D:\Alejandro\Varios\Autohotkey

	If Usuario = Programas
	Run D:\Alejandro\Programas

	Else
	Msgbox %Usuario% nno es una direccion reconocida
	Return
}

Else
Msgbox %Primero% no es un comando reconocido

Escape::
Reload

#x::
ExitApp

Estaría muy agradecido si alguien me ayudase, Gracias de todos modos!
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Problema con InputBox If/Else

18 Feb 2016, 11:36

Hola,
Así debería de funcionar bien, lo he reescrito para una mejor lectura.

Code: Select all

 #s::
InputBox, UserOut, Caja de comandos, Ingrese un comando,, 300, 400
If (ErrorLevel)
	Reload

If (UserOut = "Ir") {
	InputBox, UserCmd, Caja de comandos, Ingrese un comando,, 300, 400
	If (ErrorLevel)
		Reload
 
	if (UserCmd = "Ale") || (UserCmd = "Lucho")
		Run, D:\Alejandro

	else If (UserCmd = "Varios") || (UserCmd = "Programas")
		Run, % "D:\Alejandro\" UserCmd
 
	else If (UserCmd = "AHK")
		Run, D:\Alejandro\Varios\Autohotkey

	else Msgbox, % Trim(UserCmd) A_Space "no es una direccion reconocida."
} else Msgbox, % Trim(UserOut) A_Space "no es un comando reconocido."
return
 
~Esc::Reload
#x::ExitApp
El "else" debe de estar en el segundo "if" y no en el último.
Alepaff
Posts: 28
Joined: 17 Feb 2016, 21:03

Re: Problema con InputBox If/Else

18 Feb 2016, 17:32

Funcionó :superhappy:
Muchas gracias, me ayudaste mucho!!
Pero, ¿el problema era que yo no habia puesto los parentesis y las comillas?
If (UserCmd = "Ale") ?
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Problema con InputBox If/Else

18 Feb 2016, 18:39

No, estabas haciendo mal uso de "else if".
El uso de paréntesis y comillas no es necesario.

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 42 guests