miércoles, 3 de enero de 2007

Capitulo 5 (condicionales: if / then Select Case)

Este capitulo lo dedicaremos a los condicionales, estos son If/ then y select case. Proceso a explicar.

Con los condicionales lo que haces el cambiar el flujo de ejecucion dependiendo del valor de una variable por ejemplo:

Private Sub Form_Load()
Show
Dim num As Integer

num = 2

If num = 2 Then
Print "num vale 2"
End If
End Sub

Aqui tiene su primer aparicion el if. Lo que esta haciendo en este caso es "decirle" al ordenador que si num vale 2 que haga lo que esta entre el then y el end if. Si num no vale dos simplemente saltea ese pedazo de codigo y continua desde el End If. La sintaxis del if es:

If [variable o variables] Then
[Intrucciones (si se cumple el if)]
End if

En el ejemplo anterior no tiene sentido usar el if ya que sabemos que num va a valer 2 siempre. Pero hay casos en que no sabemos cuanto va a valer este numero.
Por ejemplo, nosotros hicimos un juego. Este juego no lo pueden jugar personas menores a 16 años. Por consecuencia hacemos un TextBox en donde se escriba la edad del jugador. Si es menor a 16 aparecera un mensaje diciendo que no puede jugar y si es mayor o tiene 16 aparecera un mensaje que dice que puede jugar. El codigo quedaria asi:


Private Sub Form_Load()
Show

Label1 = "Tu edad es:"
Text1 = ""
Command1.Caption = "Aceptar"
End Sub

Private Sub Command1_Click()
If Text1 <16 style="color: rgb(0, 0, 153);">Else
Print "Tu puedes jugar a este juego"
End If
End Sub

No hace falta que muestre la ventana, creo que pueden imaginarla sencillamente. En este codigo podemos ver bastantes cosas nuevas. Como ven dice Text1 <16> mayor que
< que =" igual">= mayor o igual a
<> distinto que

Tambien en el codigo anterior vieron por primera vez la aparicion del Else, esto es por si el if no es cumplido se saltea lo que esta a continuacion del then hasta el else, y se cumple el contenido del else. En resumen Si la condicion se cumple se hace el then y si no se cumple se hace el else.

Tambien se puede hacer un if del siguiente modo

if a = 2 then Print "a vale 2"

Cuando el if tiene solo una instruccion no hace falta escribirla debajo del then y tampoco hace falta escribir el end if. Pero si la instruccion esta debajo del then tendra que haber un end if. Cuando se usa esto de escribir la instruccion al lado del then no podra haber un else. Para que haya else tendra que ser escrita obligatoriamente bajo el then.

Tambien es posible hacer que se cumplan varias condiciones para un if. Por ejemplo:


Private Sub Form_Load()
Show

Dim a As Integer
Dim b As Integer

a = 5
b = 2

If a = 5 And b = 2 Then Print "a vale 5 y b vale 2"
End Sub


En este codigo se esta haciendo lo que habia nombrado antes. Como solo hay una intruccion pude ponerla al lado del then y no hace falta un end if. Tambien como habran notado hay 2 condiciones que se deberan cumplir para que el if sea verdadero. a tiene que valer 5 y b tiene que valer 2. si alguna de estas dos variables no cumple con la condicion no sera cumplido el if, por lo tanto se pasara al else si es que lo hay.

Para que se cumpla el if cuando solo una de esas variables cumple la condicion se tiene que usar el Or. Quedaria asi:

If a = 5 Or b = 2 Then Print "a vale 5 o b vale 2"

Entonces, mientras una de las dos condiciones se cumpla el if sera verdadero.

Veamos otro ejemplo con otra cosa nueva, la ultima:


Private Sub Form_Load()
Show

Dim a As Integer

a = 5

If Not a = 5 Then Print "a vale 5 y b vale 2"
End Sub


Si ejecutan este codigo se daran cuenta que el if no es verdadero (osea no es cumplido). Esto se debe al Not delante del if. El not lo que hace es invertir la condicion de la variable contigua. En este caso a = 5. El if sera verdadero si a no vale 5. Otro ejemplo:

