Reemplazar el valor de una variable.

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Haseo
Mensajes: 15
Registrado: 07 Ago 2011, 08:45

Reemplazar el valor de una variable.

Mensaje por Haseo »

Pues como dice el titulo, quiero reemplazar el valor de una variable.

O sea, para explicarme mejor dejo un ejemplo:

Código: Seleccionar todo

#Include <File.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>

#region
$IndexForm = GUICreate("Prueba", 597, 417, 192, 117)
$OutputDirectory = GUICtrlCreateInput("", 40, 104, 297, 21)
$ButtBrowse = GUICtrlCreateButton("Examinar", 344, 104, 57, 21)
#endregion

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $ButtBrowse
			$savedir = FileSelectFolder("Elige carpeta de salida.", "")
			$OutputDirectory = GUICtrlCreateInput($savedir, 40, 104, 297, 21)

	EndSwitch
WEnd
Eso me funciona, es decir, al seleccionar la carpeta de destino, me aparece bien en el Input, pero hasta donde llego a conocer, es una variable diferente a la anterior, aun teniendo el mismo nombre. Vereis, necesito que deje de verse el input al cambiar de Tab, porque he hecho una form con pestañas, y si lo pongo de esa forma, el input se ve en todas las pestañas porque al no reemplazar el valor de la variable anterior $outputdirectory, la nueva está fuera del menu de pestañas. Y mira que le he dado vueltas al help de autoit, pero nada...
Avatar de Usuario
ms999
Hacker del Foro
Mensajes: 116
Registrado: 26 Ene 2011, 06:13

Re: Reemplazar el valor de una variable.

Mensaje por ms999 »

Lo que necesitas es poner el valor(la cadena de caracteres devuelta por la funcion FileSelectFolder()) en la Input que ya creaste. usando la funcion GuiCtrlSetData()
Aca te edite tu script.

Código: Seleccionar todo

    #Include <File.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

    #region
    $IndexForm = GUICreate("Prueba", 597, 417, 192, 117)
    $OutputDirectory = GUICtrlCreateInput("", 40, 104, 297, 21)
    $ButtBrowse = GUICtrlCreateButton("Examinar", 344, 104, 57, 21)
    #endregion
	Guisetstate()
    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
          Case $ButtBrowse
             $savedir = FileSelectFolder("Elige carpeta de salida.", "")
             GuiCtrlSetData($OutputDirectory, $savedir)

       EndSwitch
    WEnd
EDIT: tambien prueba los scripts que subes aqui de ejemplo que corran bien. le tube que agregar la line GuiSetState() yo mismo. y bienvenido de preguntar lo que quieras.
Haseo
Mensajes: 15
Registrado: 07 Ago 2011, 08:45

Re: Reemplazar el valor de una variable.

Mensaje por Haseo »

Si, perdona. Es que lo hice rápido porque estoy muerto de sueño xD

Gracias por el dato, funciona perfectamente.
Responder