Ventanas Eventos y mensajes Ventanas Es una regin

  • Slides: 56
Download presentation
Ventanas, Eventos y mensajes • Ventanas: Es una región rectangular con sus propios límites.

Ventanas, Eventos y mensajes • Ventanas: Es una región rectangular con sus propios límites. Cualquier icono, cuadro de texto, etiqueta etc son ventanas. Cada ventana está identificada por medio del h. Wnd. • Evento: Cualquier signo de actividad que se produzca en una ventana. Puede ser provocado por el usuario o por programa. • Mensaje: es la forma por la que se notifica al S. O. que ha ocurrido un evento, para que este lo procese y lo transmita a las ventanas. Las ventanas al recibir el mensaje realizan alguna acción de acuerdo con las instrucciones asociadas al evento. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Introducción al Visual Basic • Diferencias a nivel de programación entre la programación clásica,

Introducción al Visual Basic • Diferencias a nivel de programación entre la programación clásica, orientada a objetos y la programación visual (orientada a eventos). – Clásica. Estructura el código de forma secuencial y modular. - Orientada a Objetos. Se definen clases, se crean e usan objetos de distintas clases y éstos poseen los métodos y las propiedades que permiten tratar la información. Los objetos también son capaces de recibir eventos. – Programación Visual. Es el híbrido entre la programación tradicional y la orientada a eventos. Este es el caso del Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Fases de creación de un programa en Visual Basic • Crea la interfaz de

Fases de creación de un programa en Visual Basic • Crea la interfaz de usuario. Mecanismo o vía de comunicación hombre-máquina. • Definen las propiedades de los controles. Determina la ergonomía y la estética de la aplicación. • Genera el código asociado a los eventos. • Genera el código del programa: módulos con funciones y/o procedimientos genéricos no asociados a controles. • Se pueden crear clases de objetos que proporcionen acceso a los datos y/o tratamientos. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Anatomía de una interfaz Windows Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Anatomía de una interfaz Windows Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Elementos de la interface de aplicación: • • Las ventanas. Formularios. Menús textuales. Barra

Elementos de la interface de aplicación: • • Las ventanas. Formularios. Menús textuales. Barra de botones. Barra de estado. Menús emergentes. Controles. Objetos gráficos. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Controles básicos Picture. Box. Label Text. Box Frame Command. Botton. Check. Box Option. Box

Controles básicos Picture. Box. Label Text. Box Frame Command. Botton. Check. Box Option. Box Combo. Box List. Box. Scroll Visual Basic. El Lenguaje. Timer Drive. List. Box Dir. List. Box File. List. Box Image Data. . Miguel Ángel Manso Callejo

Control y Objeto – Un control es una herramienta que se utiliza para crear

Control y Objeto – Un control es una herramienta que se utiliza para crear objetos dentro de un formulario (ventana) de Visual Basic. Podrá seleccionar los controles contenidos en el cuadro de herramientas y utilizarlos para dibujar objetos en un formulario utilizando, simplemente, el ratón. – Objeto es el nombre que reciben los elementos de la interfaz de usuario. Podrá moverlos, modificar su tamaño y adaptarles a sus gustos personales, para lo cual utilizará las propiedades. Los objetos proporcionan funcionalidades que son inherentes al tipo de control u objeto: saben cómo tienen que funcionar y pueden responder a ciertas situaciones de forma <<natural>>. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Propiedad, procedimiento de suceso • Una propiedad es un valor o una característica que

Propiedad, procedimiento de suceso • Una propiedad es un valor o una característica que pertenece a un objeto de Visual Basic. Son propiedades el rótulo asociado a una etiqueta (Caption) o el color del primer plano (fore. Color) de un texto. • Un procedimiento de evento es un bloque de código que se ejecutará cuando desde el programa se haga referencia a él o cuando se active un determinado objeto. Por ejemplo, cuando el usuario pulse con el ratón el botón de orden en un programa, se pondrá en marcha el procedimiento de evento denominado Command 1_Click. Los procedimientos de evento evalúan las condiciones y, según éstas, definen las propiedades y utilizan otras sentencias del programa para llevar a cabo la tarea asignada al programa. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Sentencia y Variable • Una sentencia o instrucción de un programa es una palabra