a = 5
b = 2
If Not a = 5 Or b = 2 Then Print "a vale 5 o b vale 2"

Aqui la condicion sera cumplida ya que aunque a no sea diferente de 5 b si vale 2 y como hay un or mientras alguna de las dos condiciones se cumpla el if sera verdadero.


Select Case


El select case es como un if. Con el if se puede hacer todo lo que se hace con el select case. Y ustedes se preguntaran -Entonces ¿para que sirve?. Hay veces en que una variable puede tener muchos valores y para cada valor se necesita una reaccion diferente. Para estos casos usamos el select case. Veamos un ejemplo (un poco largito):

Supongamos que queremos un programa que nosotros le decimos el numero del dia de la semana en que estamos y el nos diga que dia es, por ejemplo: nosotros le decimos 3, el nos dice miercoles. Asi seria el codigo:

Imagen hospedada por Subir-Imagenes.com

Private Sub Form_Load()
Label1 = "¿En que dia de la semana estamos?"
Label2 = ""
Command1.Caption = "Aceptar"
Text1 = ""
End Sub

Private Sub command1_click()
Select Case Text1
Case 1
Label2 = "Hoy es lunes"
Case 2
Label2 = "Hoy es martes"
Case 3
Label2 = "Hoy es miercoles"
Case 4
Label2 = "Hoy es jueves"
Case 5
Label2 = "Hoy es viernes"
Case 6
Label2 = "Hoy es sabado"
Case 7
Label2 = "Hoy es domingo"
End Select
End Sub


Perdon por un ejemplo tan raro pero no se me ocurria otra cosa. Si quisieramos hacer esto con if seria practicamente inentendible ya que deberia haber 7 if seguidos.

Primero para usar el Select case hay que escribir:

Select Case [Variable o control en cuestion]
Case [posible contenido de variable o control]
[intrucciones]
Case [posible contenido de variable o control]
[intrucciones]
End Select

Puede haber tantos case como ustedes deseen.

Paso a explicar el codigo, no linea a linea ya que no es necesario.

Case 1
Label2 = "Hoy es lunes"

Esto lo que hace es que si text1 vale 1 cambiara el contenido del label 2 por hoy es lunes. Creo que con esto entienden el resto.

Tambien es posible hacer esto:

Select Case a
Case "hola"
Print "hola"
Case "chau"
Print "Chau"
End Select

Con esto quiero decir que un case no tiene porque ser con numeros solamente.


Y con esto terminamos con los condicionales, no se olviden de practicar. Ya con esto pueden hacer programas algo mas "entretenidos".

miércoles, 27 de diciembre de 2006

Capitulo 4 (Windows Forms o Ventanas)

A los conocedores de otros lenguajes seguramente quedaron sorprendidos al leer el titulo de este capitulo (Windows Forms o Ventanas). Recién hemos aprendido lo que son variables y la función print, a pesar de esto ya estamos capacitados para comenzar con las ventanas. Para esto justamente se ha diseñado el Visual Basic, un lenguaje para el novato. En mi casa tengo por allí un libro del C# y comienza a tratar el tema por la pagina 220, luego de haber pasado por bucles, condicionales, clases y objetos, cosas que nosotros veremos más adelante.

Comencemos diseñando una ventana, esto lo podemos hacer haciendo click en segundo botón que vimos en el capitulo 2. ¿Recuerdan? Donde un botón nos llevaba al código y el otro "a una ventana para diseñar". Hagan click en ese "otro" botón.

Ahora deberán hacer una ventana lo mas parecida a esta que esta a continuación haciendo doble click repectivamente en los botones para agregar un Label o un TextBox o un Command Botton. Y luego ir dándole la ubicación y dimensiones para que quede como mi ventana.

Imagen hospedada por Subir-Imagenes.com

Ahora que ya tienen la ventana diseñada les enseñare a usar estos controles (Labels, TextBox, command Botton). Ve a el código y pega el siguiente:


Private Sub Form_Load()
Label1 = "Escribe tu nombre:"
Label2 = ""
Text1 = ""
Command1.Caption = "Aceptar"
End Sub

