La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arreglos y comunicación Usuario

Presentaciones similares


Presentación del tema: "Arreglos y comunicación Usuario"— Transcripción de la presentación:

1 Arreglos y comunicación Usuario
Profesor: Rodrigo Cruzat

2 MsgBox Abre una ventana Envía mensaje al usuario y pide respuesta
O.K./Cancel Yes/No. Etc

3 MsgBox respuesta = MsgBox("texto para el usuario“[, tiposBotones, "titulo“]) Dim respuesta As Integer respuesta = MsgBox("Este es un MsgBox",3, "Hola inf2001-X")

4 MsgBox Botón seleccionado por defecto: Sumar a tipoBotones
0 para que sea el primero 256 para el segundo 512 para el tercero Agregar ícono 16 critical 32 question 48 exclamation 64 information} respuesta = MsgBox(“aaa?", , “a")

5 InputBox Pide al usuario que teclee una frase, e.g., su nombre, un título, etc. texto = InputBox("texto para el usuario","titulo", "default", left, top) texto: lo ingresado por el usuario “default” lo que aparece en caja de texto Left, top: coordenadas. (opcional)

6 InputBox Dim respuesta As String
respuesta = InputBox(“Como te llamas?", “Dime tu nombre“, “Aca va el nombre”)

7 Arreglos y Estructuras

8 Ámbito de variables En un solo procedimiento En un solo módulo
Static Retiene su valor cuando el procedimiento termina En un solo módulo Dim antes del primer Sub o Function Todos los procedimientos en todos los módulos Public antes del primer Sub o Function en un módulo

9 Ejemplo

10 Problema

11 Solucion 1 Dim v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 As Integer
For i = 2 To 101 Dim voto As Integer voto = Hoja1.Cells(i, 1) If voto = 1 Then v1 = v1 + 1 ElseIf voto = 2 Then v2 = v2 + 1 ... ElseIf voto = 9 Then v9 = v9 + 1 Else 'voto es 10 v10 = v10 + 1 End If Next i

12 Solucion 1 (Cont) Dim result As String
result = "Candidato 1: " & v1 & ", candidato 2: " & v2 & ", candidato 3:" & v3 & ", candidato 4: " & v4 & ",candidato 5: " & v5 & ", candidato 6:" & v6 & ", candidato 7: " & v7 & ",candidato 8: " & v8 & ", candidato 9:" & v9 & ", candidato 10: " & v10 respuesta = MsgBox(result, 0,"Resultados")

13 Solucion con Arreglos Dim v(10) As Integer For i = 2 To 101
Dim voto As Integer voto = Hoja1.Cells(i, 1) v(voto - 1) = v(voto - 1) + 1 Next Dim result As String For i = 0 To 9 (i r+e s1u)l t& =" :r e"s u&l tv (&i )" C&a n"d i"dato " & respuesta = MsgBox(result, 0, “Resultados”

14 Arreglos Un arreglo, o array, permite referirse a una serie de elementos del mismo tipo con un mismo nombre Si el array es de tipo Variant cada elemento puede contener un dato de tipo diferente, e incluso puede contener otro array.

15 Arreglos Estáticos y Dinámicos
Hay dos tipos de arreglos en VB 1. Arrays estáticos, cuya dimensión es siempre la misma. 2. Arrays dinámicos, cuya dimensión se puede modificar durante la ejecución del programa.

16 Arreglo estático: creación
Dim vector(20) As Double Array de una dimensión con nombre vector 20 elementos, vector(0), vector(1), ... , vector(19) Cada elemento almacena un Double Dim matriz(3, 6) As Integer Array de dos dimensiones con nombre matriz 3x6 elementos, matriz(0,0), ... matriz(2,5), de tipo entero. Dim cadena(1 To 12) As String Array de una dimensión con nombre cadena 12 elementos, caract(1), ... , caract(12), de tipo string

17 Ejemplos: acceso Dim vector(20) As Double Darle un valor a un elemento
Obtener el valor de un elemento Hoja1.Cells(1,1) = vector(20)

18 Arreglos Dinámicos Un array estático tiene tamaño fijo Ejemplo:
Dim vector(20) As Double ¡¡siempre tiene tamaño 20!! El espacio para un array dinámico se asigna durante la ejecución del programa. Un array dinámico, puede ser redimensionado en cualquier momento de laejecución.

19 Arreglos Dinámicos Creación: igual que estático, pero sin darle dimensión Dim vector() As Double Asignar núm de elementos: se usa ReDim. ReDim § puede aparecer solamente en un procedimiento § permite cambiar el número de elementos del array y sus límites inferior y superior, § No permite cambiar el número de dimensiones.

20 Ejemplos Dim Matriz( ) As Integer ... ReDim Matriz(100, 50) Notas
Al ejecutar ReDim, valores almacenados en el array se pierden Para conservar los valores del array, ejecutar ReDim con la palabra clave Preserve. ReDim Preserve A(D1, UBound(A, 2) + 2) incrementa el tamaño del array en dos columnas más. Cuando se utiliza la palabra Preserve no puede cambiarse el índice inferior del array (sí el superior). UBound(Array,dim) : devuelve tamaño de la dimensión dim de la matriz.

21 Estructuras: Sentencia Type
Una estructura es un nuevo tipo de datos, que el usuario define y puede ser manipulado de la misma forma que los tipos predefinidos (Int,Double, String, ...). Una estructura puede definirse como una colección o agrupación de datos de diferentes tipos evidentemente relacionados entre sí. Para crear una estructura hay que utilizar la sentencia Type ... End Type.

22 Ejemplos Public Type Alumno Nombre As String Direccion As String
Telefono As Long ID As Long End Type Este ejemplo declara un tipo de datos denominado Alumno que consta de cuatro miembros o campos, denominados Nombre, Direccion, Telefono y ID.

23 Ejemplos Una vez definido un nuevo tipo de datos, se pueden declarar variables de ese tipo Public Type Alumno Nombre As String Direccion As String Telefono As Long ID As Long End Type Sub Botón1_AlHacerClic() Dim Alum1 As Alumno End Sub Para referirse a un miembro de una estructura se utiliza la notación variable.miembro Alum1.Nombre = “Juanito”

24 Estructuras de Estructuras
Un miembro de una estructura puede ser otra estructura, es decir un tipo definido por el usuario Type Fecha Dia As Integer Mes As Integer Anio As Integer End Type Type Alumno Nacimiento As Fecha Nombre As String Direccion As String Telefono AS Long ID As Long

25 Estructuras, Arreglos y Argumentos
Dentro de una estructura puede haber arrays tanto estáticos como dinámicos. Se pueden definir arrays de estructuras. Dim grupoB (1 To 100) As Alumno Las estructuras pueden ser también argumentos en las llamadas a funciones y procedimientos Sub.Siempre son pasados por referencia; En el caso de las funciones, las estructuras pueden ser también valores de retorno.


Descargar ppt "Arreglos y comunicación Usuario"

Presentaciones similares


Anuncios Google