AutoIt / ɔː t oʊ ɪ t / [3] es un lenguaje de programación gratuito para Microsoft Windows . En su primera versión, su principal objetivo era crear scripts de automatización (a veces llamados macros ) para programas de Microsoft Windows [4], pero desde entonces ha crecido para incluir mejoras tanto en el diseño del lenguaje de programación como en la funcionalidad general.
El lenguaje de programación de AutoIt 1 y 2 estaba basado en instrucciones y diseñado principalmente para simular la interacción del usuario. A partir de la versión 3, la sintaxis de AutoIt es similar a la que se encuentra en la familia de lenguajes BASIC . En esta forma, AutoIt es un lenguaje de programación de tercera generación de propósito general con un modelo de datos clásico y un tipo de datos variante que puede almacenar varios tipos de datos, incluidas las matrices.
Un script de automatización de AutoIt se puede convertir en un ejecutable comprimido e independiente que se puede ejecutar en computadoras incluso si no tienen instalado el intérprete de AutoIt. También se incluye una amplia gama de bibliotecas de funciones (conocidas como UDF o "Funciones definidas por el usuario") [5] como estándar o están disponibles en el sitio web para agregar funcionalidad especializada. AutoIt también se distribuye con un IDE basado en el editor gratuito SciTE . El compilador y el texto de ayuda están completamente integrados y brindan un entorno estándar de facto para los desarrolladores que usan AutoIt.
AutoIt1 y AutoIt2 eran proyectos de código cerrado y tenían una sintaxis muy diferente a la de AutoIt3, cuya sintaxis se parece más a VBScript y BASIC. [9]
AutoIt3 fue inicialmente gratuito y de código abierto , licenciado bajo los términos de la Licencia Pública General de GNU , [10] [11] con su lanzamiento público inicial 3.0.100 en febrero de 2004, [12] y tuvo lanzamientos de código abierto en marzo de 2004 y agosto de 2004. La versión 3.0.102, lanzada en agosto de 2004, fue inicialmente de código abierto, pero en enero de 2005 se distribuyó como de código cerrado. [13] Los lanzamientos posteriores, a partir del lanzamiento de la versión 3.1.0 en febrero de 2005, fueron todos de código cerrado. La versión 3.1.0 también fue el primer lanzamiento con soporte para scripts de GUI.
El proyecto gratuito y de código abierto AutoHotkey derivó 29 de sus funciones del código fuente de AutoIt 3.1. [14] La sintaxis de AutoHotkey es bastante diferente de la sintaxis de AutoIt3 y se parece bastante a la sintaxis de AutoIt2.
AutoIt se utiliza normalmente para producir software de utilidad para Microsoft Windows y para automatizar tareas rutinarias, como la gestión de sistemas, la supervisión, el mantenimiento o la instalación de software. También se utiliza para simular la interacción del usuario, mediante la cual una aplicación es "controlada" (mediante la entrada automatizada de formularios, pulsaciones de teclas, clics del ratón, etc.) para realizar tareas mediante un script de AutoIt.
AutoIt también se puede utilizar en la automatización de laboratorios de bajo coste . Las aplicaciones incluyen la sincronización de instrumentos, el control de alarmas y la recopilación de resultados. También se pueden controlar dispositivos como fresadoras CNC e impresoras 3D. [15]
; Poner a disposición una biblioteca de valores constantes. #include < MsgBoxConstants . au3 >; Muestra "¡Hola, mundo!" en un cuadro de mensaje. MsgBox ( $MB_SYSTEMMODAL , "Título" , "¡Hola, mundo!" )
; Poner a disposición una biblioteca de valores constantes. #include < MsgBoxConstants . au3 >; Muestra un cuadro de mensaje con un tiempo de espera de 6 segundos. MsgBox ( $MB_OK , "Atención" , "Evite tocar el teclado o el mouse durante la automatización." , 6 ); Ejecute la Calculadora de Windows. Ejecute ( "calc.exe" ); Espere a que la calculadora se active con un tiempo de espera de 10 segundos. WinWaitActive ( "[CLASS:CalcFrame]" , "" , 10 ); Si la calculadora no aparece después de 10 segundos, salga del script. Si WinExists ( " [CLASS:CalcFrame]" ) = 0 , salga ; Escribe automáticamente el año actual en la calculadora. Enviar ( @YEAR ); Vamos a ralentizar un poco el script para que podamos ver qué está pasando. Sleep ( 600 ); Escribe automáticamente "dividir por 4" y luego duerme 600 ms. Enviar ( "/4" ) Dormir ( 600 ); Pulse la tecla de retorno para visualizar el resultado y dormir 600 ms. Enviar ( "{ENTER}" ) Dormir ( 600 ); Copiar el resultado al portapapeles usando el atajo de Windows Ctrl+C. Enviar ( "^c" ); Declara y asigna el contenido del portapapeles a una variable. $fResult = ClipGet () local ; Verifica si la variable contiene un punto decimal o no. Si StringInStr ( $fResult , "." ) Entonces ; Muestra un cuadro de mensaje con un tiempo de espera de 5 segundos. MsgBox ( $MB_OK , "Año bisiesto" , @YEAR & " no es un año bisiesto." , 5 ) De lo contrario ; Este mensaje solo se mostrará si el año actual es bisiesto. MsgBox ( $MB_OK , "Año bisiesto" , @YEAR & " es un año bisiesto." , 5 ) EndIf; Cierre la calculadora de Windows (ordene siempre después). WinClose ( "[CLASS:CalcFrame]" )
; Encontrar promedio por JohnOne, modificado por czardas #include < MsgBoxConstants . au3 >_Example () ; Ejecuta el ejemplo.Func _Example () ; Muestra un cuadro de entrada y solicita al usuario que ingrese algunos números separados por comas. $ sInput = InputBox ( "Buscar promedio" , "Ingrese algunos números separados por comas: 1,2,42,100,3" ); Si se produjo un error, salga del script. Si @error , salga ; Rellena una matriz con la entrada del usuario. Local $aSplit = StringSplit ( $sInput , "," ) ; Pase la matriz a la función _Find_Average() y luego verifique si hay errores. Local $fAverage = _Find_Average ( $aSplit ) Si @error Entonces Salir ; Muestra el resultado en un cuadro de mensaje. MsgBox ( $MB_OK , "Buscar promedio" , "Resultado: " & $fAverage ) EndFunc ;==>_ExampleFunc _Find_Average ( $aArray ) ; Si la entrada no es del tipo correcto (una matriz), entonces devuelve un error junto con los detalles. If Not IsArray ( $aArray ) Then Return SetError ( 1 , 0 , VarGetType ( $aArray )) ; Son posibles verificaciones más detalladas, pero para abreviar solo se realiza una aquí. ; Declara una variable para almacenar la suma de los números. $iArraySum local = 0 ; Recorrer la matriz. Para $i = 1 Hasta $aArray [ 0 ] ; Incrementar la suma por el número en cada elemento de la matriz. $iArraySum += Number ( $aArray [ $i ]) Siguiente ; Devuelve el promedio redondeado a 2 decimales. Return Round ( $iArraySum / $aArray [ 0 ], 2 ) EndFunc ;==>_Find_Average
Se eligió la licencia GPL porque generalmente se acepta como la más restrictiva .
AutoIt es un software protegido por derechos de autor que se distribuye bajo los términos de la Licencia Pública General de GNU (en adelante, la "GPL").