Private Sub command1_click()
Label2 = "Tu nombre es " & Text1
End Sub


Procederé a explicar linea a linea:

Private Sub Form_Load() 'Todo lo que este entre esta linea y End sub es lo que se hará al iniciarse el programa.
Label1 = "Escribe tu nombre:" 'Aquí lo que estamos haciendo es cambiando lo que dice en label, lo que muestra. Si ejecutaramos el programa sin modificar este valor diría en ese rectángulo Label1.
Label2 = "" 'Como no queremos que debajo del TextBox halla una palabra "volando" diciendo Label2 simplemente la sacamos poniendo dos comillas seguidas, por lo tanto no dice nada.
Text1 = "" 'Aquí el usuario escribirá su nombre, y ya que no queremos que ese espacio este ocupado con la palabra Text1 (aunque se puede borrar) ponemos las dos comillas seguidas para que no diga nada.
Command1.Caption 'Con esta linea estamos haciendo lo mismo que con las anteriores pero, con los command bottons no se puede poner simplemente Command1 = "Aceptar" ya que nos tiraria un error. Para cambiar la/las palabras que muestre el botón tenemos que usar una propiedad .Caption , modificando el valor de esta propiedad cambiamos la/las palabras que mostrara el botón.
End Sub 'Con esta linea estamos "cerrando" el Private Sub.

Private Sub command1_click() 'Todo lo que este entre esta linea y End Sub es lo que se hará al hacerse click en el boton.
Label2 = "Tu nombre es " & Text1 'Aquí encontrara un parecido con sumar variables, el signo & agrega una cadena de caracteres a otra, en este caso agrega el contenido de Text1, que es lo que el usuario escriba, a las palabras tu nombre es . Entonces si tu pones Juancito en el TextBox aparecera en el lugar del Label2, Tu nombre es Juancito.
End Sub 'Con esta linea estamos "cerrando" el Private Sub.

Y eso es todo, no parece demaciado, pero si tienes mucho con que experimentar hasta el próximo capitulo.


Exitos!!!

jueves, 21 de diciembre de 2006

Capitulo 3 (Dimensionar variables, Option explicit)

En este capitulo aprenderemos como dimensionar una variable.
Ustedes se preguntaran, ¿Que es dimensionar?, se puede definir como reservar un espacio en la memoria poniéndole un nombre pero todavía no un valor. Así es como se DIMensiona una variable:

Dim [identificador] as [tipo]

Veamos un ejemplo usando uno del capitulo anterior:


Private Sub Form_Load()
Show
dim bienvenida as String

bienvenida = "Hola mundo"
Print bienvenida
End Sub


Apretamos F5 para ejecutar el programa y:

Imagen hospedada por Subir-Imagenes.com

Y ahora usted se preguntara, para que yo voy a escribir una linea mas si el resultado es exactamente lo mismo. La diferencia ocurre a nivel físico. Nosotros sabemos que dentro de la variable bienvenida va a haber solo 2 palabras. Si nosotros no dimensionamos la variable esta se auto pondrá de tipo Variant, este tipo de variable esta preparado para recibir tanto números enteros o decimales como también letras. Pero recervar un espacio en la memoria preparado para guardar tanta variedad de cosas ocupa mas espacio en ella que una variable solo hecha para almacenar letras, exactamente como nuestra variable bienvenida. Por lo tanto, si sabemos que nuestra variable solo contendrá letras, palabras o caracteres no numéricos seria mejor dimensionar esa variable como String, esta clase de variables solo aceptan letras, palabras o caracteres no numéricos. Aunque también se pueden almacenar números, pero la computadora los tratara como palabras, como resultado no se podrán sumar ni restar al igual que dividir o multiplicar.

Tambien existe el tipo de variable Boolean, son llamadas variables booleanas. Estas variables solo pueden contener un valor 0 o -1. El Visual Basic te permite escribir a = True o a = False siendo a una variable booleana. Estas variables son muy usadas en condicionales o bucles, ya veremos que son.

