muchas variables?

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
alexis
Aprendiz de Mago
Mensajes: 32
Registrado: 31 Jul 2015, 22:57

muchas variables?

Mensaje por alexis »

holas, buenas tardes a todos.
soy nuevo en el foro, entré hoy, y vengo solicitando su inestimable ayuda :)

yo estoy haciendo un programita, y uso muchas variables.
este archivo, tiene dos botones, que van a una parte a, y a una parte b.

lo que me sucede, es que cuando va a la parte a, funciona bien, pero cuando va con el segundo botón a la parte ve, los datos que pido con los imput que guardo en variables se guardan bien, pero después cuando quiero realizar una suma, con los datos que pedí, pongo una variable, para guardar el resultado de la suma, después la suma en sí utilizando las variables de los imputs, como hice en la parte a, y en esa línea me dice que la variable no ha sido declarada, y faltan dos líneas para que termine la ejecución.

lo que me di cuenta, es que si copio la parte b individualmente sí funciona, pero junto a la primera parte no.

desde ya muchas gracias a todo el que me pueda ayudar :)

saludos.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: muchas variables?

Mensaje por Dany »

Muestra el código para ver mejor lo que sucede.

Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
alexis
Aprendiz de Mago
Mensajes: 32
Registrado: 31 Jul 2015, 22:57

Re: muchas variables?

Mensaje por alexis »

el código es este:


Opt("GUIOnEventMode", 1)


$mainwindow=GUICreate("Calculadora de estadio ", 200, 100)

GUICtrlCreateLabel("Elige lo que deseas hacer:", 30, 10)

$calcularlugares= GUICtrlCreateButton("Calcular la cantidad de lugares", 40, 30, 50)
GUICtrlSetOnEvent($calcularlugares, "calcularlugares")

$salirprograma= GUICtrlCreateButton("Salir del programa", 70, 50, 60)
GUICtrlSetOnEvent($salirprograma, "salirprograma")


While 1

WEnd


Func calcularlugares()

$jenerales=InputBox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de jenerales", "")
$preferentes=inputbox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de preferentes", "")
$tribunas=inputbox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de tribunas", "")
$palcos=inputbox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de palcos", "")

$entradas1=$jenerales*30
$entradas2=$preferentes*70
$entradas3=$tribunas*100
$entradas4=$palcos*300

$entradastotales=$entradas1+$entradas2+$entradas3+$entradas4

msgbox(0, "El valor total es:", $entradastotales & " pesos")

EndFunc


Func salirprograma()
exit
EndFunc


y esta es la segunda parte, la que no puedo hacer que funcione si la llamo e intento realizar la suma del final si está junto al código de arriba.

func lugares()

GUICtrlCreateLabel("ingresa la cantidad de lugares en la zona de jenerales:", 30, 10)
$jenerales1=GUICtrlCreateInput("", 10, 35, 300, 20)

GUICtrlCreateLabel("ingresa la cantidad de lugares en la zona de tribunas:", 30, 10)
$preferentes1=GUICtrlCreateInput("", 10, 35, 300, 20)

$entradas123= GUICtrlCreateButton("Obtener el valor total", 40, 30, 50)
GUICtrlSetOnEvent($entradas123, "valortotal")
EndFunc


Func valortotal()

$entradascompletas=$jenerales1+$preferentes1

msgbox(0, "El valor total es:", $entradascompletas & " pesos")
EndFunc
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: muchas variables?

Mensaje por Dany »

Es porque no declaras las variables. debes declararlas como globales si las vas a usar en otra funcion. Trata de ordenar mas el codigo. ahi te dejo un poco arreglado.

Código: Seleccionar todo

Opt("GUIOnEventMode", 1)

Global $jenerales1, $preferentes1
Global $mainwindow = GUICreate("Calculadora de estadio ", 200, 100)

GUICtrlCreateLabel("Elige lo que deseas hacer:", 30, 10)

Global $calcularlugares = GUICtrlCreateButton("Calcular la cantidad de lugares", 40, 30, 50)
GUICtrlSetOnEvent($calcularlugares, "calcularlugares")

Global $salirprograma = GUICtrlCreateButton("Salir del programa", 70, 50, 60)
GUICtrlSetOnEvent($salirprograma, "salirprograma")
GUISetOnEvent(-3, "Salir")

GUISetState(@SW_SHOW, $mainwindow)

While 1

WEnd

Func Salir()
	Exit
EndFunc   ;==>Salir

Func calcularlugares()

	local $jenerales = InputBox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de jenerales", "")
	local $preferentes = InputBox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de preferentes", "")
	local $tribunas = InputBox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de tribunas", "")
	local $palcos = InputBox("Calculadora de estadio", "Ingresa la cantidad de lugares en la zona de palcos", "")

	local $entradas1 = $jenerales * 30
	local $entradas2 = $preferentes * 70
	local $entradas3 = $tribunas * 100
	local $entradas4 = $palcos * 300

	local $entradastotales = $entradas1 + $entradas2 + $entradas3 + $entradas4

	MsgBox(0, "El valor total es:", $entradastotales & " pesos")

EndFunc   ;==>calcularlugares


Func salirprograma()
	Exit
EndFunc   ;==>salirprograma



Func lugares()

	GUICtrlCreateLabel("ingresa la cantidad de lugares en la zona de jenerales:", 30, 10)
	local $jenerales1 = GUICtrlCreateInput("", 10, 35, 300, 20)

	GUICtrlCreateLabel("ingresa la cantidad de lugares en la zona de tribunas:", 30, 10)
	local $preferentes1 = GUICtrlCreateInput("", 10, 35, 300, 20)

	local $entradas123 = GUICtrlCreateButton("Obtener el valor total", 40, 30, 50)
	GUICtrlSetOnEvent($entradas123, "valortotal")
EndFunc   ;==>lugares


Func valortotal()

	$entradascompletas = $jenerales1 + $preferentes1

	MsgBox(0, "El valor total es:", $entradascompletas & " pesos")
EndFunc   ;==>valortotal
Saludos
  • ............................................Imagen
    ......................................Imagen
alexis
Aprendiz de Mago
Mensajes: 32
Registrado: 31 Jul 2015, 22:57

Re: muchas variables?

Mensaje por alexis »

estupendo, se solucionó el problema.

pero hay un detalle...
copié el código que me diste, pero cuando quiero ir a la segunda parte y realizar la suma, en el mensaje me aparece 0 pesos. y me parece raro que no tome los números que pongo en los cuadritos.

desde ya muchas gracias,

saludos.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: muchas variables?

Mensaje por Dany »

Pues tienes que llamar la función lugares()

mejora la estructura del programa y veras que se te hace mas fácil.

Saludos
  • ............................................Imagen
    ......................................Imagen
Responder