You are on page 1of 25

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of.

420 Tlfo: 2421063 AMBATO ECUADOR

VISUAL C++
TERCERO BACHILLERATO INFORMTICA

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

INTRODUCCION
La solucin de problemas mediante el uso de un computador nos lleva a desarrollar programas o aplicaciones, la construccin de estos programas debe ser realizada mediante una metodologa, los pasos para la construccin de programas son: Disear el algoritmo, consiste en analizar el problema y describir los instrucciones de forma ordenada que resuelven el problema. Codificar de forma sistemtica la secuencia de instrucciones en un lenguaje. Ejecutar y validar el programa en un computador (verificacin) Para codificar de forma sistemtica un algoritmo se necesita de un lenguaje programacin que la computadora comprenda.

OBJETIVOS Facilitar la realizacin de tareas complejas en poco tiempo y a los que estn comenzando a programar un lenguaje este lenguaje de programacin. Visual ven como son capaces de realizar pequeos programas al poco tiempo de haber comenzado a estudiar

INDICE
-2

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

CAPITULO I.4
Funciones de Cadena Str Val Left Right

CAPITULO II8
Funciones con Nmeros Operadores Aritmticos Operadores Lgicos Funciones con Fechas Funcin Format Matrices

CAPITULO III18
Procedimientos Identificadores Variables Constantes

BASIC DE VISUAL BASIC -3

CAPITULO I VISUAL BASIC

(2)

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

Funciones de cadenas Se denomina CADENA a una sucesin de caracteres. Una cadena puede tener uno o varios caracteres alfanumricos. Una cadena es tambin una sucesin de nmeros. Ejemplo de cadenas: Curso de Visual Basic abcdefghijklmnopqrstuvwxyz1234567890 123456789 Hagamos una distincin entre una cadena que contenga nmeros y un nmero. Un nmero tiene un valor, pero tambin tiene una presentacin escrita. El valor es algo que estar en el ordenador como una sucesin de bits. Dependiendo de como lo hayamos declarado, tendr ms o menos bits. Pero esa informacin no es un nmero legible por el usuario. Lo que s es legible por el usuario es la representacin en numeracin decimal (u octal, o hexadecimal, o incluso en binario) de ese nmero. Esa representacin del nmero en un determinado sistema de numeracin es una cadena. As, el nmero nueve, que en la memoria del ordenador ser una sucesin de bits, el ordenador puede presentrnoslo como: 9 9 11 1001 En numeracin decimal En numeracin hexadecimal En numeracin octal En numeracin binaria

Esas formas de presentarnos el nmero son CADENAS de caracteres. El valor del nmero dentro del ordenador es un NUMERO. Para presentar un nmero en la pantalla, el ordenador debe convertirlo previamente a una cadena. Cuando introducimos un valor numrico por teclado o pantalla, el ordenador para hacer operaciones con l, debe transformarlo a un nmero. Estas consideraciones nos llevan a las dos primeras funciones con cadenas: Str (nmero) Convierte un nmero a una cadena en numeracin decimal. Obtiene el valor (el nmero) correspondiente a esa cadena.

Val

(cadena numrica )

Ejemplos -4

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Variablenumerica = Val (TextBox1.Text) Este ejemplo convierte la cadena de caracteres (numricos) que hubiese en la caja de texto TextBox1 en un nmero, y asocia este nmero a la variable Variablenumerica. Si el contenido de la caja de textos no fuesen caracteres numrico (abcd, por ejemplo), Variablenumerica tomara el valor 0.

Label1.Caption = Str (Variablenumerica) Este ejemplo pondra en la etiqueta Label1 los caracteres correspondientes al valor que tuviese la variable Variablenumerica . Puede tambin transformar a una cadena de caracteres el valor de un CheckBox o de un OptionButton. En estos casos devuelve 0 y 1 para el CheckBox (Desactivado / Activado) y Verdadero Falso para el OptionButton (Activado / Desactivado) label1.Caption = CStr(booleana) Label1.Caption = Verdadero si booleana es true Label1.Caption = Falso si booleana es False Label2.Caption = 1 Label2.Caption = 0 si Check1 est activado si Check1 est desactivado

Label2 = CStr(Check1.Value)

Label3 = CStr(Option1.Value)

Label3.Caption = Verdadero si Check1 est activado Label3.Caption = Falso si Check1 est desactivado

Si se aplica Cstr a una variable tipo Fecha/Hora devuelve la fecha / Hora en formato corto. Mas funciones de cadena: Left (cadena, n) Extrae los n primeros caracteres de una cadena, comenzando por la izquierda. Si cadena = Curso de Visual Basic Resultado = Left (cadena, 10) Right (cadena, n) (Para todos los ejemplos) ----> Resultado = Curso de V

Extrae lo n ltimos caracteres de la cadena ----> Resultado = sual Basic

Resultado = Right (cadena, 10) Mid (cadena, m, n)

Extrae n caracteres de la cadena, siendo el primer carcter extrado el que ocupa el lugar m.

(Vea Instruccin Mid mas abajo)

Resultado = Mid (cadena, 3, 10)

----> -5

Resultado = rso de Vis

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

LCase (cadena)

Devuelve otra cadena igual, pero con todos los caracteres en minsculas. (LCase = Lower Case) ----> Resultado = curso de visual basic

Resultado = Lcase (cadena)

UCase (cadena)

Devuelve otra cadena igual, pero con todos los caracteres en maysculas. (UCase = Upper Case) ----> Resultado = CURSO DE VISUAL BASIC