Sentencia y Variable • Una sentencia o instrucción de un programa es una palabra clave de código que lleva a cabo una determinada tarea. Las sentencias de Visual Basic, entre otras importantes tareas, pueden: crear espacio de almacenamiento para los datos, abrir archivos, realizar cálculos, etc. • Una variable es un <<contenedor>> especial utilizado para almacenar datos de forma temporal durante la ejecución de un programa. El programador crea variables para almacenar los resultados del cálculo, crear nombres de archivos, procesar la entrada de datos, etc. En general, una variable puede almacenar números, nombres, valores de propiedades y algunos otros tipos de datos. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Método y Función • Un método es una sentencia especial que lleva a cabo

Método y Función • Un método es una sentencia especial que lleva a cabo una acción o servicio para un objeto particular dentro de un programa. La sintaxis que deberá utilizar para invocar un método dentro de un programa es la siguiente: Objeto. metodo (valores o parámetros) • Una función es una sentencia que realiza una determinada tarea y después devuelve un resultado al programa. El valor devuelto por la función puede asignarse a una variable o bien puede asignarse a una propiedad, a otras sentencia o como dato de entrada de otras funciones. Las funciones de Visual Basic utilizan, a menudo, uno o más argumentos para definir su actividad. Cuando una función utilice dos o más argumentos, dichos argumentos se separarán por comas y el grupo completo de argumentos se encerrará entre paréntesis. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

El Lenguaje Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

El Lenguaje Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Conceptos básicos. • Reglas de codificación: – División de una instrucción en varias líneas.

Conceptos básicos. • Reglas de codificación: – División de una instrucción en varias líneas. ( _ ) – Combinar varias instrucciones en una línea. ( : ) – Agregar comentarios al código. ( ‘ ) • Sistemas de numeración: – Decimal. – Hexadecimal. ( &H ) – Octal. ( &O ) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Convenios de nomenclatura de variables. • Comenzar por letra. Longitud menor de 256 caracteres.

Convenios de nomenclatura de variables. • Comenzar por letra. Longitud menor de 256 caracteres. • Nombres descriptivos. • Comenzar con mayúscula. • No utilizar nombres claves como nombre de variables. • Comenzar con abreviatura del tipo de la variable. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Tipos de Datos predefinidos Booleana Byte Integer Long Single Doble Currency String Date Objet

Tipos de Datos predefinidos Booleana Byte Integer Long Single Doble Currency String Date Objet Variant (2) (1) (2) (4) (8) (*) (8) (4) (**) % & ! # @ $ Admite los valores 0 y 1, o True y False Números enteros, en el rango de 0 a 255 Enteros en el rango de -32768 a 32767 Enteros de -2147483648 a 2147483647 Punto flotante, simple precisión Punto flotante, doble precisión. Entero punto decimal fijo (Típico de monedas) Cadenas alfanuméricas Fechas Referencia a objetos Otros tipos de datos Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Declaraciones de variables y constantes Tipos de declaraciones de variables Dim: Private: Public: Global:

Declaraciones de variables y constantes Tipos de declaraciones de variables Dim: Private: Public: Global: Static: • Constantes: – Const • Error en la declaración de variables: – Dim var 1, var 2, . . . , var. N As Integer Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Funciones de conversión de tipos de datos: Cbool Cbyte Ccur Cdate CDbl Cint CLng

Funciones de conversión de tipos de datos: Cbool Cbyte Ccur Cdate CDbl Cint CLng CStr Cvar CVErr Visual Basic. El Lenguaje. Boolean Byte Currency Date Bouble Integer Long Single String Variant Error Miguel Ángel Manso Callejo

Operadores aritméticos: + * /  Mod ^ Suma Resta Multiplicación División sin decimales

Operadores aritméticos: + * / Mod ^ Suma Resta Multiplicación División sin decimales Resto de una división Eleva a un exponente Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Operadores Lógicos And Or Xor Función AND Función OR Función XOR Eqv F. Equivalente

Operadores Lógicos And Or Xor Función AND Función OR Función XOR Eqv F. Equivalente Implicación Not Like Negación Igualdad Visual Basic. El Lenguaje. A=True y B=True A=True o B=True A=True y B=False A=False y B=True A=True y B=True A=False y B=False A=True 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 A=False Miguel Ángel Manso Callejo

Funciones matemáticas. Cint Abs Sgn Sqr Exp Log Sin Cos Tan Atn Timer Devuelve