Los distintos tipos de variables son los siguientes:

Integer: ocupa 2 bytes en la memoria. Soporta números desde -32.767 hasta 32.767 (enteros)
Long: ocupa 4 bytes en la memoria. Soporta números desde -999.999.999 hasta 999.999.999(enteros)
Single: ocupa 4 bytes en la memoria. Soporta números desde -999.999.999 hasta 999.999.999(enteros y decimales)
Double: ocupa 8 bytes en la memoria. Soporta números desde -1E+308 hasta 1E+308(enteros y decimales).
String: el tamaño que ocupe en la memoria se puede cambiar a gusto con un método que enseñare mas adelante.
Boolean: ocupa solo un bite en memoria ya que tiene un valor positivo o negativo. Soporta solo True o False que seria 0 o -1.

Para aquellos que no hayan entendido este numero 1E+308 les explico que el VB (Visual Basic) suplanta un numero cuando ya sobrepasa las 15 por eso. El numero antes de la E es el primer numero de la cifra, y el segundo numero seguido del + quiere decir cuando ceros hay detrás de ese uno. Comprenderán que una variable de tipo Double puede tener como valor un numero tremendamente descomunal.

Tambien es posible declarar una variable escribiendo menos codigo. Cambiando por ejemplo As Integer por %. Aqui les dare todos los simbolos para abreviar:

Dim num as Integer Abreviatura: Dim num%
Dim num as Long Abreviatura: Dim num&
Dim num as Single Abreviatura: Dim num!
Dim num as Double Abreviatura: Dim num#
Dim num as String Abreviatura: Dim num$
Dim num as Variant Abreviatura: Dim num

Para darle el tamaño deseado a una variable del tipo String se hace del siguiente modo.

Dim [identificador] as String * [numero de caracteres deseados]

Osea, el ejemplo anterior para mejorarlo en cuanto a consumo de memoria quedaría así:


Private Sub Form_Load()
Show
dim bienvenida as String *10

bienvenida = "Hola mundo"
Print bienvenida
End Sub


Pero, que pasaria si por equivocacion envez se reservar 10 caracteres en memoria reservariamos 8, este seria el resultado:

Imagen hospedada por Subir-Imagenes.com

Como ven, ya que no estaban reservados los caracteres necesarios la palabra quedo cortada.

Y por ultimo para ya terminar con este capitulo les explicare lo que me quedo pendiente: Option explicit.
Esto, les recomiendo desde ya, que lo escriban en el primer renglon de todo codigo, fuera del Private Sub. O tambien pueden hacer que esto sea automatico y que siempre al empezar un proyecto este escrito. Para hacer esto tienen que entrar a herramientas (o tools) - Opciones... (o options...). Se abrira una ventana, dentro de la pestaña editor deben marcar el segundo cuadrito, en el que al lado derecho dice requerir declaracion de variables.
Lo que Option Explicit hace es avisarte cuando una variable no ha sido dimensionada.

Antes de terminar el capitulo quiero recomendarles dimensionar todas las variables al principio del Private Sub que estén usando. Esto hará que su programa sea mas entendible a la hora de queres agregar algo o solucionar algún desperfecto (Bug). Mejor ganar esta costumbre ahora que ir lamentando en un futuro cuando uno de tus programas ocupen 15 o mas hojas de código y al querer cambiar algo no sabes donde esta, o peor, esta trozado en todo el código. Por lo tanto recuerda ser ordenado, te ayudara en un futuro.

miércoles, 20 de diciembre de 2006

Capitulo 2 (Funcion Print)

En este capitulo aprenderán su primer función: Print. Tal y como sospechan aquellos conocedores de Ingles, si, esta función hace algo muy similar a su significado.
Pero primero antes de que aprendan a usar esta función deberé hacerles una introducción a la estructura de los programas de Visual Basic.

Al entrar al Visual Basic nos encontraremos con esta ventana:
Imagen hospedada por Subir-Imagenes.com

Ésta ventana esta indicando que tipo de archivo queremos hacer, ustedes deberán elegir el primero: Exe estándar.
Luego deberán ver a su derecha esta pequeña ventana dentro del Visual Basic.

