viernes, 29 de septiembre de 2017

Breve manual de Visual Basic Script: funciones básicas y demasiado útiles.

                     (P) Hugo Napoli, 2017                  


Visual Basic Script, deriva del lenguaje de programación "Visual Basic".
Extracto del artículo "Jugando con VBScript: Gladiador@s TBS":

Visual Basic Script (...) viene incluido con los sistemas operativos Windows -desde el año 1996, aproximadamente-, y es parte del motor de Visual Basic -año 1991 a 2008- de Microsoft.
Visual Basic, fue continuado en la plataforma "punto net" (.NET), denominándose "Visual Basic .NET" después que Visual Basic llegara a su versión 6 y fuera descatalogado.
El código de Visual Basic Script, se puede escribir sin utilizar programas adicionales, y como dato interesante, puede ([ser]) utilizado el bloc de notas para esta tarea.



Conceptos preliminares.

VARIABLES.
Son elementos que almacenan información, ya sean valores numéricos, o cantidades determinadas de texto.
Podemos almacenar estos datos en una variable, para disponer de ellos a lo largo de todo el programa que estemos creando. 
Así es el caso de los juegos en donde los personajes pierden dinero (variable a la que se le irán restando cantidades de efectivo), o bien salud al recibir daño físico (se le restan "vidas" o se le quita vitalidad), o ganan puntos por jugar bien o realizar tareas concretas (se suman tantos a la puntuación general de ese jugador).
Todo lo que hay que hacer, es inventar una palabra (o elegir una letra) y decirle a Visual Basic Script que esa palabra o letra "vale algo". Por ejemplo:

SUMA = 20
a = c + b
Nombre = "Marcos"
p = "jejeje"

Quien haya utilizado la función "MEMORIA" en una calculadora de bolsillo, ya se estará dando cuenta de cómo funciona una variable, habiendo visto estos sencillos ejemplos.

En todos los casos, la variable se coloca en primer lugar, luego el signo de igual, y luego el valor o el texto. Si se trata de números u operaciones matemáticas, estas se escriben del modo típico, pero si se trata de texto, no olvides escribirlo entre comillas.

Lo que no se debe hacer:

  • No utilices palabras con tilde ni con eñe... lamentablemente, el idioma español, no ha sido tenido en cuenta por los programadores de vbscript.
  • No utilices espacios ni símbolos (salvo el guión bajo "_" y el signo de menos"-", que sí están permitidos).
  • No escribas palabras demasiado largas.

Los siguientes casos, conducirán a errores. ¿podrías decir por qué?

a) Región = "Soriano"
b) Hora de irse = 15:00:00
c) CantidadDePisosDelEdificioDeLadrillosDeLaEmpresaConstructoraDeLaCiudadDePando = 6
d) Años = 25
e) Nombre = Mariana
f) Valor = "38911"
g) $uruguayos = 4000


1. Función Inputbox.
Se utiliza para "hacer una pregunta" al usuario, y "guardar su respuesta" en una variable.
Su "forma abreviada" es la siguiente:

Inputbox ("")

Esto tiene varios problemas e inconveniencias:

  1. La respuesta del usuario no se guardará en ningún lado, pese a que el Inputbox se mostrará y cumplirá con parte de su función.
  2. Entre las comillas, debe ir un mensaje que le de una idea al usuario de lo que se quiere. De otro modo, ¿qué pregunta va a responder, cuando no se le ha formulado ninguna?
  3. No se está aprovechando al máximo toda la capacidad del Inputbox.

Vista del Inputbox "vacío".

Para guardar la respuesta en una variable, hay que escribir el nombre de la variable, seguido de un signo de igual, y luego desarrollar la función Inputbox:

Pregunta = Inputbox ("")

Ahora que sabemos todo esto, será mejor utilizar su "forma casi completa", la cual consta de 3 partes:
Pregunta - Título - Respuesta "por defecto" (en ese orden).

Pregunta = Inputbox ("¿Habías visto un Inputbox tan completo?", "Demostración del comando Inputbox", "Respuesta predefinida")

Vista del Inputbox "casi completo".

¿Por qué hemos explicado la versión "casi completa" y no la "completa"?
Por varias razones.
A Inputbox, también puede indicársele en qué lugar de la pantalla debe posicionarse, cosa totalmente inaplicable a otros comandos de despliegue de texto que se utilizan permanentemente en vbscript, y también porque Microsoft no ha adaptado totalmente bien a la función Inputbox en sistemas operativos posteriores a Windows XP, aunque parezca mentira. La función Inputbox, nunca fue bien pensada ni bien construída, por lo tanto, solo aprovecharemos lo realmente útil y descartaremos lo erróneo.



Soluciones de los errores en el apartado "Variables":

a) El nombre de la variable, está escrito con tilde. Solución: renombrarla como "Region".
b) El nombre de la variable, contiene espacios. Solución: renombrarla como Hora_de_irse, HoraDeIrse, HoraIrse, etc.
c) El nombre de la variable es excesivamente largo. Debería poder sustituírse por un nombre de hasta 15 caracteres, aproximadamente (es lo que se recomienda).
d) El nombre de la variable, contiene a la letra eñe. Los tildes y la eñe no están considerados en varios lenguajes de programación. Es una pena, pero es la realidad. Solución: renombrar la variable "Años" por "Anyos", "Anios", o algo similar.
e) El texto que se pretende guardar dentro de la variable "Nombre", no está escrito entre comillas, y será tomado como valor numérico. Recuerda: el texto, va "entrecomillado"; los valores numéricos, no.
f) Caso inverso al caso "e". La cifra que se pretende guardar dentro de la variable "Valor", está siendo tratada como texto, porque se ha escrito entre comillas. 38911, será tomado como texto, no como número.
g) Caso similar a los casos "a" y "d": el nombre de la variable, contiene caracteres no convenientes. Solución: podríamos sustituir al nombre de variable por "pesos_uruguayos", "pesos_uru", "dinero_pesos", "dinero_en_pesos", etc.


ARTÍCULO EN CONSTRUCCIÓN