Curso Básico de Programación
en Visual Basic
Primera.
(Iniciado el 18/Abr/97)
por Guillermo "guille" Som
![]()
A estas
alturas no es fácil hacer un curso de introducción a la
programación con Visual Basic. Si fuese a raiz de la primera o
segunda versión, incluso con la tercera, sería más fácil.
Pero ahora está más crudo, por aquello de que soporta 16 y 32
bits y te enfocas en una u otra dirección o...
Pero como el título indica, esto será una cosa para introducir
al que quiere empezar a programar, incluso para el que viene de
otro lenguaje, aunque seguramente, sobre todo al principio, se
encontrará con conceptos demasiados básicos.
Como este curso no se publica sobre algo que ya está terminado,
iré haciéndolo sobre la marcha, espero tus indicaciones sobre
si voy demasiado rápido o si realmente me estoy pasando en
cuanto a 'simpleza'. De cualquier forma, me gustaría oir tu
comentario y tus impresiones, eso me animará a seguir y sobre
todo a terminar.
Bueno, manos a
la obra.
A ver como me sale el tema, (al final no he encontrado los
apuntes que ya tenía hechos, de cuando daba clases a niños y a
no tan niños, de esto hace ya 10 añillos de nada)
Lo advierto, a los que saben algo y a los que lo
saben todo (o casi todo), lo que viene a continuación es super
básico. Y pensando también en los que por una razón u
otra no tienen unos conocimientos que a otros les parecerá
absurdo, sé que aún hay gente que no tienen ni 'repajolera'
idea de lo que es una expresión, una variable y ni que decir
tiene sobre las matrices, los números binarios o la notación
hexadecimal...
¿Que
es una variable?
En cualquier programa siempre necesitaremos hacer cálculos, usar
información, procesarla y mostrarla.
En la mayoría de los casos, necesitaremos un lugar temporal en
el cual guardar parte de esa información, incluso toda.
Todos los lenguajes, y el Basic no iba a ser menos, nos permiten
guardar datos en la memoria, para que cuando los necesitemos,
podamos tomarlos, modificarlos y volverlos a guardar para usarlos
más tarde. Si no seguimos unas normas o usamos unas reglas, de
poco nos iba a servir el guardar esa información, si después no
podemos almacenarla en ningún sitio, pero ese será tema de otro
capítulo... ahora centremosno en la memoria.
¿La memoria? Espero que este concepto lo tengas
claro, pero si no es así, ahí va un poco de 'rollo':
La memoria es el lugar donde el ordenador almacena de forma
temporal los programas y parte de la información que necesita o
utiliza. Así pues, los lenguajes de programación usan también
esa memoria para guardar información propia del lenguaje y del
programa que queramos realizar.
El programa una vez que se está ejecutando puede necesitar
también guardar información, aunque esta información sólo
estará disponible mientras se esté ejecutando. Esas posiciones
o lugares de la memoria donde los programas pueden almacenar
información son las variables. El que se llamen
de esta forma es porque podemos hacer que el contenido de ese
lugar de almacenamiento varie, es como si
tuviesemos una serie de cajas y en ellas pudiesemos guardar
cosas, con la salvedad de que en cada caja sólo puede haber una
cosa a la vez; aunque también veremos cómo hacer que el
contenido pueda variar y que varie dependiendo de lo que
contenía antes...
Veamos un ejemplo:
Imaginate que quieres guardar tu nombre en una variable, para
ello tendriamos que 'guardar' el nombre en la memoria, es decir
asignar a una variable un valor. En este caso nuestro nombre.
Para ello el lenguaje de programación pone a nuestra
disposición unos lugares deonde almacenar nuestro nombre, pero
nos impone una serie de reglas de conducta.
Si queremos guardar en una de nuestras cajas una hoja, por lo
menos tendremos una caja con el tamaño adecuado y que tenga una
'forma', para que el papel no vuele al menor soplo de viento.
Esta es la regla básica para poder usar esos lugares de
almacenamientos (variables):
Llamar a esas posiciones de memoria con un nombre. Simple,
¿verdad?
En principio, es todo el requisito necesario: que le demos un
nombre al sitio en el que queremos guardar la información.
Por tanto, si queremos guardar un nombre, (el nuestro, por
ejemplo), en la memoria, podríamos llamarlo nombre.
Y ahora tendremos que seguir otra norma de conducta (o
funcionamiento), que en este caso el lenguaje Basic nos dicta:
Para guardar en una variable (posición de memoria) algo, debes
hacerlo de la siguiente manera:
---Pon el nombre con el que quieres llamar a esa parte de la
memoria,
---a continuación pones el signo igual (=) y
---después lo que quieras guardar.
Por tanto para guardar Guillermo en la
variables nombre, tendriamos que hacer
(o casi):
Nombre = Guillermo
Pero esto podía llevar a confusión, ya que el Basic no nos dice
nada sobre cómo debemos llamar (o si lo prefieres, cómo hay que
escribir) el nombre de una variable, por tanto Guillermo
también podría ser una variable, (es que el Basic, a
pesar de que llevo tantos años bregando con él, no sabe que ese
es mi nombre!!!).
Así pues, cuando queramos guardar en una variable una palabra,
una frase, nombre o cualquier tipo de información alfabética,
tendremos que indicarlo poniendo dicha información dentro de
comillas dobles, el ejemplo quedaría así:
Nombre = "Guillermo"
Ahora no hay confusión posible, hemos seguido lo que el Basic
nos ha dicho: variable, signo igual, valor a almacenar.
Si queremos guardar un número en una variable, la cosa es más
simple:
Numero = 7
¿Te estás enterando?
Pero, ¿que
ocurre si quisieramos repetir 7 veces a Guillermo?
Podrías hacer esto, multiplicar a Guillermo por 7 (como no
hay bastante con uno...)
Paliza = "Guillermo" * 7
Pero el Basic te diría que eso no está bien, no porque
Guillermo (yo) no sea un paliza, sino porque
te diría que no coinciden los tipos (Type Mismatch)
¿Que son los tipos? Los distintos tipos de
datos. (que esfuerzo mental...)
Los datos pueden ser, básicamente, de dos tipos:
Numéricos: sólo números y
Alfanuméricos: cualquier cosa, letras y/o
números, pero es tratada como si fuesen palabras, frases, etc.
Para el Basic 7 y "7" son dos tipos de datos
diferentes.
El primero es el número 7 y en el segundo caso, es el literal (o
palabra) "7"
Así que cuando veas algo entrecomillado, piensa que no es un
número, sino una palabra (más vulgarmente llamada cadena
de caracteres o string en inglés)
Hemos visto que no podemos multiplicar una palabra (cadena)
por un número, pero si podemos multiplicar una variable por un
número (siempre que la variable sea numérica, por supuesto)
Según esto, el Basic debería permitir hacer esto:
Guillermo = 5
Paliza = Guillermo * 7
El Basic tomaría el 5 y lo
almacenaría en ena variable numérica llamada Guillermo.
Después se encuentra con: Paliza = Guillermo * 7
y aquí lo que hace es evaluar la expresión que está después
del signo igual, lo calcula y el resultado lo guarda en la
variable que está a la izquierda del signo de asignación (=)
¿Expresión? Expresión es cualquier cosa que
el Basic tenga que 'desglosar' para poder entenderla, incluso a
veces ni eso...
Por ejemplo cuando el Basic se encuentra con 5 * 2
tiene que 'evaluar' lo que significa, para poder hacer el
cálculo, de esta forma sabrá que tenemos una operación en la
cual queremos multiplicar dos números, una vez que ha evaluado
nuestra intención de multiplicar esos dos números, efectuará
el cálculo y almacenará el resultado en... si no le decimos
dónde, lo hará en una memoria que tiene para esas cosas, pero
si no le indicamos que debe hacer con ese resultado, nos dará un
error...
Si le decimos simplemente: 5 * 2
El Basic no sabrá que hacer con el resultado de esta
'expresión' (que por cierto es 10) y nos dirá:
o te espabilas o lo tienes crudo conmigo.
Así que lo más juicioso sería decirle: vale, vale, guardalo en
una variable, así que:
Resultado = 5 * 2 guardaría un 10 en
la variable Resultado.
También podríamos decirle que nos mostrara el resultado, en
lugar de guardarlo en una variable, y aquí llega nuestra
primera instrucción: Print. Con ella le decimos al
Basic que lo imprima (o sea que los muestre, más adelante vermos
dónde), según lo dicho, haciendo esto:
Print 5 * 2, el Basic diría que muy
bien y mostraría un 10
Pero, volvamos al Paliza del Guillermo,
es decir al ejemplo de Paliza = Guillermo * 7
Si quisieramos mostrar el valor de Paliza,
tendríamos que hacer algo como esto: Print Paliza,
y nos mostraría 35, ya que el valor de Paliza
sería 35, porque el contenido de Guillermo
es 5 y 5 * 7 es 35 (y sin
calculadora!!!)
Veamos si es cierto que Guillermo vale
5. Haciendo Print Guillermo, mostrará
un 5.
Antes de
seguir 'imaginando' las cosas, vamos a verla en funcionamiento.
Es decir vamos a probar que todo esto es cierto.
Carga el Visual Basic (si es que aún no lo has hecho.
Te creará un Form nuevo, que estará vacío.
Cierralo y muestra la ventana de código.
Mostrará la parte de las declaraciones Generales del Formulario.
Si tiene escrito Option Explicit, (estará en la parte superior),
borralo, más adelante te explicaré para que sirve.
Ahora situate en Form (seleccionalo de la lista desplegable que
está a la izquierda), te mostrará:
Private Sub Form_Load() End Sub
Situate en medio, es decir, en una línea en blanco después del Private... y escribe el ejemplo, quedaría así:
Private Sub Form_Load()
Show
Guillermo = 5
Paliza = Guillermo * 7
Print Paliza
End Sub
Pulsa F5, para
ejecutar el programa, y verás que se escribe el 35.
Bien, ya tienes una forma de mostrar datos. Ahora veamos otros
ejemplos, antes debes parar el programa, para ello cierra el
Form, pulsando en el botón que tiene una X, o bien pulsa en el
botón detener de la barra de herramientas del VB.
Situate de nuevo en el código del Form_Load, escribe después de
la línea del Print, lo siguiente:
Print Guillermo
Pulsa de nuevo
F5 y verás que ahora además del 35, hay un 5 debajo. El valor
de la variable Guillermo.
Pero, ¿que ocurriría si cambiasemos el valor de Guillermo?
Añade estas líneas a continuación de la anteriores, para que
quede de esta forma:
Private Sub Form_Load()
Show
Guillermo = 5
Paliza = Guillermo * 7
Print Paliza
Print Guillermo
Guillermo = 10
Print Guillermo
Print Paliza
End Sub
Después de
pulsar F5, te mostrará los siguientes valores (cada número en
una línea), 35, 5, 10, 35
¿Esperabas que el último fuese 70?
Fijate que cuando asignamos a Paliza el
contenido de Guillermo, éste era 5,
por tanto el Basic evaluó la expresión 5 * 7 y almacenó el
resultado (el 35). Una vez almacenado el resultado, el Basic se
olvidó de dónde había sacado ese 5.
Si queremos que se 'actualice' el valor de Paliza,
tendremos que indicarselo de nuevo al Basic, para que vuelva a
evaluar la expresión y hacer la correspondiente asignación.
Para ello, pon en medio de los dos últimos prints la siguiente
asignación:
Paliza = Guillermo * 7
Esta vez, al ejecutar el programa, mostrará un 70, que será el
nuevo contenido de Paliza.
Ya para terminar, borra todo lo anterior y escribe: (por supuesto debes detener el programa...)
Private Sub Form_Load()
Show
Nombre = "Guillermo"
Print Nombre
End Sub
Pulsa F5 y
verás que se muestra el contenido de la variable Nombre,
es decir Guillermo.
Prueba ahora con esto otro (es un clásico):
Print "Hola Mundo"
Y para rematar, y de camino ver otra posiblidad del
Print, escribe en lugar del Print Nombre:
Print "Hola " ; Nombre
El punto y coma, se usa para indicarle al Basic que se deben
mostrar las cosas una a continuación de la otra.
Ahora te habrá mostrado: Hola Guillermo, fijate que después de
hola y antes de cerrar las comillas hay un espacio.
Bien, creo que con esto es suficiente por hoy... o por ahora.
Si tienes algún comentario, hazlo pulsando en este link. Así sabré que opinión te merece este primer capítulo del cursillo/tutorial o como prefieras llamarlo.
Nos vemos, (espero que pronto).
Nota: En
todos los FORM_LOAD deberás poner SHOW al principio para que se
muestre lo que se imprime.
Ya lo he cambiado para que no
te quejes, pero los que empezaron el curso antes del 4 de Sep'98,
lo tuvieron más crudo...
![]()