Funciones matemáticas. Cint Abs Sgn Sqr Exp Log Sin Cos Tan Atn Timer Devuelve la parte entera de un número con decimales Devuelve el valor absoluto de un número Devuelve el signo de un número Devuelve la raíz cuadrada de un número Devuelve el número elevado al exponente indicado Devuelve el logaritmo natural de ese número Devuelve el valor del seno de un ángulo Devuelve el coseno de un ángulo Devuelve la tangente de un ángulo Devuelve un arco cuya tangente sea el número Devuelve el tiempo (sg) que ha pasado desde las 12 de la noche. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Funciones Derivadas Secante Cosecante Cotangente Seno -1 Coseno -1 Secante -1 Cosecante -1 Cotangente

Funciones Derivadas Secante Cosecante Cotangente Seno -1 Coseno -1 Secante -1 Cosecante -1 Cotangente -1 Sec(X) = 1 / Cos(X) Cosec(X) = 1 / Sin(X) Cotan(X) = 1 / Tan(X) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Arcsec(X) = Atn(X / Sqr(X * X – 1)) + Sgn((X) – 1) * (2 * Atn(1)) Arccosec(X) = Atn(X / Sqr(X * X – 1)) + (Sgn(X) – 1) * (2 * Atn(1)) Arccotan(X) = Atn(X) + 2 * Atn(1) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Funciones Derivadas Seno hiperbólico Coseno hiperbólico Tangente hiperbólica Secante hiperbólica Cosecante hiperbólica Cotangente hiperbólica

Funciones Derivadas Seno hiperbólico Coseno hiperbólico Tangente hiperbólica Secante hiperbólica Cosecante hiperbólica Cotangente hiperbólica Seno hiperbólico -1 Coseno hiperbólico -1 Tangente hiperbólica -1 Secante hiperbólica -1 Cosecante hiperbólica -1 Cotangente hiperbólica -1 Logaritmo en base N Visual Basic. El Lenguaje. HSin(X) = (Exp(X) – Exp(–X)) / 2 HCos(X) = (Exp(X) + Exp(–X)) / 2 HTan(X) = (Exp(X) – Exp(–X)) / (Exp(X) + Exp(–X)) HSec(X) = 2 / (Exp(X) + Exp(–X)) HCosec(X) = 2 / (Exp(X) – Exp(–X)) HCotan(X) = (Exp(X) + Exp(–X)) / (Exp(X) – Exp(–X)) HArcsin(X) = Log(X + Sqr(X * X + 1)) HArccos(X) = Log(X + Sqr(X * X – 1)) HArctan(X) = Log((1 + X) / (1 – X)) / 2 HArcsec(X) = Log((Sqr(–X * X + 1) / X) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) / X) HArccotan(X) = Log((X + 1) / (X – 1)) / 2 Log. N(X) = Log(X) / Log(N) Miguel Ángel Manso Callejo

Operaciones con fechas Date Time Now Week. Day Month Year Hour Minute Second Date.

Operaciones con fechas Date Time Now Week. Day Month Year Hour Minute Second Date. Add Date. Diff Date. Part Date. Serial Time. Serial Date. Value 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 día de la semana (En número, 1=Domingo, 2=Lunes, . . . ) Obtiene el día, a partir de una fecha Obtiene el mes a partir de una fecha. Obtiene el año 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. Añade 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 parámetros relativos Compone una hora a partir de parámetros relativos. Devuelve una fecha a partir de un dato que se le parezca y VB pueda obtener de él una fecha válida Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Funciones de manejo de cadenas de caracteres. Str() Left(, ) Mid(, , ) Ucase()

Funciones de manejo de cadenas de caracteres. Str() Left(, ) Mid(, , ) Ucase() Len. B() Space() Rtrim() Str. Conv() Visual Basic. El Lenguaje. Val() Rigth(, ) Lcase() Len() String(, ) Ltrim() In. Str(, ) Split() Miguel Ángel Manso Callejo

Sentencias de control Condicionales: If <condición> Then. . End If If <condición> Then. .

Sentencias de control Condicionales: If <condición> Then. . End If If <condición> Then. . Else. . End If Visual Basic. El Lenguaje. If <condición> Then. . . . Elseif <condición> Then. . Else. . End If Select Case var Case 1. . . Case Is ( operador) xx. . Case 2. . . Case xx To xx. . Case N. . Case Else. . End Select Miguel Ángel Manso Callejo

Ejemplo de utilización de las sentencias if else • Determinar si un punto definido