Resultado = UCase (cadena)

Len (cadena)

Devuelve la longitud de la cadena ----> Resultado = 21

Resultado = Len (cadena) LenB (Cadena)

Devuelve el nmero de Bytes empleados para almacenar la cadena. Sorprndase, es el doble que Len (Cadena) Devuelve una cadena de n caracteres como el indicado ----> ----> ----> Resultado = aaaaaaaa Resultado = AAAAAAAA Resultado = AAAAAAAA

String (n, carcter)

Resultado = String (8, "a") Resultado = String (8, Chr(65)) Resultado = String (8, 65) Space (n)

Devuelve una cadena formada por n espacios. ----> Resultado = A B

Resultado = "A" + Space (6)+ "B"

LTrim

Elimina los posibles espacios que tenga una cadena por su izquierda. Elimina los posibles espacios que tenga una cadena por su derecha. Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios centrales de la cadena)

Rtrim

Trim

Estas tres funciones se emplean para quitar los posibles espacios que pueden resultar de una entrada de datos. Tienen especial importancia cuando se toman los datos de un archivo o base de datos, donde fueron introducidos por otro programa. No se pone ningn ejemplo de estas funciones, pues sera difcil verlo impreso. -6

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el nmero de orden dentro de cadena donde se encuentra la primera letra de cadena1 Resultado = InStr (cadena, "sua") ----> Resultado = 12

StrConv

Convierte una cadena de caracteres en otra, segn las instrucciones que le sigan. Puede sustituir a UCase o LCase si la instruccin es UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en maysculas, si la instruccin es ProperCase. ----> Resultado = CURSO DE VISUAL BASIC ----> Resultado = curso de visual basic ----> Resultado = Curso De Visual Basic

Resultado = StrConv (cadena, UpperCase)

Resultado = StrConv (cadena, LowerCase)

Resultado = StrConv (cadena, ProperCase) Instruccin Mid

Mid puede usarse tambin para cambiar el contenido de una cadena. Observe la sutileza entre Mid como Funcin de cadena y Mid como Instruccin. La Instruccin Mid reemplaza un nmero especificado de caracteres en una variable de cadena con caracteres de otra cadena. Sintaxis Mid(cadena1, inicio[, longitud]) = cadena2 Resultado Mid (cadena, 7,2)=Sobre ACTIVIDAD I: 1. 2. 3. 4. 5. A que llamamos Funciones de Cadenas? Ponga tres funciones con cadena Hable sobre la funcin Left Que convierte la funcin StrConv Que es la Instruccin Mid ---- > Resultado = Curso sobre Visual Basic

CAPITULO II
-7

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
FUNCIONES CON NUMEROS Visual Basic puede operar con nmeros tal como lo hara cualquier persona. Conoce las 4 reglas, y puede utilizar parntesis de la misma forma que los escribimos sobre el papel. Los operadores que utiliza para las operaciones bsicas son: + * / \ Mod ^ Suma Resta Multiplicacin Divisin Divisin sin decimales Resto de una divisin Eleva a un exponente

Ejemplos Resultado = Resultado = Resultado = Resultado = Resultado = Resultado = Resultado = 12 + 15 15 - 12 15 * 12 15 / 12 15 \ 12 15 Mod 12 12 ^ 2 ----> ----> ----> ----> ----> ----> ----> ----> Resultado = 27 Resultado = 3 Resultado = 180 Resultado = 1.25 Resultado = 1 resultado = 3 Resultado = 144 Resultado = 36

resultado = ( ( 4 * 3 ) / 2 ) ^ 2

Estos operadores se denominan Operadores aritmticos. Existen otras operaciones que se pueden realizar con nmeros: comparaciones. Los operadores que realizan comparaciones se denominan Operadores relacionales. El resultado de las operaciones realizadas con estos operadores solamente admiten dos resultados: True (Cierto) o False (Falso) Estos operadores son: = <> < <= > => Igual que No igual que Mayor que Mayor o igual que Menor que Igual o menor que

Estos operadores se suelen utilizar en estructuras de programa donde se tome una decisin. El operador = puede usarse tambin para comparar cadenas o fechas.

Operadores Lgicos

-8

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Estos operadores slo tienen sentido cuando hablemos de variables Booleanas, es decir, aquellas que solamente pueden tomar los valores cero y uno. Operador And Or Xor FuncinDevuelve True si Funcin AND Funcin OR Funcin XOR Devuelve False si Cualquier otro caso A=False y B=False A=True y B=True A=False y B=False A=True y B=False A=False y B=True A=True y B=False

A=True y B=True A=True o B=True A=True y B=False A=False y B=True

Eqv

F. Equivalente A=True y B=True A=False y B=False Implicacin A=True y B=True A=False y B=True A=False y B=False A=False A=True

Imp

Not Like

Negacin Igualdad

A=True A=False

Otras Funciones con nmeros CInt Abs Sgn Sqr Exp Log Trigonomtricas Sin Seno Devuelve el valor del seno de un ngulo (Expresado en radianes) Devuelve el coseno de un ngulo (En radianes) Devuelve la tangente de un ngulo Devuelve un arco cuya tangente sea el nmero (Angulo en radianes) -9 Parte entera Devuelve la parte entera de un nmero con decimales

Valor Absoluto Devuelve el valor absoluto de un nmero Signo Devuelve el signo de un nmero

Raz cuadrada Devuelve la raz cuadrada de un nmero Exponenciacin Devuelve el nmero elevado al exponente indicado Logaritmo Devuelve el logaritmo natural de ese nmero

