Variable Normalmente conocida comoalgo que puede cambiar Son estructuras de datos, que pueden cambiar su contenido a lo largo de una ejecución de un programa Es un campo de memoria que se le puede cambiar su escontenido cuantas veces sea necesario Tipo de variable Entero Real Carácter Logico Cargar una variable Es el proceso median el cual se le asigna un valor a la variable Este proceso se realiza mediante el operador “=” Operadores Son signos que nos permite expresar relaciones entre variable y o constantes Tipos de operadores Aritmeticos lógicos Operadores Logicos son aquellos que nos permiten realizar comparaciones entre los diferentes valores de la variables o constantes “ >“ “ < ” “ <= “ “ >= “ “ = “ “ <> “ Mayor que Menor que Menor o Igual que Mayor o igual que Igual Que Distinto a, diferente de 1 - Introducción Todos los lenguajes utilizan este sistema o metodología para la programación de aplicaciones, pero varían la forma en que se utilizan, su sintaxis etc... Cuando uno recién empieza a programar, parece muy complicado entender estos temas, pero con la práctica todo se va aclarando. Lo bueno de comprender los fundamentos de la programación, es que nos permite luego poder programar en casi cualquier lenguaje, por que la forma de programar en general no varía demasiado, lo que cambia en cada uno de ellos es su sintaxis y funciones y cosas propias del lenguaje. Aunque tampoco es tan así, ya que esto no significa que por que uno sea experto por ejemplo programando en lenguaje C, lo sea en Visual Basic y Viceversa. 2 - Las Variables Las variables, como su nombre lo indica, se utilizan para almacenar valores que tienen la propiedad de variar el contenido. Cuando hablamos de contenido nos referimos a cualquier tipo de datos, por ejemplo un nombre, una fecha, un color, un número etc... . A las variables se les asigna un nombre para poder utilizarlas. Por ejemplo puedo crear una variable llamada fecha y esta almacenará una fecha. A los nombres de las variables se los denomina identificadores. Cuando creamos variables, tenemos que tratar de asignarles un nombre que se relacione con el tipo de dato que queremos almacenar. Por ejemplo no tendría mucho sentido crear una variable llamada m y allí guardar o almacenar un nombre o un apellido, por que cuando echemos vista al código resultaría mas difícil deducir que tipo de dato estoy guardando. Por ejemplo en este último caso sería mucho mas lógico crear una variable llamada “nombres” y allí guardar "Luciano", "Pedro", "Natalia" etc.. En visual basic a las variables conviene declararlas, o sea, avisarle a vb que vamos a utilizar dichas variables. A estas se las declara en el comienzo del código y se les antepone lapalabra reservada Dim, luego el nombre que nosotros queramos y seguido el tipo de dato que almacenará, por ejemplo si quiero almacenar en una variable llamada Numero Dim numero As Integer La palabra Integer le avisa a vsiaual basic que voy a guardar un número entero. Después de declararla le podemos asignar un valor con el operador "=", ejemplo: Dim numero As Integer numero = 1500 Pero hay que tener en cuenta que al declarar una variable, en este caso, de tipo integer, no podríamos almacenar en ella una cadena de caracteres como por ejemplo un nombre o cualquier otro tipo de datos que no sea un número entero. Si sucedería esto nuestro programa daría un error en tiempo de ejecución, mostrándonos un feo cartel diciéndoos que no coinciden los tipos de datos.. 3 - Tipos de datos: Los tipos de datos, indican el tipo de valor que puede almacenar una variable. Los principales tipos de datos: Números enteros: dentro de los números enteros tenemos varios tipos de datos dependiendo el rango que queramos utilizar: Byte: puede almacenar números enteros dentro del rango desde 0 a 255 Integer: puede almacenar números enteros dentro del rango -32.768 a 32.767 Long: puede almacenar números enteros dentro del rango -2.147.483.648 hasta 2.147.483.648 . Números decimales: para almacenar siguientes tipos de datos: números decimales contamos Single: almacena números decimales en el rango +/- 1e-45 hasta 3e38 Double: desde +/- 5e-324 hasta 1.8e308 Cadenas de caracteres: las cadenas de caracteres se palabra String y tienen un rango de hasta 2 billones de caracteres. definen con los con la Tipos de valores lógicos: para almacenar tipos de valores lógicos como verdadero o falso, se utiliza la palabra Boolean y sus 2 posibles valores son True (verdadero) y False (falso). Fechas y horas: Para almacenar fechas y horas se utiliza la palabra Date Tipo variant : Las variables de este tipo pueden almacenar cualquier tipo de valor, pero ocupan mas memoria. Nota: hay mas tipos de datos, incluso nosotros podemos crear los nuestros. 4 - Constantes: Las constentes, como las variables, se utilizan para guardar datos y valores para nuestro programa, pero a diferencia de estas últimas (las variables), el contenido que almacenen no cambia, siempre es constante. A diferencia de las variables que se declaran con la palabra Dim, las Constantes se declaran con la palabra Const. Ejemplo: Const numero = 53 En la línea anterior he creado una constante, que la llamé numero y va a almacenar un número , y este valor, cuando se ejecute mi programa se mantendrá invariable. Un ejemplo: 1 - En la siguiente línea se declaran 2 tipos de variables de tipo Integer llamadas num1 y num2. Luego se les asigna un valor a cada una y luego las sumamos, y mediante la función MsgBox que es una función de Visual Basic para mostrar mensajes, mostramos el resultado de esa suma. Coloca un botón (CommandButton) llamado Command1. Hacé dobleClick sobre el botón para que se abra la ventana de código de Visual Basic. Dentro del procedimiento Click pega este código: Dim num1 As Integer Dim num2 As Integer num1 = 10 num2 = 20 'se mostrará un mensaje con la suma de las variables con el resultado 30 MsgBox num1 + num2 Al ejecutar el programa, podés ver como se presenta una caja de mensaje con el resultado al sumar las 2 variables num1 y num2 2 - Ahora vamos a declarar y crear 2 variables de tipo String, es decir vamos a almacenar cadenas de caracteres en cada una de ellas. En el ejemplo se crean 2 variables, una llamadanombre y otra apellido. Después le asignamos un valor, y por ultimo mostramos las variables con un mensaje usando la función MsgBox como en el ejemplo anterior. Pero antes hay que aclarar algo importante, las cadenas en visual basic se encierran entre comillas dobles como podés ver en el ejemplo, de lo contrario se va a producir un error. Dim nombre As String Dim apellido As String 'le nombre = "Carlos" apellido = "Peres" 'mostramos un MsgBox nombre MsgBox apellido establecemos mensaje con el valores valor de las variables 3 - Ahora un ejemplo que produce un error en tiempo de ejecución. Creamos 2 variables exactamente igual que en el ejemplo anterior, pero en ves de declarar las variables nombre y apellido como de tipo String lo hacemos como de tipo Integer. Dim Nombre As Integer Dim Apellido As Integer 'Le establecemos Nombre = "Carlos" Apellido = "Peres" valores numericos Si probás el ejemplo, visual basic te mostrará un mensaje de error como el siguiente: "no coinciden los tipos de datos": ...ya que las variables están declaradas como de tipo Integer, y le estás asignando un tipo de dato que no lo acepta. 4 - Un ejemplo que almacena un número en una variable de tipo Byte (números de 0 a 255). Primero declaramos la variable y le damos un nombre, por ejemplo si queremos almacenar el número 88 hacemos por ejemplo así. Dim Edad As Byte Para asignarle un valor a esa variable: Edad = 88 Para mostrar el valor de la variable Edad en un control TextBox cuando presionamos un botón Command1, sería de esta manera: Private Sub Command1_Click() 'Declaramos Dim Edad As Byte 'Le asignamos Edad = 88 'Lo un mostramos valor en que la no el sea variable inferior control a 0 ni mayor llamado a 255 Text1 Text1 = Edad End Sub Si probaras cambiando el valor 88 por ejemplo a 300, ocurriría lo mismo que en el ejemplo anterior, es decir un Error 13 en tiempo de ejecución "No coinciden los tipos de datos" 5 - Estructuras de control: Las estructuras de control se utilizan para controlar el flujo del programa en una rutina o función. Mediante ellas podemos controlar, mediante una condición, que se ejecute una determinada línea o bloque de líneas de código .. o que no se ejecuten. Estructura If - Then - Else Esta estructura permite mediante una condición, que se ejecute o no se ejecute determinada tarea o línea de código. Por ejemplo supongamos que tenemos en un formulario un control Label con la propiedad Caption con el valor 50 If msgbox else msgbox end if Label1.Caption "mi label "mi label = tiene NO tiene "50" valor un un valor de de Then 50" 50" Esto traducido al español significaría lo siguiente: Si (If) la propiedad caption del label1 que tengo en el formulario es igual (=) a "50" entonces (Then) que muestre un determinado mensaje, si no (Else) que muestre el otro mensaje. En conclusión lo que hace esta estructura es evaluar una condición, si se cumple, que se ejecute determinada tarea. si no se cumple, se ejecutará las líneas de código que estén bajo la cláusula Else. Luego tenemos que cerrar la estructura con la palabra end if. Tenemos que aclarar que no es obligatorio usar If y else juntos en la misma cláusula. Por ejemplo podríamos utilizar solo una estructura If sin else. Por ejemplo: Private Sub Command1_Click() 'Si la propiedad caption del Label1 es "Hola" entonces se termina el programa If Label1.Caption = "Hola" Then End End 'Si If no, se prosigue con esta línea MsgBox "No se ejecutó el bloque If Anterior porque el Caption del control Label1 no era Hola" End Sub Coloca un Label1 y un Command1. En la propiedad caption del Label1 escribe "Hola". Al ejecutar el programa y presionar el Command1, se termina el programa con la sentencia End de Visual Basic (End sirve para finalizar completamente la ejecución de nuestro programa). En cambio si ahora le cambia el caption al Label1 y volvés a ejecutar el proyecto, podés ver que la instrucción End no se ejecuta, si no que la pasa por alto y sigue con las restantes líneas, en este caso ejecuta la función MsgBox con el mensaje. Estructura While - Wend Esta estructura de control repetirá sin detenerse un determinado código mientras se cumpla una condición. Por ejemplo supongamos que tenemos una variable llamada x que tiene un valor de 100. while ...se wend ejecutan todas x las líneas de = código que estén 100 aquí Esto traducido al español significaría lo siguiente: Mientras (While) la variable x sea igual a 100, y no cambie su valor, se formará un bucle interminable, hasta que x cambie a cualquier otro valor disto de 100. Si x cambia el valor, por ejemplo a 234 saldría del bucle While - wend y seguiría ejecutando el resto del código, si es que hay mas código o instrucciones a ejecutar. Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando ejecutemos el ejemplo, se deberá escribir un número dentro del control textBox. Entonces se creará un bucle While, que mostrará en el Caption del formulario, es decir en la barra de título, el intervalo desde 0 hasta el número que hayamos ingresado en el Text1. Es decir si ingresamos el número 9000, en el caption del formulario se imprimirán los número desde 0 hasta 9000. Para hacer esto, dentro del bucle While pondremos una variable llamada Contador, que en cada pasada se incrementará en 1, pero cuando la variable Contador sea igual al número que haya en el Text1, se finalizará el bucle y se mostrará un mensaje que finalizó el mismo Private Dim contador As While contador 'Mostramos Me.Caption en el 'Incrementamos contador Sub Integer formulario 'Declaramos Command1_Click() la variable <> el valor de la Text1 variable = la = variable contador en + contador contador 1 1 Wend MsgBox End Sub Estructura For - next "Terminó el bucle" La estructura es utilizada para generar una repetición de instrucciones o bucle, pero no evalúa una condición como en el caso del bucle While, si no que lo hace entre un número inicial y un número final que le debemos indicar al mismo. Por ejemplo, tenemos un formulario con un Label1 y declaramos una variable de tipo integer llamada "contador" como en el caso anterior Private Sub Command1_Click() Dim contador As Integer For contador = 0 To 1000 Label1.Caption = contador Next contador End Sub Esto traducido significaría lo siguiente: Primero, tenemos una variable llamada "contador". Mediante el bucle For next podemos controlar la cantidad de veces que queremos repetir un determinado proceso o instrucción. Esta posee un principio y un fin, en este caso el principio sería 0 y el fin 1000, de manera que la variable contador se incrementará en 1 hasta que llegue a 1000, y repetirá 1000 veces todas las instrucciones que estén bajo la cláusula For-next. En este caso nuestro control Label1 mostraría el contenido de la variable contador Para ver en forma detallada y paso a paso esto, pongamos un ejemplo que lo que hace es repetir 10 veces (desde el 1 hasta el 10 en el intervalo del bucle For) y mostrará un mensaje con el valor de la variable Contador. Una ves que llegue a 10, terminará. Colocá un Command1. Doble Click en el botón para escribir dentro del procedimiento que se ejecutará cuando lo presionemos. El código: Dim contador For MsgBox Next As contador = 1 "La Contador vale: variable Integer To " & 10 contador contador MsgBox "Fin del bucle For" Estructura Select case La estructura Select Case se suele utilizar para evitar el uso de muchas cláusulas If y de esta manera no tener que anidarlas. La claúsula Select evalúa una condición y las cláusulascase contienen valores, si el valor que contiene la cláusula case es igual a la condición que se evaluó, ejecutará las instrucciones en dicha cláusula. Dim Nombre As Nombre String = Select Text1 Case Nombre Case "Jorge" MsgBox "Se ejecutó la cláusula case: " & Nombre "Pedro" MsgBox "Se ejecutó la cláusula case: " & Nombre Case Case "Carolina" MsgBox "Se ejecutó la cláusula case: " & Nombre End Select Esta estructura es muy práctica. En el ejemplo anterior, la cláusula Select case contiene como condición el valor de la variable llamada Nombre. Esa Variable toma el valor que tenga un control Text1, entonces buscará en todas las cláusulas case, y si encuentra una igual a la condición, ejecutará solo las instrucciones de la cláusula case que tenga el mismo valor, por ejemplo si ingresara el nombre "Martín" no se ejecutará ninguna cláusula Case. En cambio si ingreso "Jorge" se ejecutará solo las instrucciones que estén en la sección Case "Jorge" y asi... En el caso anterior solo hemos colocado un valor para cada Case. Si quisieramos colocar mas valores podríamos hacerlo de esta forma: Private Sub Dim x Form_Load() x = As 10 'Le ponemos Select Case MsgBox 'Se un Integer valor a Case "Se ejecutó el ejecuta Case 'Esto Case 'Esto End case 5, que x tiene esta 15, no se 25, x el 5 y 10 el 10" sección 20 ejecuta 30 tampoco Select End Sub es decir que podemos listar los valores en los Case separados por comas. En el caso anterior se ejecutará el case 5, 10 ya que la variable x vale 10 6 - Operadores de Visual basic Los operadores nos permiten operar, validar, comparar, asignar, distinguir, etc.., los datos e instrucciones de código de nuestros programas. A continuación los operadores mas importantes. Operadores aritméticos Estos operadores nos permiten trabajar con cálculos matemáticos como la suma (+), resta (-), división (/) y multiplicación (*). Ejemplos: a = 5 b = 15 c = a + b ' en este caso la variable c contendría el valor 20 ganancia = 500 perdida = 200 total = ganancia - perdida 'la variable total pasaría a valer 300 x = 100 y = 20 z = x / y ' La Variable z vale 5 x = 100 y = 20 z = x * y ' La Variable z vale 2000 Operadores lógicos Se utilizan en expresiones para devolver resultados del tipo True o False, es decir Verdadero o falso. Los mas comunes son el operador And y el operador Or Ejemplos: If (x = 10) And (nombre = "maría") Then 'solo se ejecutará el código dentro de este bloque IF si la variable 'x vale 10 y la variable nombre es igual a maría End If If (m = 10) Or (nombre = "pedro") Then 'el código se ejecutará si por lo menos una variable es correcta 'es decir si por lo menos se cumple una condición End If Operadores de comparación Los operadores de comparación se utilizan para comparar expresiones de cualquier tipo. Los mas importantes son: El operador de igualdad (=), menor que (<), mayor que (>),distinto a(<>) Ejemplos: If label1.Caption = "06/08/1978" Then 'si 'se el control ejecutará label1 el en su caption contiene esa código que este fecha aquí End If if x > 6 then 'si la variable x es mayor que 6 se ejecutará el código que este aquí end if If país <> "Estados unidos" Then 'si la variable país es distinta a "Estados unidos" se ejecutará el código End If While c <= 87 'mientras 'el la variable c sea menor bucle o igual a 87 se ejecutará While Wend Por último quedaría por ver el operador de concatenación (&) que se utiliza para unir cadenas de caracteres. Por ejemplo: nombre = "Jose" apellido = "Peralta" nombrecompleto = nombre & apellido 'La variable nombrecompleto pasaría a contener la unión de las otras dos variables 'es decir Jose Peralta Nota: hay muchos mas operadores en Visual Basic, estos son los básicos