Ejemplo de utilización de las sentencias if else • Determinar si un punto definido por sus coordenadas en el plano (x, y) pertenece a un círculo definido por su centro (xc, yc) y su radio Dim x As Double, y As Double Dim xc As Double, yc As Double, radio As Double Dim Dis. Centro As Double Dis. Centro = sqrt ( (x – xc)^2 + (y –yc)^2) If Dis. Centro <= radio Then msgbox “El punto pertenece al círculo” Else msgbox “El punto no pertenece al círculo” End If Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de utilización condicionales simples • Se trata de calcular el área de un

Ejemplo de utilización condicionales simples • Se trata de calcular el área de un triángulo conocidos sus tres lados. ( fórmula de Heron). Sup = sqr( sp * (sp – a) * (sp – b) * (sp – c)) donde sp = Semiperímetro = (a + b + c)/2 Posible problema: El triángulo no esté definido. Se dará si sp < a ó sp < b ó sp < c Dim a As Double, b As Double, c As Double, sp As Double, sup As Double sp = ( a + b + c ) /2 If sp > a And sp > b And sp > c Then sup = sqr( sp * (sp – a) * (sp – b) * (sp – c)) msgbox “ La superficie del triángulo es “ & sup Else msgbox “ El triángulo no existe” End If Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ej. de utilización de if else con múltiples condiciones • Se pretende determinar si

Ej. de utilización de if else con múltiples condiciones • Se pretende determinar si un punto en el plano pertenece a una región rectangular paralela a los ejes cartesianos. Se conoce las coordenadas del punto y las coordenadas mínimas y máximas de la región en los dos ejes. Dim x As Double, y As Double Dim xmax As Double, xmin As Double, ymax As Double If x >= xmin And x <=xmax And y >= ymin And y <= ymax Then msgbox “El punto pertenece a la región” Else msgbox “El punto no pertenece a la región” End If Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de utilización de If Else anidados • Se trata de mostrar un mensaje

Ejemplo de utilización de If Else anidados • Se trata de mostrar un mensaje indicando a banda del espectro electromagnético pertenece una determinada longitud de onda l expresado en mm Dim l as Single If l < 0. 3 Then msgbox “Pertenece al Ultravioleta” Els. If l < 0. 4 Then msgbox “Pertenece al Azul” Els. If l < 0. 5 Then msgbox “Pertenece al Verde” Els. If l < 0. 6 Then msgbox “Pertenece al Rojo” Else msgbox “Pertenece al Infra. Rojo” End If Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de utilización de Select Case • Se trata de diferenciar una operación matemática

Ejemplo de utilización de Select Case • Se trata de diferenciar una operación matemática en función del contenido de una variable de tipo cadena de caracteres, para simular una calculadora con las funciones + - * / Dim Operando 1 As Double, Operando 2 As Double, Resultado As Double Dim Operación As String Select case (Operación) Case “+” : Resultado = Operando 1 + Operando 2 : break; Case “-” : Resultado = Operando 1 - Operando 2 : break; Case “*” : Resultado = Operando 1 * Operando 2 : break; Case “/” : Resultado = Operando 1 / Operando 2 : break; Case Else : msgbox “La operación no está definida” End Select Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Sentencias de Control Repeticiones: Do While <condición >. . Loop Do . . Loop

Sentencias de Control Repeticiones: Do While <condición >. . Loop Do . . Loop While <condición > While <condición>. . Wend Exit Do Do Until <condición >. . Loop Do . . Loop Until <condición > For Each elemento In grupo. . . Next elemento For <cond inicial > To <cond final > Step. . . . Next. . . Exit For Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplos con las sentencias repetitivas • Algoritmo que genere los número impares entre el

Ejemplos con las sentencias repetitivas • Algoritmo que genere los número impares entre el 1 y el 15, mostrándolo mediante una ventana de mensajes. Dim i As Integer For i = 1 To 15 Step 2 msgbox i Next i Visual Basic. El Lenguaje. Valores de i 1 3 5 7 9 11 13 15 Miguel Ángel Manso Callejo

Ejemplos de sentencias repetitivas. • Calcular la suma de los números 3 al 15.

Ejemplos de sentencias repetitivas. • Calcular la suma de los números 3 al 15. Dim i As Integer Dim Sum As Long ‘ Se inicializa la variable a 0 Sum = 0 For i = 3 To 15 Sum = Sum + i Next i Visual Basic. El Lenguaje. • Calcular el producto de los números 2 al 15. Dim i As Integer Dim Prod As Long ‘ Se inicializa la variable a 1 Prod = 1 For i = 2 To 15 Prod = Prod * i Next i Miguel Ángel Manso Callejo

