Bienvenidos sean a este post, hoy hablaremos sobre el primero de una serie de controles de flujo, en este caso uno de los mas importantes o el mas importante.
Porque este nos permitira crear condiciones donde nuestros programas podran comenzar a razonar para tomar una decision sobre una respuesta al usuario, el condicional mas basico es if y su sintaxis es la siguiente:
if < condicion > then
< instrucciones >
end if
Tambien se puede hacer de la siguiente forma:
if < condicion > then < instruccion >
En ambos casos se lee como si la condicion se cumple, es decir es verdadera o true, luego ejecuta la o las instrucciones, la diferencia entre ambas sintaxis es que en la primera podriamos ejecutar varias instrucciones y en la segunda una sola o reemplazarla por una funcion o sub, veamos un ejemplo simple:
if.vbs
dim respuesta
respuesta = inputbox("Deseas continuar (s/n)")
if respuesta = "s" then msgbox "Que bueno!"
if respuesta = "n" then msgbox "Que mal!"
En este caso le preguntaremos al usuario que nos diga si desea continuar o no, por medio de ingresar s o n, para este ejemplo tendremos dos condiciones donde verifica si respuesta es igual a s o a n y nos mostrara el mensaje correspondiente pero aca tenemos dos inconvenientes, si el usuario ingresa otra letra o las mismas en mayusculas la condicion no se cumple por lo tanto no hara nada para eso debemos hacer la siguiente modificacion:
dim respuesta
respuesta = inputbox("Deseas continuar (S/N)")
if respuesta = "s" then
msgbox "Que bueno!"
else
msgbox "Que mal!"
end if
En este caso agregamos la sentencia else, la cual se lee como de lo contrario, la cual ejecutara una accion si la condicion anterior no se cumple, por ejemplo si ingresamos s se mostrara el mensaje en cambio else interceptara cualquiera de las condiciones mencionadas anteriormente pero seguimos con un inconveniente el cual es que si ingresamos S este no cumplira la primera condicion y nos mostrara el segundo mensaje lo cual no es cierto, para ello debemos hacer la siguiente modificacion:
dim respuesta
respuesta = inputbox("Deseas continuar (S/N)")
if respuesta = "s" then
msgbox "Que bueno!"
elseif respuesta = "S" then
msgbox "Que bueno!"
elseif respuesta = "N" then
msgbox "Que mal!"
else
msgbox "Que mal!"
end if
En este caso incluimos al elseif, este se lee como de lo contrario si, y en este caso podemos usar una condicion, para este ejemplo agregamos las otras posibilidades, como son la S o la N con sus respectivos mensajes y por ultimo el else para interceptar a la n y el resto de posibilidades que puede ingresar el usuario, y en todo caso el programa hara una accion y no quedara sin respuesta, como pueden ver podemos usar todos los elseif que sean necesarios, inclusive podemos usar if dentro de bloques if, a esto se lo llama if anidados porque nos permite evaluar otra condicion dentro del bloque anterior para poder ejecutar otra accion, entonces su sintaxis final es:
if condicion then
... instrucciones ...
elseif condicion then
... instrucciones ...
else
... instrucciones ...
end if
Recuerden siempre empieza con una condicion si es verdadera ejecuta las instrucciones del bloque, despues podemos usar a elseif para evaluar otra condicion la cantidad de veces que sea necesaria, y por ultimo siempre va else y es uno solo donde podremos ejecutar instrucciones, y el cierre de todo el condicional siempre es con end if, salvo que usemos una sola linea como en el primer ejemplo, ahora vamos a ver el ultimo tema que es la condicion con operadores logicos, para eso vamos a tomar el ejemplo anterior y lo modificaremos de la siguiente manera:
dim respuesta
respuesta = inputbox("Deseas continuar (S/N)")
if respuesta = "s" or respuesta = "S" then
msgbox "Que bueno!"
elseif respuesta = "N" or respuesta = "n" then
msgbox "Que mal!"
else
msgbox "Che, solo S o N no ingreses cualquiera!"
end if
En este caso no solamente vamos a hacer lo anterior, con un mejor codigo sino que tambien comtempla la opcion de cuando apretamos cualquier tecla, esto es gracias a que al momento de evaluar una letra u otra utilizamos un OR para ver si es igual a s o a S, tambien para el caso de n o N y ahora else paso a ser utilizado cuando no encaja con ninguna y para eso usamos otra notificacion, si lo probamos se vera asi

Como pueden ver ahora tenemos un programa que no solamente reaccionara ante nuestra respuesta sino que chequeara si se paso el parametro equivocado, inclusive se puede mejorar este codigo pero no lo haremos hoy porque implica ver algo que no esta en el tema.
En resumen, hoy hemos visto el condicional if, como trabaja, como se usa, vimos a else, como se utiliza, para que se utiliza, tambien vimos a elseif, porque se usa, como se usa, unos ejemplos donde los pusimos en practica y por ultimo como se lleva este condicional con los operadores logicos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.
Tambien podes comprar mi libro sobre VBscript en Amazon


Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.50