Anuncios

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.

Anuncios

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 >
Anuncios

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!"
Anuncios

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
Anuncios

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
Anuncios

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
Anuncios

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
Anuncios

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.

Anuncios

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.

Anuncios

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.00