Imagen hospedada por Subir-Imagenes.com

El primer símbolo nos llevara al código, y el segundo a una ventana para diseñar (en donde estamos). Ustedes deberán ir al código haciendo click sobre el primer símbolo.

Un click allí nos llevara a una nueva sección, donde deberán abrir una lista desplegable y seleccionar form:

Imagen hospedada por Subir-Imagenes.com

Esto hará que en el texto de abajo se agregue:


Private Sub Form_Load()

End Sub


Todo lo que se encuentre entre estas dos "frases" es lo que primero cargara el programa al iniciarse. Allí es donde se crean las variables, donde se escribe el código que aprendimos en el capitulo anterior.

Funcion Print

Ahora que ya he terminado con la introducción antes misionada voy al tema de este capitulo.
La funcion print, al usarla, hace que una serie de caracteres, como pueden ser numero, letras o símbolos, aparescan dentro de la ventana de nuestro programa.

Aquí daré el ejemplo de un muy simple programa con su resultado:

Private Sub Form_Load()
Show
bienvenida = "Hola mundo"
Print bienvenida
End Sub

Apretamos F5 para ejecutar el programa y:

Imagen hospedada por Subir-Imagenes.com

Ahora paso a explicar linea por linea:

Private Sub Form_Load() 'Todo lo que este entre esta linea y End sub es lo que se hará al iniciarse el programa.

Show 'Es necesario poner show si es que se va a usar un Print, si no es escrito Show el print no funcionara.

bienvenida = "Hola mundo" 'Esto esta poniendo en un espacio en la memoria las palabras "hola mundo".

Print bienvenida 'Aquí estamos haciendo que la computadora "imprima" en nuestra ventana el contenido de la variable bienvenida.

End Sub 'Con esta linea estamos "cerrando" el Private Sub.

Si este ejemplo no te ha funciona y te tiro un "error de compilacion: variable no definida" se debe a que arriba del Private Sub esta escrito Option explicit, borra lo y este ejemplo funcionara a la perfección. En el capitulo siguiente aprenderemos a "congeniar" con el Option explicit pero por ahora mejor dejarlo de lado.
En este momento cabe aclarar algo que la mayoría de los que estén leyendo este curso seguramente les quedara en duda. ¿Porque si no pongo print por mas variables que haya hecho no aparecerá nada en pantalla?. La respuesta es simple, no va a aparecer nada en pantalla ya que hacer una variable implica, desde el punto de vista de la computadora, poner en un lugar de la memoria el valor que nosotros digamos. Eso y nada mas hará la computadora cuando nosotros creemos una variable. Y ya que nosotros no podemos ver el contenido de la memoria (al menos físicamente) no veremos cambio alguno y la pantalla aparecerá en blanco.


Volviendo al tema de Print, hay otra forma de hacer aun mas corto el código, sin usar memoria y con exactamente el mismo resultado, es la siguiente:

Private Sub Form_Load()
Show
Print "Hola mundo"
End Sub

Lo que estamos haciendo aquí es reemplazar por nosotros mismos la variable poniendo directamente su contenido, tal y como hace la computadora (podrán verlo mas detallado en el primer capitulo, en la parte de suma y resta de variables). Aunque no estamos reemplazando la variable ya que nunca la hemos creado creo que de esta forma lo pueden entender claramente.

martes, 19 de diciembre de 2006

Capitulo 1 (Variables, suma y resta de variables)

Vamos a empezar con el principio de todo lenguaje, sea de Visual Basic como con cualquier otro.
Las variables, uno se las podría imaginar como cajas. Cada caja para diferenciarse tiene un nombre, y en su interior un contenido ya pueden ser letras o números como también símbolos osea caracteres.
Para hacer una variable solo basta con escribir su nombre o identificador, un igual y su

contenido [identificador] = [valor]
numero = 15
rueda = 5

Cuando se desea hacer una variable que su contenido sean letras o símbolos basta con agregarle comillas luego del igual como en los ejemplos anteriores.