Cos Tan Atn

Coseno Tangente Arco Tang.

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

Una funcin curiosa Timer Tiempo acumulado Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche.

Generacin de nmeros aleatorios Randomize (Numero) Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd. NOTA MUY IMPORTANTE.- Los nmeros aleatorios generados de esta forma son siempre iguales, eso s, dependiendo del nmero que se le introduzca como parmetro. Esta generacin de nmeros no produce nmeros aleatorios pues como se dijo, dependen del nmero que se meta como parmetro, y si este se repite, se repite la sucesin de nmeros que nos crea el generador aleatorio. La forma de obtener nmeros realmente aleatorios es introducir como parmetro un nmero que sea variable con el tiempo. Ese nmero no puede ser otro que el nmero timer visto antes. Y siempre con la precaucin de que medie mas de un segundo entre dos instrucciones Randomize. La funcin toma entonces la forma: Randomize Timer La funcin Randomize devuelve una variable Rnd con un nmero comprendido entre 0 y 1 (Nunca ser 0 ni 1) Leyendo el valor de la variable sucesivas veces, se puede obtener una sucesin de nmeros aleatorios. No es necesario ejecutar la instruccin Randomize Timer cada vez que se quiera obtener un dato de la variable Rnd. Un ejemplo. Generador de nmeros para la Lotera Primitiva Supongamos que tenemos un formulario con una etiqueta de nombre Label1, un botn de comando de nombre Command1. Cuando hagamos click sobre el botn de comando deber generar un nmero comprendido entre el 1 y el 49. En el procedimiento click de Command1 pondremos el siguiente cdigo: Private Sub Command1.click Randomize Timer A = Rnd A = Rnd * 100 A = CInt(A) Do While A > 49 A = A - 49 Loop Do While A < 1 A = A + 49 Loop - 10

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Label1.caption = A End Sub Realice este pequeo programa, con la instruccin Randomize Timer y sin ella.

Funciones con fechas. Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la informacin relativa a la fecha y la hora. Dispone para ello de una declaracin de variable: Date. Una variable declarada como date puede contener una fecha, una fecha y una hora o una hora solamente. Date Time Now WeekDay Day Month Year Hour Minute Second DateAdd DateDiff DatePart DateSerial TimeSerial DateValue Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador. Devuelve la hora actual. Devuelve la fecha y hora actual. Devuelve el da de la semana (En nmero, 1=Domingo, 2=Lunes,...) Obtiene el da, a partir de una fecha Obtiene el mes a partir de una fecha. Obtiene el ao a partir de una fecha. Obtiene la hora a partir de una hora Obtiene el minuto a partir de una hora. Obtiene el segundo a partir de una hora. Aade un intervalo de tiempo a una fecha Obtiene el intervalo de tiempo entre dos fechas Devuelve una parte de una fecha (semana, trimestre, etc.) Compone una fecha a partir de parmetros relativos Compone una hora a partir de parmetros relativos. Devuelve una fecha a partir de un dato que se le parezca y VB pueda obtener de l una fecha vlida

Mediante estas instrucciones podemos obtener el dato necesario de una fecha u hora. Por ejemplo, para obtener el da de hoy solamente: Da = Day (Now) Da ser un nmero

El da de la semana lo obtendramos Diasemana = WeekDay (Now) Diasemana ser un nmero

DateValue, una instruccin que le sacar mucho provecho Fecha = DateValue (120796) Fecha = DateValue (12 07 96)

Fecha =12/07/96

Funcin FORMAT
Esta funcin permite presentar cadenas de numricas o fechas de una determinada forma. Permite establecer el Formato de esa cadena. - 11

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Si recurre a la ayuda de VB acerca de esta funcin se va a enterar muy poco de lo que puede dar de s. La sintaxis que presenta es : Format(expresin[, formato[, primerdadesemana[, primerasemanadelao]]]) Lo mejor que puede hacer con esta definicin de la sintaxis de Format es olvidarla. No le aclara mucho lo que se puede hacer con Format. La funcin Format se usa para poner una fecha en un determinado formato. Con la expresin : FechadeHoy = Format (Now, yyyy-mm-dd) la variable FechadeHoy tendr el valor 1998-05-21, que se refiere al da 21 de mayo de 1998, segn el formato recomendado por la norma ISO-8601 para la presentacin de fechas. Si hubisemos puesto la expresin FechadeHoy = Format (Now, dd/mm/yy) , la variable FechadeHoy contendra el valor 21/05/98 referido al da citado. Las posibilidades de Format llegan tambin al campo de las cadenas numricas. Por ejemplo la cifra 123456 se transformar en las siguientes expresiones, segn como empleemos la funcin Format Variable = Format(123456, "Currency") Variable = Format(123456, "Standard") Variable = 123.456 Pts Variable = 123.456,00

Veamos ahora con un poco mas de conocimiento la sintaxis de Format Variable = Format (expresin[, formato[, firstdayofweek[, firstweekofyear]]]) Donde expresin es una cadena o fecha vlida formato es uno de los formatos predefinidos (Standard, Currency, etc. Vea mas abajo) firstdayofweek. Especifica el primer da de la semana. Puede tomar uno de estos valores o constantes : Constante vbUseSystem VbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday Valor 0 1 2 3 4 5 6 7 Descripcin El especificado en el sistema operativo. Domingo (valor por defecto) Lunes Martes Mircoles Jueves Viernes Sbado

firstweekofyear Especifica cual es la primera semana del ao. Puede tomar uno de los siguientes valores o constantes :

