Necesito ayuda!!!

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
bob
Mensajes: 3
Registrado: 16 Jun 2011, 19:18

Necesito ayuda!!!

Mensaje por bob »

Necesito que al clikear en un $Button de una ventana en el que ponga "volver al menu" la orden me abra un "if $caso..." que haya escrito anteriormente.
en resumen, necesito un código que haga que el programa vuelava a una acción anterior. Por ejemplo:

Código: Seleccionar todo

If $caso=1 Then ;menu
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\users\usuario\desktop\forms\form3.kxf
$Form3 = GUICreate("Menu", 292, 261, 192, 124)
$Button1 = GUICtrlCreateButton("Siguiente", 24, 48, 227, 25)

While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENt_CLOSE
			Exit
		Case $msg = $Button1
				$caso=2
				GUIDelete();    
				ExitLoop

	EndSelect
WEnd
EndIf

If $caso=2 Then ;ventana2
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\users\usuario\desktop\forms\form3.kxf
$Form3 = GUICreate("Ventana2", 292, 261, 192, 124)
$Button1 = GUICtrlCreateButton("Volver al menu", 24, 48, 227, 25)

While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $Button1
				$caso=1
				GUIDelete();    
				ExitLoop

	EndSelect
WEnd
EndIf
Aqui esta el problema, que no puee volver hacia arriba.
Última edición por XPyro el 18 Jun 2011, 03:56, editado 3 veces en total.
Razón: Falta de etiquetas [code]
Avatar de Usuario
ms999
Hacker del Foro
Mensajes: 116
Registrado: 26 Ene 2011, 06:13

Re: Necesito ayuda!!!

Mensaje por ms999 »

no entiendo bien a que te referis.. si posteas algun codigo con un ejemplo de lo que queres hacer me fijo
Avatar de Usuario
ms999
Hacker del Foro
Mensajes: 116
Registrado: 26 Ene 2011, 06:13

Re: Necesito ayuda!!!

Mensaje por ms999 »

Aca te dejo tu script algo editado funcionando con algunos comentarios explicativos y sugerencias, fijate si esto te sirve.

Código: Seleccionar todo

;~     If $caso=1 Then  ;	Esto no va :S primero porque caso no esta definido,
;	Segundo porque es inutil condicionar algo que no tiene eleccion :s
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $caso = 1, $Form1, $Button1 	; declaro $caso y Las variables que conteneran...
									; ...los handles de la GUI y el boton
_CreateGUI($caso)
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENt_CLOSE
			Exit
		Case $msg = $Button1
			If $caso = 1 Then ; Esto que queres hacer se puede hacer de la siguiente manera
				$caso = 2 ; otra manera llamando una funcion, que cree una ventana nueva
			Else ; La Funcion tendra un parametro para saber si la ventana
				$caso = 1 ; que se va a crear es la numero 1 o la numero 2
			EndIf
			GUIDelete()
			_CreateGUI($caso)
	EndSelect
WEnd
;~     EndIf			;	Ahi mas arriba te lo explique
Func _CreateGUI($iCaso) ; esta es la declaracion de la funcion
	Select
		Case $iCaso = 1
			Local $TituloGUI = "Menu"
			Local $TituloBoton = "Siguiente"
		Case $iCaso = 2
			Local $TituloGUI = "Ventana2"
			Local $TituloBoton = "Volver al menu"
	EndSelect
	$Form1 = GUICreate($TituloGUI, 292, 261, 192, 124) ; Cambie el nombre de la variable Form3 -> Form1 tiene mas sentido
	$Button1 = GUICtrlCreateButton($TituloBoton, 24, 48, 227, 25)
	GUISetState(@SW_SHOW, $Form1) ;	Si no pones esto nunca vas a ver la ventana
EndFunc   ;==>_CreateGUI

;	Otras aclaraciones:
;	1 -> No es necesario volver a incluir las UDFs, estas contienen declaraciones
;	De Funciones y constantes que con una sola vez declaradas ya bastan
;	para funcionar todas las veces que sean llamadas dentro del script
;	2 -> No siempre se necesitan 2 loops o bucles, esto es cuestion de ingenio
;	de cada programador... En si este ingenio es el que te permite avanzar en un script
;	3 -> Pregunta cuando tengas alguna duda.
bob
Mensajes: 3
Registrado: 16 Jun 2011, 19:18

Re: Necesito ayuda!!!

Mensaje por bob »

Muchisimas gracias :smt043 , funciona todo correctamente. Te devo una.
Responder