palabra = "hola"
auto = "azul"
and = "&"

Siempre que se le asignen palabras o símbolos a una variable estos deben estar entre comillas exceptuando los casos que veremos a continuación.

Suma y resta de variables

Las variables se pueden sumar, restar, dividir y multiplicar siempre y cuando estas tengan un valor en números como puede ser numero = 5, el valor de esa variable es 5.
La forma de sumar una variable con otra se sencilla, lo notaran en este ejemplo.

num1 = 5
num2 = 10
num3 = num1 + num2

Cuando la computadora ve esto num3 = num1 + num2 se da cuenta que son palabras y al no estar entre comillas sabe que se esta hablando de otras variables. Por lo tanto la computadora lo que hace es reemplazar el nombre de la variable por su contenido o valor.
Viéndola así:

num3 = 5 + 10

Ahora esto si es algo que nosotros podamos entender, por lo tanto num3 va a valer 15 ya que es la suma de num1 y num2.
Si nosotros hubiéramos puesto embes de num3 = num1 + num2, hubiéramos puesto num3 = "num1 + num2" la computadora hubiera entendido que la variable num3 vale "num1 + num2" ya que reconoció ese dato como palabras, tal como vimos anteriormente palabra = "hola" o auto = "azul".

El proceso para restar variables es idéntico, solo cambiando el signo + por -. Quedando de esta forma un ejemplo:

num1 = 20
num2 = 1
num3 = num - num2

Como habrán de suponer num 3 vale 19.

El mismo proceso se hace con multiplicación y división, solo que el signo multiplicar es * y el dividir es /.

lunes, 18 de diciembre de 2006

Capitulo 0

Ya que en la actualidad es verdaderamente imposible encontrar un curso que enseñe a programar desde 0. Yo me propongo a empezar uno, y con cual lenguaje que nada menos el Visual Basic.
Me propondré a dedicar este blog a la enseñanza de este lenguaje, por dos simples razones: La primera, este lenguaje es relativamente fácil, aunque pensándolo bien no estaría expresándome correctamente con el termino "fácil", debería decir de veloz aprendizaje, pero tampoco me estoy expresando correctamente ya que aprender TODO sobre este lenguaje lleva su tiempo al igual que con cualquier otro. Lo que en verdad quiero decir es que con que uno alla aprendido un poco, y me refiero a muy poco, ya puede dedicarse a hacer programas, aunque debo aclarar que aun mas que simples. La segunda razón es, simplemente, que este es en el primer lenguaje que yo aprendí a programar. Tomo su tiempo, y aun no lo se del todo, pero si lo suficiente y algo más como para emprender este curso.
El mundo de la programaciòn es mas que interezante, recuerdo mis dias de haber estado 10 horas seguidas programando, sin la obligacion de hacerlo. A pesar de que en constancia no estoy favorecido me pasaba sus buenas horas tecleando tras el monitor. Y ya se me habia vuelto costumbre darle vueltas a la sala mientras pienso como desarrollare esto o aquello. Si, no puedo negar que programar es un esfuerzo mental. Pero que eso no es para disfrutar, eso lo contradigo. El placer de cuando llega la idea ahorradora de horas de trabajo es inigualable. Y ni hablemos de los resultados, programas que nunca esperaste hacer salieron de tu mente y dedos tecleadores.
Para no extenderme màs solo espero que tomes este curso como algo màs que una obligaciòn, ya que seguro estoy de que habra algunos que lo haran. Deseo tambien que disfruten tanto la programaciòn como yo y que cada letra pulsada sea màs que un caracter en su pantalla.
Solo les digo que yo les doy el camino, ustedes deben seguirlo.


Consegui el Visual Basic



Primero para conseguir el Visual Basic tienen que bajarse el BitTorrents o el Azureus, los pueden encontrar facil si lo buscan en el google. Luego entren a:
http://www.torrentz.com/ecc02350904dfed29d1aadca3fa7920a52272cb2
hagan click en algun link y bajense el archivo .torrent este lo abriran con el anterior programa que bajaron y ya empezara la descarga del Visual Basic.