Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando
-- Tutorial de iniciación a Autoit --
Volver al índice del tutorial
____________________________
9.- Koda. Inserción de controles. Área del triángulo.
triangulo.exe
- Mediante Koda podemos poner casilleros, etiquetas, botones, imágenes, opciones, deslizadores,... en la ventana llamada Formulario.
- Bajamos Koda de...http://koda.darkhost.ru/page.php?id=download
__________________________
- Ejecutamos Koda.
- Cada vez que vayas a crear un nuevo Formulario con Koda, pulsa en el icono de Form.
- Pulsamos sobre Label (Etiqueta) y la ponemos sobre el Formulario Form1.
- En la parte izquierda aparecen sus Propiedades:
- En Caption escribimos: Área del triángulo.
- En Font / Size le ponemos tamaño: 20
- Esta etiqueta se llama Label1, no confundir el Name de la etiqueta con el Caption.
- Sacamos tres etiquetas (Label) más, dos casilleros (Input) y un botón (Button) y los ponemos de esta manera:
- Recuerda que el texto de la Etiqueta se pone en el Caption.
- Debe quedar así.
- A la Label4 no es necesario que le pongas Caption.
- Lo guardamos File / Save as...
- Para ver cómo va quedando pulsa Tool / Run Form
- Vamos al SciTE, creamos un nuevo archivo.
- Volvemos al Koda. Tools / Generate Form Code...
- Obtenemos el código de situación de los elementos, lo pegamos en el editor SciTe para crear una nueva aplicación que se llamará: triangulo.
- Borramos la parte del While 1 ............. WEnd, como indico en la imagen superior.
- Creamos el algoritmo del cálculo del triángulo:
- Área del triángulo = base por altura dividido entre 2.
Código
Área del triángulo |
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
; Cuando presiona el botón realiza el cálculo.
Case $msg = $Button1 ; Indicamos que el cálculo se realizará cuando pulsemos el Botón1
$base = GUICtrlRead($Input1) ; Toma el valor que escribamos en el Input1 y lo asigna a la $base
$altura = GUICtrlRead($Input2) ; Toma el valor que escribamos en el Input2 y lo asigna a la $altura
$area = ($base * $altura) / 2 ; Realiza el $area
GUICtrlSetData($Label4,$area) ; El $area lo escribirá en la Label4
EndSelect
Wend
Exit
|
- La parte azul de arriba y abajo la insertaremos también.
Código completo: Formulario + código
triangulo.au3 |
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 431, 477, 187, 131)
$Label1 = GUICtrlCreateLabel("Área del triángulo.", 96, 16, 265, 41)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Base", 16, 96, 76, 41)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput("Input1", 160, 96, 193, 45)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Altura", 24, 184, 89, 41)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("Input2", 160, 176, 193, 45)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Pulsa para calcular", 56, 256, 321, 49)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Label4", 56, 360, 316, 41)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;;;;;;;;;;;;;;;;;;;;;;;; AQUÍ PONEMOS EL CÓDIGO ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
; Cuando presiona el botón realiza el cálculo.
Case $msg = $Button1 ; Indicamos que el cálculo se realizará cuando pulsemos el Botón1
$base = GUICtrlRead($Input1) ; Toma el valor que escribamos en el Input1 y lo asigna a la $base
$altura = GUICtrlRead($Input2) ; Toma el valor que escribamos en el Input2 y lo asigna a la $altura
$area = ($base * $altura) / 2 ; Realiza el $area
GUICtrlSetData($Label4,$area) ; El $area lo escribirá en la Label4
EndSelect
Wend
Exit
|
- Lo ejecutamos: Tools / Go.
- La convertimos en autoejecutable mediante Aut2Exe, aqui está: triangulo.exe
-------------------------------------------------------------------------------------
- Mejoras.
- Si quieres que salga con dos decimales:
$area = Round($area, 2)
- floor es un redondeo al menor entero. floor(4.76) = 4 floor(-4.29) = -5
- Los lenguajes de programación realizan las funciones seno, coseno, tangente, arcoseno, arcocoseno y arcotangente en radianes, a veces necesitamos trabajar con grados y debemos hacer estas conversiones:
[AutoIt tiene funciones para realizar estas conversiones con facilidad].
- g = (r * 360) / (2 * PI) = 57.29578 * r
- r = (g * 2 * PI) / 360 = 0.0174532 * g
_________________________________
- Comentarios.
- Prueba también Builder para crear el Formulario.
https://www.autoitscript.com/forum/topic/146283-form-builder-beta/
|