Tutorial de AutoHotkey (IV): sentencias de control

Si te interesa comparte ! Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

En AutoHotkey disponemos de la sentencia condicional If para dirigir el flujo de la macro según se cumpla o no una determinada condición.

A continuación puedes ver un ejemplo de cómo implementarla:

; {WINDOWS][H] sentencia condicional:
#h::
    numero1 = 110
    numero2 = 90
    pais = FRANCIA

    If ( numero1 <= 100 )
        MsgBox El número1 es menor o igual de 100
    else
        MsgBox El número1 es mayor de 100

    If ( numero2 >= 100 )
        MsgBox El número2 es menor o igual de 100
    else
        MsgBox El número2 es mayor de 100

    If pais = Francia
        MsgBox El país es Francia
    else
        MsgBox El país no es Francia
return

NOTA: al comparar cadenas de caracteres AutoHotkey no distingue entre mayúsculas y minúsculas con lo que en el último If la condición se cumplirá (mostrándose el primer mensaje en este caso).

Si queremos realizar varias operaciones en una sección del If será necesario escribirlas entre llaves. Por ejemplo:

; {WINDOWS][Z] sentencia condicional con varias operaciones:
#z::
    numero = 110

    if ( numero <= 100 )
    {
        numero := numero * 10
        numero := numero + 20
    }
    else
    {
        numero := numero * 20
        numero := numero + 10
    }

    MsgBox El número es: %numero%
return

AutoHotkey dispone también de la sentencia Loop, mediante la que es posible realizar determinadas operaciones de forma repetitiva.

En el siguiente ejemplo se repetirá continuamente el bucle sumando 1 al valor inicial de la variable numero, forzándose la salida del mismo mediante break cuando su valor sea mayor de 20:

; {WINDOWS][V] sentencia repetitiva:
#v::
    numero = 1

    Loop {
        numero := numero + 1

        if ( numero > 20 )
            break
        }

    MsgBox El número es: %numero%
return

Bucle Loop

En el bucle Loop es posible indicar el número de veces que se deberá repetir el bucle.

En la siguiente macro de ejemplo el bucle se repetirá 10 veces, mostrándose el valor de la variable numero al salir de él:

; {WINDOWS][C] sentencia condicional con varias operaciones:
#c::
    numero = 0

    Loop 10 {
        numero := numero + 2
    }

    MsgBox El número es: %numero%
return

Bucle Loop

Otra sentencia repetitiva es While, la cual se repetirá mientras se cumpla la condición que especifiquemos.

En este otro ejemplo el bucle se repetirá mientras el valor de la variable numero sea menor de 20:

; {WINDOWS][N] sentencia repetitiva:
#n::
    numero = 0

    While ( numero < 20 ) {
        numero := numero + 1
    }

    MsgBox El número es: %numero%
return

Bucle

Si te interesa comparte ! Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
*** Escribe tu correo electrónico para recibir nuestras novedades ***
[ haz click aquísi aún no has visto nuestros cursos de informática gratis

Los comentarios están cerrados.