Página 1 de 1

Reemplazar el valor de una variable.

Publicado: 07 Ago 2011, 08:53
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...

Re: Reemplazar el valor de una variable.

Publicado: 07 Ago 2011, 09:17
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.

Re: Reemplazar el valor de una variable.

Publicado: 07 Ago 2011, 10:51
por Haseo
Si, perdona. Es que lo hice rápido porque estoy muerto de sueño xD

Gracias por el dato, funciona perfectamente.