Ejemplo de utilización de sentencias repetitivas • • Se pretende determinar si un número

Ejemplo de utilización de sentencias repetitivas • • Se pretende determinar si un número es primo o no. Consideraciones prácticas: Un número será primo si no es divisible por los números inferiores a él. Hay que probar si es divisible por 2, 3, . . . Hasta llegar a el propio valor o por el contrario si se puede dividir por uno de estos números inferiores no es primo (es divisible). Se utiliza la operación resto de división entera para saber si es divisible o no. Dim Num As Integer, i As Integer For i = 2 To Num If (Num Mod i) = 0 Then Exit For Next i If i = Num Then msgbox “El número “ & Num & “ es primo” Else msgbox “El número “ & Num & “ no es primo es divisible por “ & i End If Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Medidas repetidas. Valor más probable y Tolerancias. • Se trata de construir el programa

Medidas repetidas. Valor más probable y Tolerancias. • Se trata de construir el programa que determine la medida más probable de modo que se eliminen las medidas que superen el umbral de tolerancias de 2, 5 veces el error cuadrático medio. El proceso se repetirá hasta que todas las medidas estén dentro de este rango. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Matrices • Creación: – Dim matriz( N , M, . . , L )

Matrices • Creación: – Dim matriz( N , M, . . , L ) As tipo • Establecer límites inferior y superior. – Dim matriz( x To y, z to w) As tipo • Conocer límites: – Lbound() , Ubound() • Redimensionar matrices. – Redim matriz( , . . . , ). . . • Redimensionar preservando valores. – Redim preserve matriz ( , . . , ). . . • Definir primer índice de una matriz – Option base {0 | 1 } Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de utilización de matrices numéricas • Se trata de construir un algoritmo que

Ejemplo de utilización de matrices numéricas • Se trata de construir un algoritmo que cree una matriz de números reales, pida los valores mediante la llamada a la función inputbox, y calcule la media de los valores almacenados, y también su varianza. Estos datos deben ser mostrados en pantalla. Dim Num(10) As Double, Media As Double, Varianza As Double Dim i As Integer Media = 0 : Varianza = 0 For i=0 To 10 Num(i) = CDbl(inputbox(“Introduzca el valor “ & i )) Media = Media + Num(i) Next i Media = Media / 10 For i = 0 To 10 Varianza = Varianza + (Media – Num(i))^2) Next i Varianza = Varianza / 10 msgbox “La media = “ & Media & “ y la Varianza = “ & Varianza Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de utilización de matrices bidimensionales con bucles anidados. • Se trata de rellenar