- 12

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Constante vbUseSystem vbFirstJan1 vbFirstFourDays vbFirstFullWeek Valor 0 1 2 3 Descripcin Usa el valor del sistema operativo La primera semana es la que contiene al da 1 de Enero(Valor por defecto La primera semana es la que contiene al menos, 4 das de ese ao (Rec. ISO - 8601) La primera semana es la que tiene todos sus das en ese ao

No se complique la vida con el tema del primer da de la semana ni la primera semana del ao. No lo usar con frecuencia. Centrmonos mas en el parmetro Formato. Puede tomar muchos valores. Veamos los principales. Primero para nmeros Observe que usamos la expresin Variable =Format (1234567,Formato) para todos los ejemplos de nmeros. Para poner los nmeros separados por millares : Variable = Format(1234567, "##,###,###") Variable = 1.234.567

(Cada carcter # indica que ah va un nmero. El separador debe ser una coma, no un punto, aunque esto depende del idioma que est usando) Puede poner una de estas expresiones, eso si, siempre entre comillas dobles : General Number Currency Fixed Standard Percent Scientific . Para fechas Muestra el nmero tal como lo tecle En formato de la moneda de su sistema operativo Sin separador de millar y dos decimales (1234567,00) Con separador de millares y dos decimales (1.234.567,00) Multiplica el nmero por cien y lo presenta cono porcentaje(123456700,00%) Usa notacin cientfica (1,23E+06)

(Observe que usamos el ejemplo Format(Now, Formato) y Now = 21/07/98 a las 22:16:00 y pico) 21/07/98 22:16:00 martes 21 de julio de 1998 21-jul-98 21/07/98 1998-05-21 98-07-21 22:19:53 10:20 PM 22:20 22 :21 :29 22 :21

General Date Long Date Medium Date Short Date yyyy-mm-dd yy-mm-dd Long Time Medium Time Short Time hh :mm :ss hh :mm

- 13

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Format dispone de mas opciones. Sera muy largo explicarlas aqu. Para mas informacin, en la WEB de Microsoft puede encontrar mas formatos posibles. MATRICES __________

Cuando utilizamos varias variables que tienen un significado similar para nosotros, pero que son distintas (Por ejemplo, el nombre de los alumnos de una clase) podemos utilizar una matriz. Esta matriz est formada por tantos elementos como alumnos tenga la clase. El nombre asociado a cada uno de los elementos de la matriz puede ser: Alumno (n) Donde n es el nmero por orden de lista de ese alumno.

Las matrices normalmente comienzan a numerar por el nmero 0. Este comienzo puede no ser el mas apropiado para la variable que estamos planteando, pues ningn alumno tiene el nmero de orden 0. Para hacer que una matriz comience a numerar por el 1 se debe definir mediante la instruccin: Option Base 1 que debe colocarse al comienzo del mdulo o formulario donde declaremos la matriz. Para declarar la matriz se hace como con todas las variables, especificando entre parntesis el nmero de elementos que componen la matriz: Dim Alumno (25) as String Hemos declarado que la variable alumno es una cadena, y que hay 25 elementos en esa matriz. Una matriz tambin se puede declarar de la siguiente forma : Dim Alumno(1 To 25) as String Donde le decimos que la variable Alumno tiene 25 elementos, que el primero tiene el ndice 1 y el ltimo tiene el ndice 25. Pero imaginemos que queremos meter en la misma matriz el nombre, primer apellido y segundo apellido del alumno. Necesitaremos declarar una matriz de 25 por 3. Como todos los elementos sern cadenas de caracteres, podemos declararla de la siguiente forma: Dim Alumno (1 To 25, 1 To 3) As String De esta forma, el primer apellido del alumno que ocupa el puesto nmero 15 de la clase, ser el elemento: Alumno (15, 2) Podemos definir matrices de dimensin superior a dos. Podemos llegar a un mximo de 60 - 14

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
dimensiones. Una matriz de 5 dimensiones se declarara: Dim Variable ( 1 To N, 1 To M, 1 To P, 1 To Q, 1 To R) entendiendo que hay N, M, P, Q y R elementos en cada una de las dimensiones respectivamente. Una variable ya declarada como una matriz puede redimensionarse a lo largo del programa mediante la instruccin ReDim ReDim Alumno (1To 25) Mediante esta instruccin, estamos ReDimensionando una matriz ya declarada. No se puede redimensionar una matriz inexistente. Mediante la declaracin 1 To 25 le estamos diciendo que el primer elemento de la matriz es el 1, independientemente de lo que hayamos puesto en OPTION BASE. Si se redimensiona simplemente con el nmero de elementos : ReDim (25) le estamos diciendo que tiene 25 elementos, pero que el primero sea el 0 el 1 depende de haber puesto OPTION BASE 0 u OPTION BASE 1. Una matriz puede redimensionarse cuantas veces se quiera a lo largo de la aplicacin, pero esa redimensin no puede afectar al nmero de dimensiones de la matriz. Si redimensionamos la matriz perder la informacin existente. Para evitar perder la informacin presente en la matriz, debe utilizar la sentencia ReDim Preserve. Si usa la palabra clave Preserve en matrices de dimensin superior a 1, va a encontrarse con comportamientos no esperados. Como podr ver en la Ayuda de VB, usando ReDim Preserve slo puede cambiar el tamao de la ltima dimensin de matriz y no puede modificar en ningn momento el nmero de dimensiones. NO es cierto del todo. S lo podr hacer una sola vez. Respecto a cambiar el nmero de dimensiones, si ha declarado la matriz con unas dimensiones determinadas, ya no podr cambiar las dimensiones ni con ReDim ni con ReDim Preserve. Le saldr un error que dice que las dimensiones de la matriz ya han sido declaradas. Pero si ha declarado la matriz sin dimensiones : Dim MiMatriz() puede cambiar las dimensiones Dim MiMatriz (1 To 5, 1 To 9) y volver a cambiarlas Dim MiMatriz (1 To 8, 1 To 15, 1 To 6) Observe que no solamente la hemos cambiado dos veces de dimensiones (la primera a 2 y la segunda a 3), sino que tambin hemos cambiado el nmero de elementos en cada dimensin. Si hubisemos utilizado ReDim Preserve solamente podramos haber usado la primera de las dos lneas anteriores : - 15

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
ReDim Preserve MiMatriz (1 To 5, 1 To 9) pero ya no podramos volver a cambiar el nmero de dimensiones con la segunda lnea. Nos dara un error. Con ReDim podemos cambiar el nmero de elementos de cada dimensin cuantas veces queramos. Por ejemplo, podemos redimensionar MiMatriz de las siguiente forma : ReDim MiMatriz (1 To 5, 1 To 9) ReDim MiMatriz (1 To 15, 1 To 20) ReDim MiMatriz (1 To 25, 1 To 30) ........................... Si hubisemos empleado ReDim Preserve, podramos cambiar los elementos de todas las dimensiones de la matriz una vez : ReDim Preserve (1 To 5, 1 To 9) a partir de ahora, solamente podemos cambiar los elementos de la ltima dimensin : ReDim Preserve (1 To 5, 1 To 20) ReDim Preserve (1 To 5, 1 To 30) es decir, no podremos hacer esto : ReDim Preserve (1 To 10, 1 To 30) donde se seala en negrita el error.

Esto no causa ningn error en una matriz de una dimensin, ya que si la matriz tiene slo una dimensin, puede cambiar el tamao de esa dimensin porque es la nica y la ltima. Cuando a lo largo de la aplicacin se va redimensionando una matriz, podemos llegar la circunstancia de que, en un momento determinado, no sepamos las dimensiones de esa matriz. Para conocer el ndice mximo y mnimo de una matriz se usan las funciones UBound y LBound . UBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz. Sintaxis UBound (nombredelamatriz[, dimensin])

LBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz. Sintaxis LBound (nombredelamatriz[, dimensin])

Ejemplo Tengamos una matriz llamada Mimatriz, de tres dimensiones. En un momento de la aplicacin se ejecut la siguiente instruccin vlida :

- 16

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
ReDim Mimatriz (1 To 100, 0 To 3, 5 To 20) En otro momento queremos tener el control de los ndices de esa matriz, y queremos averiguar el ndice menor y mayor de cada una de sus dimensiones : (IID1= Indice Inferior Dimensin 1, ISD 1 = Indice Superior Dimensin 1, etc. ) IID 1= LBound (Mimatriz, 1) ISD1 = UBound (Mimatriz, 1) IID 2= LBound (Mimatriz, 2) ISD2 = UBound (Mimatriz, 2) IID 1= LBound (Mimatriz, 3) ISD1 = UBound (Mimatriz, 3) IID1 = 1 ISD1 = 100 IID1 = 0 ISD1 = 3 IID1 = 5 ISD1 = 20

ACTIVIDAD II 1. Conteste con Verdadero o Falso y porque. En la funciones con nmeros se utilizan parntesis ( ). 2. Ponga un ejemplo de variable numrica 3. Escriba sobre las funciones con nmeros 4. Ponga un ejemplo de funciones con nmeros Operadores Aritmticos 5. Escriba sobre los Operadores Lgicos 6. Indique con las Operaciones Trigonomtricas 7. Escriba sobre las Funciones con fechas 8. Qu son las Matrices?

- 17

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

CAPITULO III
VISUAL BASIC
Tras esta pequea introduccin al lenguaje Basic ya estamos en disposicin de encender el ordenador y comenzar a trabajar con Visual-Basic. Se supone que su PC tiene instalado el programa Visual basic, bien en su versin de 16 bits si dispone de Windows 3.xx o la de 32 bits si dispone ce Win95 Windows NT. Entre en el programa VB. Le aparecer en pantalla algo similar a esto : (Para VB Vers. 4)

Este es el comienzo del programa. Observe que en esta pantalla existen varias cosas. En la parte superior, la barra de ttulo del programa Visual Basic, con el texto : Proyect1 - Microsoft Visual Basic (Diseo) Por debajo de esta barra de Ttulo del VB, encontramos la barra de men de VB, con las leyendas: Archivo Edicin Ver Insertar Ejecutar Herramientas Complementos Ayuda Por debajo de esta barra de men tenemos la barra de herramientas, donde podr ver varios iconos, que cada uno representa un determinada operacin que Vd. puede realizar. Estas operaciones est todas en la lnea de men, y puede acceder a ellas abriendo los mens desplegables que existen en cada una de las palabrea Archivo Edicin Ver ...... de esta lnea de men. El hecho de colocar las operaciones mas usuales en un icono en la barra de herramientas se hace para mayor comodidad del usuario. A la izquierda de la pantalla tiene una caja rectangular con tres columnas de iconos. Esa caja es la Caja de Herramientas (No la confunda con la barra de herramientas de la parte superior) Esta caja de herramientas es, salvando las distancias, lo mismo que una caja de herramientas real que pueda tener un mecnico para realizar su trabajo. En ella estn los iconos que representan a los controles con los que Vd. va a desarrollar su aplicacin VB. No estn todos - 18

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
los que pueden estar, al igual que en una caja de herramientas de un mecnico no estn todas las herramientas que puede usar. Estn solamente las mas usuales. Si necesita alguna mas, puede cogerla de otra parte (barra de Men, Herramientas, Controles personalizados) y agregarlos a esa caja de herramientas, al igual que lo hara un mecnico con una herramienta especial, que la metera en su caja slo cuando va a realizar un trabajo determinado para el que la necesite. Posiblemente esta caja de herramientas no le aparezca tal y como la ve en estos apuntes. Eso depende si Ud. tiene la versin personal o la profesional, o si usa la versin de 16 32 bits. Esa caja de herramientas puede personalizarla a su gusto. Para ello, deber cargar un proyecto ya existente en los discos de distribucin de Visual Basic, llamado AUTO32LD.VBP (versin 32 bits) AUTO16LD.VBP (Versin 16 bits) que se encontrar en el directorio donde haya cargado el programa Visual Basic. Este proyecto no tiene otra funcin que determinar las herramientas con las que quiere abrir el VB. Para introducir herramientas nuevas en la caja de herramientas, basta con desplegar el men Herramientas de la barra de men, e ir a Controles personalizados. Haciendo click en esta lnea de controles personalizados, podemos seleccionar nuevos controles para aadir a la caja de herramientas, marcando la casilla que est a la izquierda del nombre del control que quiere introducir. Una vez seleccionados todos los nuevos controles, haga click en ACEPTAR, y podr observar que esos nuevos controles ya se le han aadido a la caja de herramientas. Para que esos nuevos controles le aparezcan de entrada cuando inicia una sesin de VB, debe salir de Visual basic guardando los cambios. Vuelva a entrar y observar que ya le aparecen esos nuevos controles en la caja. No es prudente meter muchos controles en la caja. Ponga solamente los que necesite normalmente en sus aplicaciones. Ocupar menos memoria y tardar menos tiempo en cargar el programa VB. Adems, cuando realice una aplicacin y la distribuya una vez compilada, Visual Basic entregar en los disquetes de distribucin las DLLs u OCXs correspondientes a todos los controles personalizados que Vd. tenga en la caja de herramientas, los necesite el programa o no los necesite. Esto le va a suponer que est cargando subprogramas intiles en el ordenador destino de su aplicacin. A la hora de compilar el programa (Crear archivo .EXE) quite todos los controles personalizados que no necesite su aplicacin. (Slo los controles personalizados. Los controles comunes - CommandButton, Label, TextBox, etc.-, no se pueden eliminar de la caja de herramientas) Para quitar controles de su caja de herramientas, debe proceder de forma anloga, cargando el programa AUTOxxLD.VBP, abriendo men de herramientas, Controles personalizados, quitando la marca al cuadro situado en la parte izquierda del control a eliminar, y guardando el proyecto al salir. En el centro, y ocupando casi toda la pantalla, tenemos el Formulario . Este Formulario es la interface grfica de su aplicacin, sobre el que podr aadir los controles que necesite. Lo veremos mas adelante con todo detalle. Observa dos ventanas, una denominada Ventana de Propiedades, donde puede ver las propiedades del formulario, Form1, y otra, denominada Ventana de Proyecto . Existe otra ventana, que no est en la figura anterior, la Ventana de Depuracin . Por cada formulario y cada control que introduzca en el proyecto, le aparecer otra ventana, denominada ventana de cdigo. - 19

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
No se extrae que esta presentacin grfica del Visual Basic coincida con otros sistemas de desarrollo (Delphi, p.e.). La lgica de desarrollo de una aplicacin en Windows ha llevado a varios fabricantes de software a utilizar un entorno grfico similar (diramos idntico). A Visual basic le queda el orgullo de ser el primero en utilizarlo. Con lo descrito anteriormente ya tenemos, al menos, fijado el argot con el que expresarnos para comenzar a estudiar el VISUAL BASIC. Veamos con un poco mas detalle la Ventana de Cdigo .

Esta figura le muestra un Formulario con su ventana de cdigo. Cada objeto grfico de VB tiene su propia ventana de cdigo. As, si en este formulario hubisemos introducido un Label y dos CommandButton, todos ellos tendran su propia ventana de cdigo. La ventana de cdigo la podemos ver haciendo doble click sobre cualquier objeto de nuestro proyecto. En este caso hemos hecho doble click sobre el nico objeto que tenamos : el formulario. Observe las dos cajas de la parte superior, uno con la inscripcin Objeto : que en el momento que le sacamos la foto tena Form, y el otro con la inscripcin Proc : (procedimiento), que en el momento de la foto tena Load. A estas cajas les denominamos Lista de Objetos y Lista de Procedimientos respectivamente. Haciendo click sobre la flecha de cada lista, se despliega un men, en la lista de objetos se desplegar una lista con los nombres de cada objeto existente en ese momento dentro del formulario. Haciendo click sobre uno de los nombres, nos presentar la ventana de cdigo de ese objeto. Todos los objetos grficos (controles) existentes dentro de un formulario y el propio formulario aparecern en la misma lista de objetos. Haciendo click sobre la flecha de la lista de procedimientos, se despliega la lista con todos los procedimientos posibles para ese objeto. Siempre saldr uno. Si tenemos escrito cdigo en uno de los procedimientos, saldr por defecto ese procedimiento para el cual hemos escrito el cdigo. Si no hay cdigo en ninguno de los procedimientos, saldr el que tenga por defecto cada objeto. Solamente nos queda por decir, para cerrar este captulo, que es un procedimiento. Para ello vamos a explicar lo que es un evento. Un Evento es algo que le puede ocurrir a un - 20

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
objeto. En una internase grfica, lo que le puede ocurrir a un objeto es que se le haga click, doble click, que se pase el cursor del ratn por encima, etc. Este es el Evento. El Procedimiento es la respuesta por parte de ese objeto, al evento que le est sucediendo. Esa respuesta, esa forma de Proceder del objeto al evento que le est sucediendo, debemos programarla segn nuestras necesidades, es decir, debemos escribir el cdigo que necesite nuestra aplicacin como respuesta al evento que acaba de ocurrir. Posiblemente, no queramos ninguna respuesta a muchos de los eventos que pueden acaecer a un objeto. Cada objeto tiene muchos eventos y solamente queremos aprovechar los que nos interesan. Para que un evento no produzca ningn efecto, basta con dejar sin cdigo el procedimiento correspondiente a ese evento. En los eventos que queramos que realice alguna operacin, le escribiremos en su procedimiento el cdigo necesario para que esa operacin se realice. Sin darnos cuenta, hemos comenzado a escribir el cdigo de la aplicacin. Observar que el primer elemento del men desplegable de la lista de objetos se denomina General. Este no es en realidad ningn objeto, sino un apartado existente en cada formulario, que, al desplegar su lista de procedimientos tiene la seccin de declaraciones, donde debemos declarar las variables que queremos que afecten a todo el formulario y sus controles, y tendr adems, los nombres de todos los procedimientos que introduzcamos (vase un poco mas adelante). En este men desplegable de la lista de procedimientos del General ver con frecuencia cosas que Vd. no puso all. Cosas tales como Command1_click, y en la ventana un determinado cdigo. Esto ocurre cuando se borra algn control que tena escrito cdigo en alguno de sus procedimientos. Visual Basic sabe lo mucho que cuesta escribir el cdigo asociado a un control. Si borramos un control de nuestro formulario accidentalmente, despus de haber introducido todo el cdigo asociado a l, Visual Basic nos sorprende con que ese cdigo no lo tira inmediatamente, sino que lo reserva como un procedimiento en ese apartado General del formulario. Si en realidad queramos borrar el control y todo su cdigo, debemos quitarlo de ese apartado General de nuestro formulario, pues en realidad, si no lo queremos, no har otra cosa que estorbar. Para quitarlo basta con borrar todo el cdigo que aparece en la ventana de cdigo cuando hacemos click sobre el nombre del control eliminado. Deberemos borrar todo el cdigo, incluida la cabecera donde figura el nombre del control eliminado, y la parte final, que siempre termina con EndSub . El primer estorbo lo observar si crea otro control con el mismo nombre, cosa fcil ya que VB da un nombre por defecto a cada control (Command1, Command2....). El cdigo asociado al control eliminado pasar automticamente al nuevo control con el mismo nombre. Escribiendo el cdigo en los sucesivos procedimientos, bien en los propios de cada objeto, bien en los procedimientos que vayamos creando, es posible completar la aplicacin. Pero en una aplicacin larga esta forma de escribir el cdigo no sera la mas adecuada. Es mas, posiblemente sera demasiado engorroso escribirla de esta forma, y muy probablemente deberamos escribir el mismo cdigo para varios procedimientos, lo que alargara intilmente el programa y el tiempo de desarrollo. Para disponer de un sitio donde escribir parte (o la mayor parte) de su programa, puede introducir uno o varios mdulos. Expliquemos lo que es un mdulo. Un Mdulo es una parte del programa donde solamente puede escribir cdigo. Es igual que un formulario, sin interface grfica. Un profesor de Visual Basic lo expresaba diciendo que un - 21

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
Mdulo es un Formulario sin cara. En un mdulo pueden existir procedimientos al igual que en los formularios, pero como un mdulo no tiene interface grfica, esos procedimientos debe introducirlos el programador tal y como explicamos un poco mas atrs. El mdulo tiene su propia ventana de cdigo, al igual que un formulario, con un objeto nico, el apartado General. Aqu tambin tenemos la seccin de declaraciones, al igual que los formularios. En esta seccin de declaraciones se comporta de manera similar a la de los formularios, pero permite algo que no nos permite la seccin de declaraciones de un formulario : Declarar variables que se pueden utilizar en todo el programa. Esto ya lo ha visto mas atrs, con las sentencia de declaracin Global y Public. Los mdulos se emplean para la declaracin de variables globales, y para escribir el cdigo de la aplicacin que sea comn a varios formularios. Esto nos evita tener que repetir cdigo intilmente. Ese cdigo comn se escribir en un procedimiento que previamente habremos insertado en este mdulo, y lo citaremos por su nombre desde cualquier parte del programa. Cual es el nombre de un procedimiento existente dentro de un mdulo ? Depende. Si estamos ejecutando cdigo escrito en otro procedimiento dentro del mismo mdulo, es decir, si estamos dentro de ese mismo mdulo, basta con citarlo por su nombre : p.e., si en el MduloA tenemos un procedimiento llamado Procedimiento1, y queremos llamarle desde una lnea de cdigo dentro de ese mismo mdulo, basta con referirse a l con : Procedimiento1 Si la lnea de cdigo donde nos vamos a referir a l est fuera de MduloA, deberemos referirnos a ese procedimiento con : MduloA.Procedimiento1 Lo mismo podemos decir para cualquier procedimiento insertado en un formulario. Desde dentro del formulario basta con referirse a l citndolo por su nombre. Desde fuera de ese formulario deberemos citarle como : Formulariox.Procedimientoy donde damos por hecho que Formulariox es el nombre del formulario que lo contiene, y Procedimientoy es el nombre del procedimiento. Fjese en el punto usado como separador entre el nombre del formulario y el nombre del procedimiento. VB usa como separador un punto. Usa el separador para separar el nombre de un control y una de sus propiedades (Label1.Caption), para separar el nombre del formulario del nombre de uno de sus controles (Formulario1.label1.caption) Se ir familiarizando con la terminologa VB segn vayamos avanzando en el curso. Funciones Al igual que introducimos Procedimientos, podemos introducir Funciones en nuestra aplicacin. Una Funcin es un Procedimiento al que le pasamos uno o varios parmetros. (O Ninguno) Ver los Procedimientos y funciones mas adelante . Al igual que los Procedimientos, pueden ser pblicas (se vern en toda la aplicacin) o privadas (se vern solamente en el - 22

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
formulario donde estn. Main Merece la pena pararse un poco para estudiar el Procedimiento Main. Para verlo con mas detalle, comentaremos como comienza a trabajar una aplicacin realizada en Visual Basic. Imaginemos una aplicacin que tiene 3 Formularios. En cada uno de ellos tiene cdigo. Logicamente la aplicacin tendr que presentar uno de ellos en primer lugar. Deberemos decirle a Visual Basic cual es el formulario inicial, y ser ese por el que empiece. En ese formulario dispondremos el cdigo necesario para que la aplicacin se ejecute en el orden deseado. Si hacemos click en la Barra de Men de Visual Basic, en Herramientas | Opciones obtendremos el siguiente cuadro de dilogo :

Ver que tiene 4 pestaas, y actualmente tiene abierta la pestaa correspondiente a Proyecto, y tiene desplegada una lista donde nos pide el Formulario Inicial. En esa lista figura tambin la expresin Sub Main. Si ponemos como formulario inicial uno de los formularios, la aplicacin comenzar por ese formulario. Si en uno de los Mdulos existentes en el proyecto, ponemos un procedimiento llamado Main, podemos comenzar la ejecucin de la aplicacin justamente por ese procedimiento. En ese procedimiento pondremos el cdigo necesario para que, posteriormente, se muestre uno de los formularios. Esto es muy practico cuando queremos hacer una funcin previa a mostrar cualquier formulario (abrir una base de datos, por ejemplo). Para comenzar la aplicacin por Main se elige esa opcin en la lista Formulario Inicial. Recuerde que Main debe estar en un Mdulo ! El cuadro de dilogo anterior sirve adems para otras cosas. Entre ellas poner el nombre del proyecto (nombre que no aparecer por ninguna parte, solo en los datos internos de la aplicacin) y su descripcin. En otra pestaa podemos configurar varias prestaciones del entorno de trabajo : Guardar la aplicacin antes de ejecutar . Esta prestacin nos va a evitar muchos disgustos. Es muy prctico guardar la aplicacin antes de ejecutarla, pues de esta forma evitamos que, si nuestra aplicacin tiene un error tal que hagamos colgarse a Windows, siempre tendremos la aplicacin metida en el disco duro. Pero tambin es una pequea pesadez tener que esperar a que se guarde cada vez que la ejecutamos. Si tenemos la activada la casilla Declaracin de variables requerida nos pondr automticamente Option Explicit en el encabezamiento de todas las secciones de - 23

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR
declaraciones de la aplicacin. Podemos elegir tambin las ventanas que queremos que estn siempre visibles, y que verifique automticamente la sintaxis de una instruccin en el momento de escribirla.

La pestaa de Editor nos permite fundamentalmente 2 cosas : Ver solamente el cdigo correspondiente al procedimiento que estamos escribiendo Ver el cdigo del Mdulo (o Formulario) completo. En este ltimo caso es un poco mas difcil de manejar la ventana de cdigo, sobre todo si el programador no est muy habituado a ello. Le presenta procedimiento tras procedimiento, separados por una lnea. Para seleccionar una u otra opcin hay que seleccionar o deseleccionar la casilla Ver mdulo completo. Cambiar el color de la letra y del fondo del cdigo, segn el tipo que sea (cdigo, comentario, error devuelto, etc.). Los alumnos mas aventajados y con ganas de marear al profesor y, lo que es peor, a sus compaeros, conocen la forma de poner como invisible una parte del texto del cdigo. Si observa comportamientos raros en el texto donde escribe el cdigo, revise el cuadro de Colores de Cdigo . ACTIVIDADES 1. 2. 3. 4. Escriba sobre Visual Basic Escriba sobre el Formulario x. Procedimiento y Escriba sobre las funciones Explique porque es necesario Guardar la aplicacin antes de ejecutar BIBLIOGRAFIA:

- 24

Av. Cevallos y Mariano Egez C.C. Teofilo Lpez 4to Piso Of. 420 Tlfo: 2421063 AMBATO ECUADOR

JOYANES, L. (2008). Fundamentos de la programacin. Algoritmos y Estructura de Datos, 4 Edicin. Madrid: McGraw-Hill. http://www.tagu.com.ar/135_Programaci%C3%B3n http://es.wikipedia.org/wiki/Lenguaje_de_programacin

- 25

You might also like