Ejemplo de utilización de matrices bidimensionales con bucles anidados. • Se trata de rellenar una matriz bidimensional de 3 filas * 3 columnas con datos procendentes de teclado. Option Base 1 Dim Mat(3, 3) As Double Dim i As Integer, j As Integer For i = 1 To 3 For j = 1 To 3 Mat(i, j) = CDbl(inputbox “Dato(“ & i & “, ” & j & “) Next j Next i Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo Bucle For (Area de un polígono conocidas las coordenadas de los vértices) •

Ejemplo Bucle For (Area de un polígono conocidas las coordenadas de los vértices) • Si se dispone de las coordenadas de los vértices de un polígono se puede calcular la superficie del mismo con la fórmula de Simpson. • Sean Xi e Yi las coordenadas cartesianas del vértice i-ésimo. • Sup = 0. 5 * Si ( X i+1 – Xi) * (Y i+1 + Yi) • Nota: Téngase en cuenta que el último punto debe cerrar con el primero. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Función Input. Box • La sintaxis de la función es: Input. Box(prompt[, title][, default][,

Función Input. Box • La sintaxis de la función es: Input. Box(prompt[, title][, default][, xpos][, ypos][, helpfile, context]) Retorna el valor textual que el usuario ha suministrador por la caja de texto de la ventana. Se puede convertir al formato adecuado para almacenarlo en la variable correspondiente. Ejemplo: N = Cint(Input. Box("¿Cuantas distancias? ", "Nº observaciones")) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Matrices de controles • Las matrices de controles permiten agrupar los nombres de los

Matrices de controles • Las matrices de controles permiten agrupar los nombres de los elementos de la interfaz gráfica de usuario en forma de matriz para poder gestionarlos más cómodamente en el código. Tiene sentido utilizar las matrices de controles cuando lo que se debe ejecutar como consecuencia de un evento sobre el mismo es similar o se puede adaptar en función del número asociado a la fila del control. • Ejemplo: los números de una calculadora. Se puede crear una matriz de controles de tipo command Boton llamada Num() de forma que el índice sea el valor numérico del botón gráfico. Cuando se produzca el evento click, al ser una matriz de controles se dispondrá de dicho índice y se podrá añadir al display el dígito seleccionado Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Carga/descarga dinámica de controles (en matrices). • Una ventaja adicional a la hora de

Carga/descarga dinámica de controles (en matrices). • Una ventaja adicional a la hora de utilizar matrices de controles es que se puede tener un número variable de ellos cargados y/o visibles. • Cuando se desea cargar un nuevo elemento de la matriz de controles se utiliza la instrucción Load, y para descargarlo la instrucción Unload. • Ejemplo de carga de 10 controles de tipo Text. Box cuyo primer elemento ya está definido. Dim i As Integer For i = 1 To 10 Load Mat. Text. Box(i) Next i Inconveniente: Se crea con las mismas propiedades que el primero existente. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Matrices de controles. Otro ejemplo. • Se trata de construir una calculadora matricial básica

Matrices de controles. Otro ejemplo. • Se trata de construir una calculadora matricial básica con las operaciones + - * y Traspuesta. Se desea que pueda manejar matrices de números compatibles para dichas operaciones, pero que pueda ser variable en cuanto al número de elementos de cada dimensión. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Definición de nuevos tipos de datos • Objetivo: Agrupar bajo un tipo de dato

Definición de nuevos tipos de datos • Objetivo: Agrupar bajo un tipo de dato un conjunto de información que no es homogénea. • Se define el prototipo de registro que contendrá los nombres de los campos y los tipos de los mismos. Type <nombre_tipo > <campo > As <tipo_campo > End Type Declaración de variable Dim Director As Empleado Uso de un campo de la variable Director. Nombre = “Juan Luis” Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo de Tipos de datos definidos por usuario con matrices. • Se pretende mantener

Ejemplo de Tipos de datos definidos por usuario con matrices. • Se pretende mantener en memoria una agenda con las notas de los alumnos de primer curso de Topografía. Se tiene que almacenar el Nombre y los Apellidos del alumno, su Dni y las calificaciones de las 7 asignaturas de primer curso, junto con la calificación media de las mismas. • Se podrá redimensionar la matriz que contiene los datos manteniendo la información de la misma, y según se desplace por la matriz se mostrarán los datos actuales almacenándose los que se estaban mostrando anteriormente. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Convenios para los menús • Títulos cortos. • Asignar tecla de método abreviado. •

Convenios para los menús • Títulos cortos. • Asignar tecla de método abreviado. • Si se trata de interruptor mostrar marca de verificación. • Mostrar (. . ) si hace falta intervención. • Utilizar prefijo mnu e Item. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Funciones y Procedimientos • • Objetivo: Modularidad. Función: Puede retornar resultados. Procedimiento: No retorna

Funciones y Procedimientos • • Objetivo: Modularidad. Función: Puede retornar resultados. Procedimiento: No retorna se usa con Call Función: [Static][Private] Function nombre ([parámetros])[As tipo] [sentencias] [nombre = expresión] [Exit Function]. . End Function • Procedimiento: [Static][Private] Sub nombre ([parámetros]) [sentencias] [Exit Sub]. . End Sub • Parámetros por valor By. Val , por referencia (defecto) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Controles Combo. Box y List. Box • Propiedades y métodos importantes: – – –

Controles Combo. Box y List. Box • Propiedades y métodos importantes: – – – – – Text : Información mostrada como seleccionada. List(n) : Lista de elementos textuales. List. Count : Nº total de elementos de la lista. List. Index: Posición seleccionada. Add. Item: Permite añadir en tiempo de ejecución elementos. Remove. Item: Permite eliminar en tiempo de ejecución elementos. Item. Data: Permite establecer un nº a cada fila de la lista. Evento Click. El más usado. Ejemplo uso: objeto. List(objeto. List. Index) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Control Commond. Dialog • Permite: – Seleccionar nombres de archivos para Abrir y Guardar

Control Commond. Dialog • Permite: – Seleccionar nombres de archivos para Abrir y Guardar información, Seleccionar colores y fuentes de textos así como opciones de impresión y ayuda. • Métodos: – Show. Open, Show. Save, Show. Color, Show. Font, Show. Printer, Show. Help. • Propiedades Ficheros: – Filter, Filter. Index, File. Name y Default. Ext. • Propiedades Color: – Flags y Color. • Propiedades Texto: – Color, Font. Name, Font. Italic, Font. Under. Line, Font. Size. . . • Impresoras: – Copies, From. Page, To. Page, Orientation Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Control Data • Permite: – Realizar una conexión con una base de datos. –

Control Data • Permite: – Realizar una conexión con una base de datos. – Recorrer una tabla seleccionada por medio de Record. Set. Propiedades: Caption. Connect. Database. Name. Read. Only. Recordset. Type. Record. Source: Visual Basic. El Lenguaje. Tipo de BD. Nombre de la BD. Determina los permisos sobre los datos. Selecciona entre Tabla, dynaset. . Establece la tabla de la BD. Miguel Ángel Manso Callejo

Record. Set • Consultar datos. – BOF (principio), EOF (fin), Record. Count y No.

Record. Set • Consultar datos. – BOF (principio), EOF (fin), Record. Count y No. Match. • Modificar registros. – Add. New, Edit, Update, Delete. • Moverse por la base de datos. – Move. First, Move. Next, Move. Previous, Move. Last. • Encontrar datos. – Find. First, Find. Last, Find. Next, Find. Previous. Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Estructura de trabajo en Bases de datos: DBEngine Wor. Spaces() (prop. count, met. Append,

Estructura de trabajo en Bases de datos: DBEngine Wor. Spaces() (prop. count, met. Append, . Delete, . Refresh) Work. Space. Connections() Groups() Users() Data. Bases(). (propiedad. Count, método. Refresh) Database Record. Sets(). -> Recordset. -> Fields Tabledefs(). . Count-> Table. Def. ->Fields, Indexes Relations(). -> Relation. -> Fields Querydefs(). ->Query. Def. -> Parameters, Fields Containers(). -> Container. -> Document Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Work. Space • Métodos: – – – – Close Create. Database Create. Group Create.

Work. Space • Métodos: – – – – Close Create. Database Create. Group Create. User Create. Connection Open. Database Rollback Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Data. Base • Métodos: – – – Close Create. Table. Def Execute New. Password

Data. Base • Métodos: – – – Close Create. Table. Def Execute New. Password Open. Record. Set Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Record. Set • Propiedades: – – – – – EOF Filter Index Name No.

Record. Set • Propiedades: – – – – – EOF Filter Index Name No. Match Record. Count Record. Status Sort Type Visual Basic. El Lenguaje. • Métodos: – – – – Add. New Clone Close Delete Edit Find. First Move Get. Rows Move. First Next. Record. Set Open. Record. Set Seel Update Miguel Ángel Manso Callejo

Creación de una nueva base de datos. • Conectar con un espacio de trabajo

Creación de una nueva base de datos. • Conectar con un espacio de trabajo – Set Ws =DBEngine. Workspaces(0) • Crear base de datos. – Set New. DB = Ws. Create. Database( nombre, lenguaje, , , ) • • • Crear Tabla (objeto Table. Def, método Create. Table. Def) Crear Campos tabla. (Objetos Field, método Create. Field) Asignar campos a tabla. (método Append) Asignar tabla sobre base de datos. (método Append). . Cerrar base de datos. (método Close) Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo

Ejemplo Dim New. Db As Database Dim Ws As Workspace Set Ws = DBEngine.

Ejemplo Dim New. Db As Database Dim Ws As Workspace Set Ws = DBEngine. Workspaces(0) Set New. Db = Ws. Create. Database(Common. Dialog 1. File. Name, db. Lang. General) Dim New. Tb As Table. Def Set New. Tb = New. Db. Create. Table. Def("observaciones") Re. Dim campo(1 To 7) As Field Set campo(1) = New. Tb. Create. Field("Número estación", db. Long) Set campo(2) = New. Tb. Create. Field("Número visado", db. Long). . . Dim i As Byte For i = 1 To 7 New. Tb. Fields. Append campo(i) Next i New. Db. Table. Defs. Append New. Tb New. Db. Close Visual Basic. El Lenguaje. Miguel Ángel Manso Callejo